提交 68c52c4e 编写于 作者: C calin.cerchez

continue rrc

上级 4e518920
//
// Copyright (C) 2012 Calin Cerchez
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 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 Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#include "RRC.h"
//#include "RRCMessage.h"
#include "PerEncoder.h"
#include "LTEUtils.h"
Define_Module(RRC);
RRC::RRC() {
// TODO Auto-generated constructor stub
}
RRC::~RRC() {
// TODO Auto-generated destructor stub
}
void RRC::initialize(int stage) {
using namespace rrc;
ULCCCHMessage ulcchMessage = ULCCCHMessage();
MNC mnc = MNC();
MCC mcc = MCC();
mcc.push_back(new Digit(2));
mcc.push_back(new Digit(6));
mcc.push_back(new Digit(0));
mnc.push_back(new Digit(0));
mnc.push_back(new Digit(2));
PLMNIdentity plmnId = PLMNIdentity();
plmnId.setMcc(mcc);
plmnId.setMnc(mnc);
char lac[2] = {0x5b, 0x10};
LAI lai = LAI();
lai.setPlmnIdentity(plmnId);
lai.setLAILac(LAILac(lac));
TMSIandLAIGSMMAP *tMSIandLAIGSMMAP = new TMSIandLAIGSMMAP();
char tmsi[4] = {0x19, 0x02, 0x2c, 0xba};
tMSIandLAIGSMMAP->setTmsi(TMSIGSMMAP(tmsi));
tMSIandLAIGSMMAP->setLai(lai);
InitialUEIdentity initUeId = InitialUEIdentity();
// std::vector<unsigned char> mcc;
// std::vector<unsigned char> mnc;
// mcc.push_back(2);
// mcc.push_back(6);
// mcc.push_back(0);
// mnc.push_back(0);
// mnc.push_back(2);
// PlmnIdentity plmnId = PlmnIdentity(mcc, mnc);
// Lai lai = Lai(plmnId, lac);
// TmsiAndLaiGsmMap *tmsiAndLaiGsmMap = new TmsiAndLaiGsmMap(tmsi, lai);
// InitialUeIdentity initUeId = InitialUeIdentity();
// initUeId.setValue(tmsiAndLaiGsmMap, tmsiAndLai);
// RRCConnectionRequest *rrcConnReq = new RRCConnectionRequest(initUeId, interRATCellReselection, noError);
// UlCcchMessageType ulCchMessageType = UlCcchMessageType();
// ulCchMessageType.setValue(rrcConnReq, rrcConnectionRequest);
// UlCcchMessage ulCchMessage = UlCcchMessage(ulCchMessageType);
// PerEncoder perEnc = PerEncoder(UNALIGNED);
// perEnc.encodeSequence(ulCchMessage);
// LTEUtils().printBytes(perEnc.getBuffer(), perEnc.getLength());
}
//
// Copyright (C) 2012 Calin Cerchez
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 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 Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#ifndef RRC_H_
#define RRC_H_
#include <omnetpp.h>
#include "RRCClassDefinitions.h"
class RRC : public cSimpleModule {
public:
RRC();
virtual ~RRC();
void initialize(int stage);
};
#endif /* RRC_H_ */
//
// Copyright (C) 2012 Calin Cerchez
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 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 Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
package inet.linklayer.lte.rrc;
simple RRC
{
}
\ No newline at end of file
at the moment only mandatory information elements are inserted in messages (add optional elements too).
\ No newline at end of file
Class-definitions DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
ActiveSetUpdate,
ActiveSetUpdateComplete,
ActiveSetUpdateFailure,
AssistanceDataDelivery,
CellChangeOrderFromUTRAN,
CellChangeOrderFromUTRANFailure,
CellUpdate,
CellUpdateConfirm-CCCH,
CellUpdateConfirm,
CounterCheck,
CounterCheckResponse,
DownlinkDirectTransfer,
ETWSPrimaryNotificationWithSecurity,
HandoverToUTRANComplete,
InitialDirectTransfer,
HandoverFromUTRANCommand-EUTRA,
HandoverFromUTRANCommand-GERANIu,
HandoverFromUTRANCommand-GSM,
HandoverFromUTRANCommand-CDMA2000,
HandoverFromUTRANFailure,
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,
SystemInformation-FACH,
SystemInformationChangeIndication,
TransportChannelReconfiguration,
TransportChannelReconfigurationComplete,
TransportChannelReconfigurationFailure,
TransportFormatCombinationControl,
TransportFormatCombinationControlFailure,
UECapabilityEnquiry,
UECapabilityInformation,
UECapabilityInformationConfirm,
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,
spare3 NULL,
spare2 NULL,
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,
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,
etwsPrimaryNotificationWithSecurity 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,
spare 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 {
systemInformation SystemInformation-FACH,
systemInformationChangeIndication SystemInformationChangeIndication,
spare2 NULL,
spare1 NULL
}
--**************************************************************
--
-- BCCH messages sent on BCH
--
--**************************************************************
BCCH-BCH-Message ::= SEQUENCE {
message SystemInformation-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
\ No newline at end of file
Constant-definitions DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
hiPDSCHidentities INTEGER ::= 64
hiPUSCHidentities INTEGER ::= 64
hiRM INTEGER ::= 256
maxAC INTEGER ::= 16
maxAdditionalMeas INTEGER ::= 4
maxASC INTEGER ::= 8
maxASCmap INTEGER ::= 7
maxASCpersist INTEGER ::= 6
maxCCTrCH INTEGER ::= 8
maxCellMeas INTEGER ::= 32
maxCellMeasOnSecULFreq INTEGER ::= 32
maxCellMeas-1 INTEGER ::= 31
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
maxE-DCHMACdFlow INTEGER ::= 8
maxE-DCHMACdFlow-1 INTEGER ::= 7
maxEUTRACellPerFreq INTEGER ::= 16
maxEUTRATargetFreqs INTEGER ::= 8
maxEDCHRL INTEGER ::= 4
maxEDCHRL-1 INTEGER ::= 3
maxEDCHs INTEGER ::= 32
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
maxFreqBandsFDD INTEGER ::= 8
maxFreqBandsFDD-ext INTEGER ::= 15 -- maxFreqBandsFDD-ext ::= 22 - (maxFreqBandsFDD - 1)
maxFreqBandsTDD INTEGER ::= 4
maxFreqBandsTDD-ext INTEGER ::= 16
maxFreqBandsGSM INTEGER ::= 16
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
maxInterSysMessages INTEGER ::= 4
maxLoCHperRLC INTEGER ::= 2
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
maxMeasIntervals INTEGER ::= 3
maxMeasOccasionPattern INTEGER ::= 5
maxMeasOccasionPattern-1 INTEGER ::= 4
maxMeasParEvent INTEGER ::= 2
maxNumCDMA2000Freqs INTEGER ::= 8
maxNumE-AGCH INTEGER ::= 4
maxNumE-HICH INTEGER ::= 4
maxNumEUTRAFreqs INTEGER ::= 8
maxNumGSMCellGroup INTEGER ::= 16
maxNumGSMFreqRanges INTEGER ::= 32
maxNumFDDFreqs INTEGER ::= 8
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-FPACH INTEGER ::= 8
maxPredefConfig INTEGER ::= 16
maxPrio INTEGER ::= 8
maxPrio-1 INTEGER ::= 7
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
maxReportedGSMCells INTEGER ::= 8
maxRL INTEGER ::= 8
maxRL-1 INTEGER ::= 7
maxRLCPDUsizePerLogChan INTEGER ::= 32
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
maxSIB-FACH INTEGER ::= 8
maxSIBperMsg INTEGER ::= 16
maxSIrequest INTEGER ::= 4
maxSRBsetup INTEGER ::= 8
maxSystemCapability INTEGER ::= 16
maxTDD128Carrier INTEGER ::= 6
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
-- 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
END
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
//
// Copyright (C) 2012 Calin Cerchez
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 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 Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#include "RRCClassDefinitions.h"
namespace rrc {
const void *DLDCCHMessageType::choicesInfo[32] = {
&ActiveSetUpdate::theInfo,
&AssistanceDataDelivery::theInfo,
&CellChangeOrderFromUTRAN::theInfo,
&CellUpdateConfirm::theInfo,
&CounterCheck::theInfo,
&DownlinkDirectTransfer::theInfo,
&HandoverFromUTRANCommandGSM::theInfo,
&HandoverFromUTRANCommandCDMA2000::theInfo,
&MeasurementControl::theInfo,
&PagingType2::theInfo,
&PhysicalChannelReconfiguration::theInfo,
&PhysicalSharedChannelAllocation::theInfo,
&RadioBearerReconfiguration::theInfo,
&RadioBearerRelease::theInfo,
&RadioBearerSetup::theInfo,
&RRCConnectionRelease::theInfo,
&SecurityModeCommand::theInfo,
&SignallingConnectionRelease::theInfo,
&TransportChannelReconfiguration::theInfo,
&TransportFormatCombinationControl::theInfo,
&UECapabilityEnquiry::theInfo,
&UECapabilityInformationConfirm::theInfo,
&UplinkPhysicalChannelControl::theInfo,
&URAUpdateConfirm::theInfo,
&UTRANMobilityInformation::theInfo,
&HandoverFromUTRANCommandGERANIu::theInfo,
&MBMSModifiedServicesInformation::theInfo,
&ETWSPrimaryNotificationWithSecurity::theInfo,
&HandoverFromUTRANCommandEUTRA::theInfo,
&DLDCCHMessageTypeSpare3::theInfo,
&DLDCCHMessageTypeSpare2::theInfo,
&DLDCCHMessageTypeSpare1::theInfo,
};
const DLDCCHMessageType::Info DLDCCHMessageType::theInfo = {
DLDCCHMessageType::create,
CHOICE,
0,
false,
choicesInfo,
31
};
const void *DLDCCHMessage::itemsInfo[2] = {
&IntegrityCheckInfo::theInfo,
&DLDCCHMessageType::theInfo,
};
bool DLDCCHMessage::itemsPres[2] = {
0,
1,
};
const DLDCCHMessage::Info DLDCCHMessage::theInfo = {
DLDCCHMessage::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
2, 1, 0
};
const void *ULDCCHMessageType::choicesInfo[32] = {
&ActiveSetUpdateComplete::theInfo,
&ActiveSetUpdateFailure::theInfo,
&CellChangeOrderFromUTRANFailure::theInfo,
&CounterCheckResponse::theInfo,
&HandoverToUTRANComplete::theInfo,
&InitialDirectTransfer::theInfo,
&HandoverFromUTRANFailure::theInfo,
&MeasurementControlFailure::theInfo,
&MeasurementReport::theInfo,
&PhysicalChannelReconfigurationComplete::theInfo,
&PhysicalChannelReconfigurationFailure::theInfo,
&RadioBearerReconfigurationComplete::theInfo,
&RadioBearerReconfigurationFailure::theInfo,
&RadioBearerReleaseComplete::theInfo,
&RadioBearerReleaseFailure::theInfo,
&RadioBearerSetupComplete::theInfo,
&RadioBearerSetupFailure::theInfo,
&RRCConnectionReleaseComplete::theInfo,
&RRCConnectionSetupComplete::theInfo,
&RRCStatus::theInfo,
&SecurityModeComplete::theInfo,
&SecurityModeFailure::theInfo,
&SignallingConnectionReleaseIndication::theInfo,
&TransportChannelReconfigurationComplete::theInfo,
&TransportChannelReconfigurationFailure::theInfo,
&TransportFormatCombinationControlFailure::theInfo,
&UECapabilityInformation::theInfo,
&UplinkDirectTransfer::theInfo,
&UTRANMobilityInformationConfirm::theInfo,
&UTRANMobilityInformationFailure::theInfo,
&MBMSModificationRequest::theInfo,
&ULDCCHMessageTypeSpare1::theInfo,
};
const ULDCCHMessageType::Info ULDCCHMessageType::theInfo = {
ULDCCHMessageType::create,
CHOICE,
0,
false,
choicesInfo,
31
};
const void *ULDCCHMessage::itemsInfo[2] = {
&IntegrityCheckInfo::theInfo,
&ULDCCHMessageType::theInfo,
};
bool ULDCCHMessage::itemsPres[2] = {
0,
1,
};
const ULDCCHMessage::Info ULDCCHMessage::theInfo = {
ULDCCHMessage::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
2, 1, 0
};
const void *DLCCCHMessageType::choicesInfo[8] = {
&CellUpdateConfirmCCCH::theInfo,
&RRCConnectionReject::theInfo,
&RRCConnectionReleaseCCCH::theInfo,
&RRCConnectionSetup::theInfo,
&URAUpdateConfirmCCCH::theInfo,
&ETWSPrimaryNotificationWithSecurity::theInfo,
&DLCCCHMessageTypeSpare2::theInfo,
&DLCCCHMessageTypeSpare1::theInfo,
};
const DLCCCHMessageType::Info DLCCCHMessageType::theInfo = {
DLCCCHMessageType::create,
CHOICE,
0,
false,
choicesInfo,
7
};
const void *DLCCCHMessage::itemsInfo[2] = {
&IntegrityCheckInfo::theInfo,
&DLCCCHMessageType::theInfo,
};
bool DLCCCHMessage::itemsPres[2] = {
0,
1,
};
const DLCCCHMessage::Info DLCCCHMessage::theInfo = {
DLCCCHMessage::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
2, 1, 0
};
const void *ULCCCHMessageType::choicesInfo[4] = {
&CellUpdate::theInfo,
&RRCConnectionRequest::theInfo,
&URAUpdate::theInfo,
&ULCCCHMessageTypeSpare::theInfo,
};
const ULCCCHMessageType::Info ULCCCHMessageType::theInfo = {
ULCCCHMessageType::create,
CHOICE,
0,
false,
choicesInfo,
3
};
const void *ULCCCHMessage::itemsInfo[2] = {
&IntegrityCheckInfo::theInfo,
&ULCCCHMessageType::theInfo,
};
bool ULCCCHMessage::itemsPres[2] = {
0,
1,
};
const ULCCCHMessage::Info ULCCCHMessage::theInfo = {
ULCCCHMessage::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
2, 1, 0
};
const void *PCCHMessageType::choicesInfo[2] = {
&PagingType1::theInfo,
&PCCHMessageTypeSpare::theInfo,
};
const PCCHMessageType::Info PCCHMessageType::theInfo = {
PCCHMessageType::create,
CHOICE,
0,
false,
choicesInfo,
1
};
const void *PCCHMessage::itemsInfo[1] = {
&PCCHMessageType::theInfo,
};
bool PCCHMessage::itemsPres[1] = {
1,
};
const PCCHMessage::Info PCCHMessage::theInfo = {
PCCHMessage::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
1, 0, 0
};
const void *DLSHCCHMessageType::choicesInfo[2] = {
&PhysicalSharedChannelAllocation::theInfo,
&DLSHCCHMessageTypeSpare::theInfo,
};
const DLSHCCHMessageType::Info DLSHCCHMessageType::theInfo = {
DLSHCCHMessageType::create,
CHOICE,
0,
false,
choicesInfo,
1
};
const void *DLSHCCHMessage::itemsInfo[1] = {
&DLSHCCHMessageType::theInfo,
};
bool DLSHCCHMessage::itemsPres[1] = {
1,
};
const DLSHCCHMessage::Info DLSHCCHMessage::theInfo = {
DLSHCCHMessage::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
1, 0, 0
};
const void *ULSHCCHMessageType::choicesInfo[2] = {
&PUSCHCapacityRequest::theInfo,
&ULSHCCHMessageTypeSpare::theInfo,
};
const ULSHCCHMessageType::Info ULSHCCHMessageType::theInfo = {
ULSHCCHMessageType::create,
CHOICE,
0,
false,
choicesInfo,
1
};
const void *ULSHCCHMessage::itemsInfo[1] = {
&ULSHCCHMessageType::theInfo,
};
bool ULSHCCHMessage::itemsPres[1] = {
1,
};
const ULSHCCHMessage::Info ULSHCCHMessage::theInfo = {
ULSHCCHMessage::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
1, 0, 0
};
const void *BCCHFACHMessageType::choicesInfo[4] = {
&SystemInformationFACH::theInfo,
&SystemInformationChangeIndication::theInfo,
&BCCHFACHMessageTypeSpare2::theInfo,
&BCCHFACHMessageTypeSpare1::theInfo,
};
const BCCHFACHMessageType::Info BCCHFACHMessageType::theInfo = {
BCCHFACHMessageType::create,
CHOICE,
0,
false,
choicesInfo,
3
};
const void *BCCHFACHMessage::itemsInfo[1] = {
&BCCHFACHMessageType::theInfo,
};
bool BCCHFACHMessage::itemsPres[1] = {
1,
};
const BCCHFACHMessage::Info BCCHFACHMessage::theInfo = {
BCCHFACHMessage::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
1, 0, 0
};
const void *BCCHBCHMessage::itemsInfo[1] = {
&SystemInformationBCH::theInfo,
};
bool BCCHBCHMessage::itemsPres[1] = {
1,
};
const BCCHBCHMessage::Info BCCHBCHMessage::theInfo = {
BCCHBCHMessage::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
1, 0, 0
};
const void *MCCHMessageType::choicesInfo[16] = {
&MBMSAccessInformation::theInfo,
&MBMSCommonPTMRBInformation::theInfo,
&MBMSCurrentCellPTMRBInformation::theInfo,
&MBMSGeneralInformation::theInfo,
&MBMSModifiedServicesInformation::theInfo,
&MBMSNeighbouringCellPTMRBInformation::theInfo,
&MBMSUnmodifiedServicesInformation::theInfo,
&MCCHMessageTypeSpare9::theInfo,
&MCCHMessageTypeSpare8::theInfo,
&MCCHMessageTypeSpare7::theInfo,
&MCCHMessageTypeSpare6::theInfo,
&MCCHMessageTypeSpare5::theInfo,
&MCCHMessageTypeSpare4::theInfo,
&MCCHMessageTypeSpare3::theInfo,
&MCCHMessageTypeSpare2::theInfo,
&MCCHMessageTypeSpare1::theInfo,
};
const MCCHMessageType::Info MCCHMessageType::theInfo = {
MCCHMessageType::create,
CHOICE,
0,
false,
choicesInfo,
15
};
const void *MCCHMessage::itemsInfo[1] = {
&MCCHMessageType::theInfo,
};
bool MCCHMessage::itemsPres[1] = {
1,
};
const MCCHMessage::Info MCCHMessage::theInfo = {
MCCHMessage::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
1, 0, 0
};
const void *MSCHMessageType::choicesInfo[4] = {
&MBMSSchedulingInformation::theInfo,
&MSCHMessageTypeSpare3::theInfo,
&MSCHMessageTypeSpare2::theInfo,
&MSCHMessageTypeSpare1::theInfo,
};
const MSCHMessageType::Info MSCHMessageType::theInfo = {
MSCHMessageType::create,
CHOICE,
0,
false,
choicesInfo,
3
};
const void *MSCHMessage::itemsInfo[1] = {
&MSCHMessageType::theInfo,
};
bool MSCHMessage::itemsPres[1] = {
1,
};
const MSCHMessage::Info MSCHMessage::theInfo = {
MSCHMessage::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
1, 0, 0
};
}
//
// Copyright (C) 2012 Calin Cerchez
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 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 Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#ifndef RRCCLASSDEFINITIONS_H_
#define RRCCLASSDEFINITIONS_H_
#include "ASNTypes.h"
#include "RRCPDUDefinitions.h"
#include "RRCInformationElements.h"
namespace rrc {
typedef Null DLDCCHMessageTypeSpare3;
typedef Null DLDCCHMessageTypeSpare2;
typedef Null DLDCCHMessageTypeSpare1;
class DLDCCHMessageType : public Choice {
private:
static const void *choicesInfo[32];
public:
enum DLDCCHMessageTypeChoices {
activeSetUpdate = 0,
assistanceDataDelivery = 1,
cellChangeOrderFromUTRAN = 2,
cellUpdateConfirm = 3,
counterCheck = 4,
downlinkDirectTransfer = 5,
handoverFromUTRANCommandGSM = 6,
handoverFromUTRANCommandCDMA2000 = 7,
measurementControl = 8,
pagingType2 = 9,
physicalChannelReconfiguration = 10,
physicalSharedChannelAllocation = 11,
radioBearerReconfiguration = 12,
radioBearerRelease = 13,
radioBearerSetup = 14,
rrcConnectionRelease = 15,
securityModeCommand = 16,
signallingConnectionRelease = 17,
transportChannelReconfiguration = 18,
transportFormatCombinationControl = 19,
ueCapabilityEnquiry = 20,
ueCapabilityInformationConfirm = 21,
uplinkPhysicalChannelControl = 22,
uraUpdateConfirm = 23,
utranMobilityInformation = 24,
handoverFromUTRANCommandGERANIu = 25,
mbmsModifiedServicesInformation = 26,
etwsPrimaryNotificationWithSecurity = 27,
handoverFromUTRANCommandEUTRA = 28,
dLDCCHMessageTypeSpare3 = 29,
dLDCCHMessageTypeSpare2 = 30,
dLDCCHMessageTypeSpare1 = 31,
};
static const Info theInfo;
DLDCCHMessageType(): Choice(&theInfo) {}
};
class DLDCCHMessage : public Sequence {
private:
static const void *itemsInfo[2];
static bool itemsPres[2];
public:
static const Info theInfo;
DLDCCHMessage(): Sequence(&theInfo) {}
void setIntegrityCheckInfo(const IntegrityCheckInfo& integrityCheckInfo) { *static_cast<IntegrityCheckInfo*>(items[0]) = integrityCheckInfo; }
void setMessage(const DLDCCHMessageType& message) { *static_cast<DLDCCHMessageType*>(items[1]) = message; }
};
typedef Null ULDCCHMessageTypeSpare1;
class ULDCCHMessageType : public Choice {
private:
static const void *choicesInfo[32];
public:
enum ULDCCHMessageTypeChoices {
activeSetUpdateComplete = 0,
activeSetUpdateFailure = 1,
cellChangeOrderFromUTRANFailure = 2,
counterCheckResponse = 3,
handoverToUTRANComplete = 4,
initialDirectTransfer = 5,
handoverFromUTRANFailure = 6,
measurementControlFailure = 7,
measurementReport = 8,
physicalChannelReconfigurationComplete = 9,
physicalChannelReconfigurationFailure = 10,
radioBearerReconfigurationComplete = 11,
radioBearerReconfigurationFailure = 12,
radioBearerReleaseComplete = 13,
radioBearerReleaseFailure = 14,
radioBearerSetupComplete = 15,
radioBearerSetupFailure = 16,
rrcConnectionReleaseComplete = 17,
rrcConnectionSetupComplete = 18,
rrcStatus = 19,
securityModeComplete = 20,
securityModeFailure = 21,
signallingConnectionReleaseIndication = 22,
transportChannelReconfigurationComplete = 23,
transportChannelReconfigurationFailure = 24,
transportFormatCombinationControlFailure = 25,
ueCapabilityInformation = 26,
uplinkDirectTransfer = 27,
utranMobilityInformationConfirm = 28,
utranMobilityInformationFailure = 29,
mbmsModificationRequest = 30,
uLDCCHMessageTypeSpare1 = 31,
};
static const Info theInfo;
ULDCCHMessageType(): Choice(&theInfo) {}
};
class ULDCCHMessage : public Sequence {
private:
static const void *itemsInfo[2];
static bool itemsPres[2];
public:
static const Info theInfo;
ULDCCHMessage(): Sequence(&theInfo) {}
void setIntegrityCheckInfo(const IntegrityCheckInfo& integrityCheckInfo) { *static_cast<IntegrityCheckInfo*>(items[0]) = integrityCheckInfo; }
void setMessage(const ULDCCHMessageType& message) { *static_cast<ULDCCHMessageType*>(items[1]) = message; }
};
typedef Null DLCCCHMessageTypeSpare2;
typedef Null DLCCCHMessageTypeSpare1;
class DLCCCHMessageType : public Choice {
private:
static const void *choicesInfo[8];
public:
enum DLCCCHMessageTypeChoices {
cellUpdateConfirm = 0,
rrcConnectionReject = 1,
rrcConnectionRelease = 2,
rrcConnectionSetup = 3,
uraUpdateConfirm = 4,
etwsPrimaryNotificationWithSecurity = 5,
dLCCCHMessageTypeSpare2 = 6,
dLCCCHMessageTypeSpare1 = 7,
};
static const Info theInfo;
DLCCCHMessageType(): Choice(&theInfo) {}
};
class DLCCCHMessage : public Sequence {
private:
static const void *itemsInfo[2];
static bool itemsPres[2];
public:
static const Info theInfo;
DLCCCHMessage(): Sequence(&theInfo) {}
void setIntegrityCheckInfo(const IntegrityCheckInfo& integrityCheckInfo) { *static_cast<IntegrityCheckInfo*>(items[0]) = integrityCheckInfo; }
void setMessage(const DLCCCHMessageType& message) { *static_cast<DLCCCHMessageType*>(items[1]) = message; }
};
typedef Null ULCCCHMessageTypeSpare;
class ULCCCHMessageType : public Choice {
private:
static const void *choicesInfo[4];
public:
enum ULCCCHMessageTypeChoices {
cellUpdate = 0,
rrcConnectionRequest = 1,
uraUpdate = 2,
uLCCCHMessageTypeSpare = 3,
};
static const Info theInfo;
ULCCCHMessageType(): Choice(&theInfo) {}
};
class ULCCCHMessage : public Sequence {
private:
static const void *itemsInfo[2];
static bool itemsPres[2];
public:
static const Info theInfo;
ULCCCHMessage(): Sequence(&theInfo) {}
void setIntegrityCheckInfo(const IntegrityCheckInfo& integrityCheckInfo) { *static_cast<IntegrityCheckInfo*>(items[0]) = integrityCheckInfo; }
void setMessage(const ULCCCHMessageType& message) { *static_cast<ULCCCHMessageType*>(items[1]) = message; }
};
typedef Null PCCHMessageTypeSpare;
class PCCHMessageType : public Choice {
private:
static const void *choicesInfo[2];
public:
enum PCCHMessageTypeChoices {
pagingType1 = 0,
pCCHMessageTypeSpare = 1,
};
static const Info theInfo;
PCCHMessageType(): Choice(&theInfo) {}
};
class PCCHMessage : public Sequence {
private:
static const void *itemsInfo[1];
static bool itemsPres[1];
public:
static const Info theInfo;
PCCHMessage(): Sequence(&theInfo) {}
void setMessage(const PCCHMessageType& message) { *static_cast<PCCHMessageType*>(items[0]) = message; }
};
typedef Null DLSHCCHMessageTypeSpare;
class DLSHCCHMessageType : public Choice {
private:
static const void *choicesInfo[2];
public:
enum DLSHCCHMessageTypeChoices {
physicalSharedChannelAllocation = 0,
dLSHCCHMessageTypeSpare = 1,
};
static const Info theInfo;
DLSHCCHMessageType(): Choice(&theInfo) {}
};
class DLSHCCHMessage : public Sequence {
private:
static const void *itemsInfo[1];
static bool itemsPres[1];
public:
static const Info theInfo;
DLSHCCHMessage(): Sequence(&theInfo) {}
void setMessage(const DLSHCCHMessageType& message) { *static_cast<DLSHCCHMessageType*>(items[0]) = message; }
};
typedef Null ULSHCCHMessageTypeSpare;
class ULSHCCHMessageType : public Choice {
private:
static const void *choicesInfo[2];
public:
enum ULSHCCHMessageTypeChoices {
puschCapacityRequest = 0,
uLSHCCHMessageTypeSpare = 1,
};
static const Info theInfo;
ULSHCCHMessageType(): Choice(&theInfo) {}
};
class ULSHCCHMessage : public Sequence {
private:
static const void *itemsInfo[1];
static bool itemsPres[1];
public:
static const Info theInfo;
ULSHCCHMessage(): Sequence(&theInfo) {}
void setMessage(const ULSHCCHMessageType& message) { *static_cast<ULSHCCHMessageType*>(items[0]) = message; }
};
typedef Null BCCHFACHMessageTypeSpare2;
typedef Null BCCHFACHMessageTypeSpare1;
class BCCHFACHMessageType : public Choice {
private:
static const void *choicesInfo[4];
public:
enum BCCHFACHMessageTypeChoices {
systemInformation = 0,
systemInformationChangeIndication = 1,
bCCHFACHMessageTypeSpare2 = 2,
bCCHFACHMessageTypeSpare1 = 3,
};
static const Info theInfo;
BCCHFACHMessageType(): Choice(&theInfo) {}
};
class BCCHFACHMessage : public Sequence {
private:
static const void *itemsInfo[1];
static bool itemsPres[1];
public:
static const Info theInfo;
BCCHFACHMessage(): Sequence(&theInfo) {}
void setMessage(const BCCHFACHMessageType& message) { *static_cast<BCCHFACHMessageType*>(items[0]) = message; }
};
class BCCHBCHMessage : public Sequence {
private:
static const void *itemsInfo[1];
static bool itemsPres[1];
public:
static const Info theInfo;
BCCHBCHMessage(): Sequence(&theInfo) {}
void setMessage(const SystemInformationBCH& message) { *static_cast<SystemInformationBCH*>(items[0]) = message; }
};
typedef Null MCCHMessageTypeSpare9;
typedef Null MCCHMessageTypeSpare8;
typedef Null MCCHMessageTypeSpare7;
typedef Null MCCHMessageTypeSpare6;
typedef Null MCCHMessageTypeSpare5;
typedef Null MCCHMessageTypeSpare4;
typedef Null MCCHMessageTypeSpare3;
typedef Null MCCHMessageTypeSpare2;
typedef Null MCCHMessageTypeSpare1;
class MCCHMessageType : public Choice {
private:
static const void *choicesInfo[16];
public:
enum MCCHMessageTypeChoices {
mbmsAccessInformation = 0,
mbmsCommonPTMRBInformation = 1,
mbmsCurrentCellPTMRBInformation = 2,
mbmsGeneralInformation = 3,
mbmsModifiedServicesInformation = 4,
mbmsNeighbouringCellPTMRBInformation = 5,
mbmsUnmodifiedServicesInformation = 6,
mCCHMessageTypeSpare9 = 7,
mCCHMessageTypeSpare8 = 8,
mCCHMessageTypeSpare7 = 9,
mCCHMessageTypeSpare6 = 10,
mCCHMessageTypeSpare5 = 11,
mCCHMessageTypeSpare4 = 12,
mCCHMessageTypeSpare3 = 13,
mCCHMessageTypeSpare2 = 14,
mCCHMessageTypeSpare1 = 15,
};
static const Info theInfo;
MCCHMessageType(): Choice(&theInfo) {}
};
class MCCHMessage : public Sequence {
private:
static const void *itemsInfo[1];
static bool itemsPres[1];
public:
static const Info theInfo;
MCCHMessage(): Sequence(&theInfo) {}
void setMessage(const MCCHMessageType& message) { *static_cast<MCCHMessageType*>(items[0]) = message; }
};
typedef Null MSCHMessageTypeSpare3;
typedef Null MSCHMessageTypeSpare2;
typedef Null MSCHMessageTypeSpare1;
class MSCHMessageType : public Choice {
private:
static const void *choicesInfo[4];
public:
enum MSCHMessageTypeChoices {
mbmsSchedulingInformation = 0,
mSCHMessageTypeSpare3 = 1,
mSCHMessageTypeSpare2 = 2,
mSCHMessageTypeSpare1 = 3,
};
static const Info theInfo;
MSCHMessageType(): Choice(&theInfo) {}
};
class MSCHMessage : public Sequence {
private:
static const void *itemsInfo[1];
static bool itemsPres[1];
public:
static const Info theInfo;
MSCHMessage(): Sequence(&theInfo) {}
void setMessage(const MSCHMessageType& message) { *static_cast<MSCHMessageType*>(items[0]) = message; }
};
}
#endif /* RRCCLASSDEFINITIONS_H_ */
//
// Copyright (C) 2012 Calin Cerchez
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 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 Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#include "RRCConstantDefinitions.h"
namespace rrc {
}
//
// Copyright (C) 2012 Calin Cerchez
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 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 Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#ifndef RRCCONSTANTDEFINITIONS_H_
#define RRCCONSTANTDEFINITIONS_H_
#include "ASNTypes.h"
namespace rrc {
#define hiPDSCHidentities 64
#define hiPUSCHidentities 64
#define hiRM 256
#define maxAC 16
#define maxAdditionalMeas 4
#define maxASC 8
#define maxASCmap 7
#define maxASCpersist 6
#define maxCCTrCH 8
#define maxCellMeas 32
#define maxCellMeasOnSecULFreq 32
#define maxCellMeas_1 31
#define maxCellMeasOnSecULFreq_1 31
#define maxCNdomains 4
#define maxCommonHRNTI 4
#define maxCommonQueueID 2
#define maxCPCHsets 16
#define maxDedicatedCSGFreq 4
#define maxDPCH_DLchan 8
#define maxDPDCH_UL 6
#define maxDRACclasses 8
#define maxE_DCHMACdFlow 8
#define maxE_DCHMACdFlow_1 7
#define maxEUTRACellPerFreq 16
#define maxEUTRATargetFreqs 8
#define maxEDCHRL 4
#define maxEDCHRL_1 3
#define maxEDCHs 32
#define maxEDCHTxPattern_TDD128 4
#define maxEDCHTxPattern_TDD128_1 3
#define maxERNTIgroup 32
#define maxERNTIperGroup 2
#define maxERUCCH 256
#define maxFACHPCH 8
#define maxFreq 8
#define maxFreqBandsEUTRA 16
#define maxFreqBandsFDD 8
#define maxFreqBandsFDD_ext 15
#define maxFreqBandsTDD 4
#define maxFreqBandsTDD_ext 16
#define maxFreqBandsGSM 16
#define maxGANSS 8
#define maxGANSS_1 7
#define maxGANSSSat 64
#define maxGANSSSat_1 63
#define maxGERAN_SI 8
#define maxGSMTargetCells 32
#define maxHNBNameSize 48
#define maxHProcesses 8
#define maxHS_SCCHLessTrBlk 4
#define maxHSDSCHTBIndex 64
#define maxHSDSCHTBIndex_tdd384 512
#define maxHSSCCHs 4
#define maxHSSCCHs_1 3
#define maxHSSICH_TDD128 4
#define maxHSSICH_TDD128_1 3
#define maxInterSysMessages 4
#define maxLoCHperRLC 2
#define maxMAC_d_PDUsizes 8
#define maxMBMS_CommonCCTrCh 32
#define maxMBMS_CommonPhyCh 32
#define maxMBMS_CommonRB 32
#define maxMBMS_CommonTrCh 32
#define maxMBMS_Freq 4
#define maxMBMS_L1CP 4
#define maxMBMSservCount 8
#define maxMBMSservModif 32
#define maxMBMSservSched 16
#define maxMBMSservSelect 8
#define maxMBMSservUnmodif 64
#define maxMBMSTransmis 4
#define maxMBSFNClusters 16
#define maxMeasCSGRange 4
#define maxMeasEvent 8
#define maxMeasEventOnSecULFreq 8
#define maxMeasIntervals 3
#define maxMeasOccasionPattern 5
#define maxMeasOccasionPattern_1 4
#define maxMeasParEvent 2
#define maxNumCDMA2000Freqs 8
#define maxNumE_AGCH 4
#define maxNumE_HICH 4
#define maxNumEUTRAFreqs 8
#define maxNumGSMCellGroup 16
#define maxNumGSMFreqRanges 32
#define maxNumFDDFreqs 8
#define maxNumTDDFreqs 8
#define maxNoOfMeas 16
#define maxOtherRAT 15
#define maxOtherRAT_16 16
#define maxPage1 8
#define maxPCPCH_APsig 16
#define maxPCPCH_APsubCh 12
#define maxPCPCH_CDsig 16
#define maxPCPCH_CDsubCh 12
#define maxPCPCH_SF 7
#define maxPCPCHs 64
#define maxPDCPAlgoType 8
#define maxPDSCH 8
#define maxPDSCH_TFCIgroups 256
#define maxPRACH 16
#define maxPRACH_FPACH 8
#define maxPredefConfig 16
#define maxPrio 8
#define maxPrio_1 7
#define maxPUSCH 8
#define maxQueueIDs 8
#define maxRABsetup 16
#define maxRAT 16
#define maxRB 32
#define maxRBallRABs 27
#define maxRBMuxOptions 8
#define maxRBperRAB 8
#define maxRBperTrCh 16
#define maxReportedEUTRACellPerFreq 4
#define maxReportedEUTRAFreqs 4
#define maxReportedGSMCells 8
#define maxRL 8
#define maxRL_1 7
#define maxRLCPDUsizePerLogChan 32
#define maxRFC3095_CID 16384
#define maxROHC_PacketSizes_r4 16
#define maxROHC_Profile_r4 8
#define maxRxPatternForHSDSCH_TDD128 4
#define maxRxPatternForHSDSCH_TDD128_1 3
#define maxSat 16
#define maxSatClockModels 4
#define maxSCCPCH 16
#define maxSgnType 8
#define maxSIB 32
#define maxSIB_FACH 8
#define maxSIBperMsg 16
#define maxSIrequest 4
#define maxSRBsetup 8
#define maxSystemCapability 16
#define maxTDD128Carrier 6
#define maxTbsForHSDSCH_TDD128 4
#define maxTbsForHSDSCH_TDD128_1 3
#define maxTF 32
#define maxTF_CPCH 16
#define maxTFC 1024
#define maxTFCsub 1024
#define maxTFCI_2_Combs 512
#define maxTGPS 6
#define maxTrCH 32
#define maxTrCHpreconf 32
#define maxTS 14
#define maxTS_1 13
#define maxTS_2 12
#define maxTS_LCR 6
#define maxTS_LCR_1 5
#define maxURA 8
#define maxURNTI_Group 8
}
#endif /* RRCCONSTANTDEFINITIONS_H_ */
//
// Copyright (C) 2012 Calin Cerchez
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 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 Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#include "RRCIe.h"
const void *Fdd::itemsInfo[1] = {
&MeasurementQuantity::theInfo
};
bool Fdd::itemsPres[1] = {
1
};
const Fdd::Info Fdd::theInfo = {
Fdd::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
1, 0, 0
};
const void *ImsiAndEsnDs41::itemsInfo[2] = {
&ImsiDs41::theInfo,
&EsnDs41::theInfo,
};
bool ImsiAndEsnDs41::itemsPres[2] = {
1,
1
};
const ImsiAndEsnDs41::Info ImsiAndEsnDs41::theInfo = {
ImsiAndEsnDs41::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
2, 0, 0
};
const void *IntegrityCheckInfo::itemsInfo[2] = {
&MessageAuthenticationCode::theInfo,
&RrcMessageSequenceNumber::theInfo,
};
bool IntegrityCheckInfo::itemsPres[2] = {
1,
1
};
const IntegrityCheckInfo::Info IntegrityCheckInfo::theInfo = {
IntegrityCheckInfo::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
2, 0, 0
};
Mcc *toMcc(std::vector<unsigned char> mcc) {
Mcc *ret = new Mcc();
for (unsigned i = 0; i < mcc.size(); i++)
ret->push_back(Digit(mcc.at(i)));
return ret;
}
std::vector<unsigned char> fromMcc(Mcc *mcc) {
std::vector<unsigned char> ret;
for (unsigned i = 0; i < mcc->size(); i++)
ret.push_back(static_cast<const Digit>(mcc->at(i)).getValue());
return ret;
}
Mnc *toMnc(std::vector<unsigned char> mnc) {
Mnc *ret = new Mnc();
for (unsigned i = 0; i < mnc.size(); i++)
ret->push_back(Digit(mnc.at(i)));
return ret;
}
std::vector<unsigned char> fromMnc(Mcc *mnc) {
std::vector<unsigned char> ret;
for (unsigned i = 0; i < mnc->size(); i++)
ret.push_back(static_cast<const Digit>(mnc->at(i)).getValue());
return ret;
}
const void *MeasurementQuantity::choicesInfo[4] = {
&CpichEcN0::theInfo,
&CpichRscp::theInfo,
&Pathloss::theInfo,
&Spare::theInfo,
};
const MeasurementQuantity::Info MeasurementQuantity::theInfo = {
MeasurementQuantity::create,
CHOICE,
0,
false,
choicesInfo,
3
};
const void *MeasuredResultsOnRACH::itemsInfo[2] = {
&DummyIe::theInfo,
&DummyIe::theInfo,
};
bool MeasuredResultsOnRACH::itemsPres[2] = {
1,
0
};
const MeasuredResultsOnRACH::Info MeasuredResultsOnRACH::theInfo = {
MeasuredResultsOnRACH::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
2, 1, 0
};
const void *PlmnIdentity::itemsInfo[2] = {
&Mcc::theInfo,
&Mnc::theInfo,
};
bool PlmnIdentity::itemsPres[2] = {
1,
1
};
const PlmnIdentity::Info PlmnIdentity::theInfo = {
PlmnIdentity::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
2, 0, 0
};
PlmnIdentity::PlmnIdentity(std::vector<unsigned char>mcc, std::vector<unsigned char>mnc) : Sequence(&theInfo) {
setMcc(mcc);
setMnc(mnc);
}
const void *Lai::itemsInfo[2] = {
&PlmnIdentity::theInfo,
&Lac::theInfo,
};
bool Lai::itemsPres[2] = {
1,
1
};
const Lai::Info Lai::theInfo = {
Lai::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
2, 0, 0
};
Lai::Lai(PlmnIdentity& plmnId, char *lac) : Sequence(&theInfo) {
setPlmnIdentity(plmnId);
setLac(lac);
}
const void *Rai::itemsInfo[2] = {
&Lai::theInfo,
&RoutingAreaCode::theInfo,
};
bool Rai::itemsPres[2] = {
1,
1
};
const Rai::Info Rai::theInfo = {
Rai::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
2, 0, 0
};
const void *PTmsiAndRaiGsmMap::itemsInfo[2] = {
&PTmsiGsmMap::theInfo,
&Rai::theInfo,
};
bool PTmsiAndRaiGsmMap::itemsPres[2] = {
1,
1
};
const PTmsiAndRaiGsmMap::Info PTmsiAndRaiGsmMap::theInfo = {
PTmsiAndRaiGsmMap::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
2, 0, 0
};
const void *SfnSfnObsTimeDifference::choicesInfo[2] = {
&SfnSfnObsTimeDifference1::theInfo,
&SfnSfnObsTimeDifference2::theInfo,
};
const SfnSfnObsTimeDifference::Info SfnSfnObsTimeDifference::theInfo = {
SfnSfnObsTimeDifference::create,
CHOICE,
0,
false,
choicesInfo,
1
};
const void *Tdd::itemsInfo[2] = {
&TimeslotIscp::theInfo,
&PrimaryCcphRscp::theInfo
};
bool Tdd::itemsPres[2] = {
0,
0
};
const Tdd::Info Tdd::theInfo = {
Tdd::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
2, 2, 0
};
const void *TmsiAndLaiGsmMap::itemsInfo[2] = {
&TmsiGsmMap::theInfo,
&Lai::theInfo,
};
bool TmsiAndLaiGsmMap::itemsPres[2] = {
1,
1
};
const TmsiAndLaiGsmMap::Info TmsiAndLaiGsmMap::theInfo = {
TmsiAndLaiGsmMap::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
2, 0, 0
};
TmsiAndLaiGsmMap::TmsiAndLaiGsmMap(char *tmsi, Lai& lai) : Sequence(&theInfo) {
setTmsiGsmMap(tmsi);
setLai(lai);
}
const void *InitialUeIdentity::choicesInfo[8] = {
&ImsiGsmMap::theInfo,
&TmsiAndLaiGsmMap::theInfo,
&PTmsiAndRaiGsmMap::theInfo,
&Imei::theInfo,
&EsnDs41::theInfo,
&ImsiDs41::theInfo,
&ImsiAndEsnDs41::theInfo,
&TmsiDs41::theInfo,
};
const InitialUeIdentity::Info InitialUeIdentity::theInfo = {
InitialUeIdentity::create,
CHOICE,
0,
false,
choicesInfo,
7
};
const void *V3d0NonCriticalExtensions::itemsInfo[2] = {
&DummyIe::theInfo,
&DummyIe::theInfo,
};
bool V3d0NonCriticalExtensions::itemsPres[2] = {
1,
0
};
const V3d0NonCriticalExtensions::Info V3d0NonCriticalExtensions::theInfo = {
V3d0NonCriticalExtensions::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
2, 1, 0
};
//
// Copyright (C) 2012 Calin Cerchez
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 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 Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#ifndef RRCIE_H_
#define RRCIE_H_
#include "ASNTypes.h"
#include "RRCConstant.h"
typedef OpenType DummyIe;
/*
* Simple RRC message information elements.
*/
typedef BitString<CONSTRAINED, 14, 14> Ansi41IDNNS;
typedef Integer<CONSTRAINED, 0, 9> Digit;
typedef Integer<CONSTRAINED, 0, 15> IMEIDigit;
typedef OctetString<CONSTRAINED, 1, 4095> NASMessage;
typedef BitString<CONSTRAINED, 4, 4> NASSynchronisationIndicator;
typedef OctetString<CONSTRAINED, 1, 8> NASSystemInformationGSMMAP;
typedef BitString<CONSTRAINED, 32, 32> PTMSIGSMMAP;
typedef BitString<CONSTRAINED, 8, 8> RoutingAreaCode;
typedef BitString<CONSTRAINED, 10, 10> RoutingParameter;
typedef BitString<CONSTRAINED, 32, 32> TMSIGSMMAP;
typedef BitString<CONSTRAINED, 28, 28> CellIdentity;
typedef BitString<CONSTRAINED, 27, 27> CSGIdentity;
typedef Integer<CONSTRAINED, 0, 127> MapParameter;
typedef Integer<CONSTRAINED, 1, maxSCCPCH> OccurrenceSequenceNumberOfPICH;
typedef Integer<CONSTRAINED, 0, 20> QHystS;
typedef Integer<CONSTRAINED, 0, 40> QHystSFine;
typedef Integer<CONSTRAINED, -16, 10> SSearchQual;
typedef Integer<CONSTRAINED, -53, 45> SSearchRXLEV;
typedef Integer<CONSTRAINED, 0, 10> SpeedDependentScalingFactor;
typedef Integer<CONSTRAINED, 0, 31> TReselectionS;
typedef Integer<CONSTRAINED, 0, 31> TReselectionSFine;
typedef Integer<CONSTRAINED, 4, 19> TreselectionScalingFactor;
typedef Integer<CONSTRAINED, 1, 91> UpperLimit;
typedef BitString<CONSTRAINED, 16, 16> URAIdentity;
typedef Integer<CONSTRAINED, 0, 255> ActivationTime;
typedef Integer<CONSTRAINED, 1, 256> BandComb;
typedef BitString<CONSTRAINED, 16, 16> CRNTI;
typedef Integer<CONSTRAINED, 6, 9> CNDRXCycleLengthCoefficient;
typedef Integer<CONSTRAINED, 0, 63> DLDPCCHBER;
typedef BitString<CONSTRAINED, 16, 16> DSCHRNTI;
typedef BitString<CONSTRAINED, 16, 16> ERNTI;
typedef BitString<CONSTRAINED, 32, 32> ESNDS41;
typedef BitString<CONSTRAINED, 16, 16> HRNTI;
typedef Integer<CONSTRAINED, 1, 64> HSDSCHphysicallayercategory;
typedef Integer<CONSTRAINED, 1, 20> HSDSCHphysicallayercategoryext;
typedef Integer<CONSTRAINED, 21, 24> HSDSCHphysicallayercategoryext2;
typedef Integer<CONSTRAINED, 25, 28> HSDSCHphysicallayercategoryext3;
typedef Integer<CONSTRAINED, 1, 64> HSDSCHphysicallayercategoryextension;
typedef Integer<CONSTRAINED, 1, 64> MultiCarrierHSDSCHphysicallayercategory;
typedef Integer<CONSTRAINED, 1, 36> MultiCarrierHSDSCHphysicallayercategoryextension;
typedef BitString<CONSTRAINED, 4, 4> UESpecificBehaviourInformation1idle;
typedef BitString<CONSTRAINED, 8, 8> UESpecificBehaviourInformation1interRAT;
typedef OctetString<CONSTRAINED, 5, 7> IMSIDS41;
typedef BitString<CONSTRAINED, 32, 32> IntegrityProtInitNumber;
typedef Integer<CONSTRAINED, 0, 32> MaximumBitRate;
typedef Integer<CONSTRAINED, 1, 224> MaxPhysChPerFrame;
typedef Integer<CONSTRAINED, 1, 448> MaxPhysChPerFrame768;
typedef Integer<CONSTRAINED, 1, 96> MaxPhysChPerSubFramer4;
typedef Integer<CONSTRAINED, 1, 4> MaxPhysChPerTimeslotLCRr7;
typedef Integer<CONSTRAINED, 1, 16> MaxPhysChPerTS;
typedef Integer<CONSTRAINED, 1, 32> MaxPhysChPerTS768;
typedef Integer<CONSTRAINED, 1, 8> MaxSimultaneousCCTrCHCount;
typedef Integer<CONSTRAINED, 1, 14> MaxTSPerFrame;
typedef Integer<CONSTRAINED, 1, 6> MaxTSPerSubFramer4;
typedef BitString<CONSTRAINED, 32, 32> MessageAuthenticationCode;
typedef Integer<CONSTRAINED, 0, 7> N300;
typedef Integer<CONSTRAINED, 0, 7> N301;
typedef Integer<CONSTRAINED, 0, 7> N302;
typedef Integer<CONSTRAINED, 0, 7> N304;
typedef Integer<CONSTRAINED, 1, 8> N308;
typedef Integer<CONSTRAINED, 0, 7> N310;
typedef Integer<CONSTRAINED, 1, 64> NAccessFails;
typedef Integer<CONSTRAINED, 1, 64> NAPRetransMax;
typedef Integer<CONSTRAINED, 0, 31> NFBOAllBusy;
typedef Integer<CONSTRAINED, 0, 31> NFBONoAICH;
typedef Integer<CONSTRAINED, 0, 127> NFBOMismatch;
typedef Integer<CONSTRAINED, 0, 63> NSBOBusy;
typedef Integer<CONSTRAINED, 0, 28> NSIP;
typedef Integer<CONSTRAINED, 1, 64> RadioFrequencyBandEUTRA;
typedef Integer<CONSTRAINED, 0, 15> RRCMessageSequenceNumber;
typedef Integer<CONSTRAINED, 0, 3> RRCTransactionIdentifier;
typedef BitString<CONSTRAINED, 20, 20> SRNTI;
typedef BitString<CONSTRAINED, 10, 10> SRNTI2;
typedef BitString<CONSTRAINED, 12, 12> SRNCIdentity;
typedef BitString<CONSTRAINED, 20, 20> STARTValue;
typedef Integer<CONSTRAINED, 1, 8> T309;
typedef Integer<CONSTRAINED, 0, 15> T312;
typedef Integer<CONSTRAINED, 0, 15> T313;
typedef OctetString<CONSTRAINED, 2, 17> TMSIDS41;
typedef Integer<CONSTRAINED, 1, 8> TransmissionProbability;
typedef Integer<CONSTRAINED, 1, 4> UEPowerClass;
typedef Integer<CONSTRAINED, 3, 9> UTRANDRXCycleLengthCoefficient;
typedef Integer<CONSTRAINED, 0, 15> WaitTime;
typedef Integer<CONSTRAINED, 0, 4294967295> COUNTC;
typedef Integer<CONSTRAINED, 0, 33554431> COUNTCMSB;
typedef Integer<CONSTRAINED, 0, 10> DefaultConfigIdentity;
typedef Integer<CONSTRAINED, 0, 12> DefaultConfigIdentityr4;
typedef Integer<CONSTRAINED, 0, 13> DefaultConfigIdentityr5;
typedef Integer<CONSTRAINED, 0, 31> DefaultConfigIdentityr6;
typedef Integer<CONSTRAINED, 0, 15> DefaultConfigIdForCellFACH;
typedef Integer<CONSTRAINED, 0, 62> DDI;
typedef Integer<CONSTRAINED, 1, 15> LogicalChannelIdentity;
typedef BitString<CONSTRAINED, 24, 24> MACdHFNinitialvalue;
typedef Integer<CONSTRAINED, 1, 8> MACLogicalChannelPriority;
typedef Integer<CONSTRAINED, 0, 18> MaxCSDelay;
typedef Integer<CONSTRAINED, 0, 65535> PDCPSNInfo;
typedef Integer<CONSTRAINED, 0, 15> PredefinedConfigIdentity;
typedef Integer<CONSTRAINED, 0, 15> PredefinedConfigValueTag;
typedef Integer<CONSTRAINED, 1, 32> RBIdentity;
typedef Integer<CONSTRAINED, 0, 4095> RLCSequenceNumber;
typedef Integer<CONSTRAINED, 1, 3> ROHCProfiler4;
typedef Integer<CONSTRAINED, 2, 1500> ROHCPacketSizer4;
typedef Integer<CONSTRAINED, -63, 0> BLERQualityValue;
typedef Integer<CONSTRAINED, 1, maxCPCHsets> CPCHSetID;
typedef Integer<CONSTRAINED, 1, maxDRACclasses> DRACClassIdentity;
typedef Integer<CONSTRAINED, 0, maxE-DCHMACdFlow-1> EDCHMACdFlowIdentity;
typedef Integer<CONSTRAINED, 0, 15> EDCHMACdFlowMaxRetrans;
typedef BitString<CONSTRAINED, maxE-DCHMACdFlow, maxE-DCHMACdFlow> EDCHMACdFlowMultiplexingList;
typedef Integer<CONSTRAINED, 0, 6> EDCHMACdFlowPowerOffset;
typedef Integer<CONSTRAINED, 0, 15> GainFactor;
typedef Integer<CONSTRAINED, 0, 7> MACdFlowIdentity;
typedef Integer<CONSTRAINED, 0, 7> MACehsQueueId;
typedef Integer<CONSTRAINED, -5, 10> PowerOffsetPpm;
typedef Integer<CONSTRAINED, 1, hiRM> RateMatchingAttribute;
typedef Integer<CONSTRAINED, 0, 3> ReferenceTFCID;
typedef Integer<CONSTRAINED, 0, 1023> TFCValue;
typedef Integer<CONSTRAINED, 1, 8> TFCSIdentityPlain;
typedef Integer<CONSTRAINED, 1, 256> TimeDurationBeforeRetry;
typedef Integer<CONSTRAINED, 1, 256> TransmissionTimeValidity;
typedef Integer<CONSTRAINED, 1, 32> TransportChannelIdentity;
typedef Integer<CONSTRAINED, 1, 4> ACKNACKrepetitionFactor;
typedef Integer<CONSTRAINED, 0, 7> ACToASCMapping;
typedef Integer<CONSTRAINED, 0 , 255> ActivationTimeOffset;
typedef Integer<CONSTRAINED, -22, 5> AICHPowerOffset;
typedef Integer<CONSTRAINED, 0, 8> Alpha;
typedef Integer<CONSTRAINED, 0, 255> APAICHChannelisationCode;
typedef Integer<CONSTRAINED, 0, 79> APPreambleScramblingCode;
typedef Integer<CONSTRAINED, 0, 15> APSignature;
typedef Integer<CONSTRAINED, 0, 11> APSubchannel;
typedef BitStringtypedef BitStringtypedef Integer<CONSTRAINED, -63, 0> BlerTarget;
typedef Integer<CONSTRAINED, 0, 11> CDAccessSlotSubchannel;
typedef Integer<CONSTRAINED, 0, 255> CDCAICHChannelisationCode;
typedef Integer<CONSTRAINED, 0, 79> CDPreambleScramblingCode;
typedef Integer<CONSTRAINED, 0, 15> CDSignatureCode;
typedef Integer<CONSTRAINED, 0, 127> CellParametersID;
typedef Integer<CONSTRAINED, 0, 255> Cfntargetsfnframeoffset;
typedef Integer<CONSTRAINED, 0, 255> ChannelisationCode256;
typedef Integer<CONSTRAINED, 0, 255> CodeNumberDSCH;
typedef Integer<CONSTRAINED, -35, -10> ConstantValue;
typedef Integer<CONSTRAINED, -35, 10> ConstantValueTdd;
typedef Integer<CONSTRAINED, 1, 4> CQIRepetitionFactor;
typedef Integer<CONSTRAINED, -10, 5> CSICHPowerOffset;
typedef Integer<CONSTRAINED, 0, 599> DefaultDPCHOffsetValueFDD;
typedef Integer<CONSTRAINED, 0, 7> DefaultDPCHOffsetValueTDD;
typedef Integer<CONSTRAINED, -10, 10> DeltaPpm;
typedef Integer<CONSTRAINED, 0, 8> DeltaCQI;
typedef Integer<CONSTRAINED, 0, 8> DeltaNACK;
typedef Integer<CONSTRAINED, 0, 8> DeltaACK;
typedef Integer<CONSTRAINED, 0, 30> DeltaSIR;
typedef Integer<CONSTRAINED, -20, 10> DHSSync;
typedef Integer<CONSTRAINED, -82, -3> DPCCHPowerOffset;
typedef Integer<CONSTRAINED, -28, -13> DPCCHPowerOffset2;
typedef Integer<CONSTRAINED, 0, 149> DPCHFrameOffset;
typedef Integer<CONSTRAINED, 0, 9> FDPCHSlotFormat;
typedef Integer<CONSTRAINED, 0, 511> DSCHRadioLinkIdentifier;
typedef Integer<CONSTRAINED, 1, 4096> DurationTimeInfo;
typedef Integer<CONSTRAINED, 1, 8> DynamicPersistenceLevel;
typedef Integer<CONSTRAINED, 0, 255> EAGCHChannelisationCode;
typedef Integer<CONSTRAINED, 0, 127> EDCHMinimumSetETFCI;
typedef Integer<CONSTRAINED, 0, 8> EDPCCHDPCCHPowerOffset;
typedef Integer<CONSTRAINED, 11, 25> EDPDCHPLNonMax;
typedef Integer<CONSTRAINED, 0, 127> EHICHChannelisationCode;
typedef Integer<CONSTRAINED, 0, 39> EHICHRGCHSignatureSequence;
typedef Integer<CONSTRAINED, 0, 5> ERGCHCombinationIndex;
typedef Integer<CONSTRAINED, 0, 1> ETFCITableIndex;
typedef Integer<CONSTRAINED, 0, 65535> EARFCN;
typedef Integer<CONSTRAINED, 0, 1> HARQPreambleMode;
typedef Integer<CONSTRAINED, 0, 127> HSSCCHCodes;
typedef Integer<CONSTRAINED, 1, 128> NidentifyAbort;
typedef Integer<CONSTRAINED, -50, 33> MaxAllowedULTXPower;
typedef Integer<CONSTRAINED, 1, 64> MaxAvailablePCPCHNumber;
typedef Integer<CONSTRAINED, 0, 3> MaxPowerIncreaser4;
typedef Integer<CONSTRAINED, 1, 1023> MaxTFCIField2Value;
typedef Integer<CONSTRAINED, 0, 15> MidambleShiftLong;
typedef Integer<CONSTRAINED, 0, 5> MidambleShiftShort;
typedef Integer<CONSTRAINED, 0, 7> MidambleShiftShortVHCR;
typedef Integer<CONSTRAINED, 1, 16> MultiCodeInfo;
typedef Integer<CONSTRAINED, 0, 7> NEOT;
typedef Integer<CONSTRAINED, 1, 8> NPCH;
typedef Integer<CONSTRAINED, 1, 8> NStartMessage;
typedef Integer<CONSTRAINED, 0, 50> NB01;
typedef Integer<CONSTRAINED, 1, 64> NFMax;
typedef Integer<CONSTRAINED, 1, maxDPDCH-UL> NumberOfDPDCH;
typedef Integer<CONSTRAINED, 1, 2> NumberOfFBIBits;
typedef Integer<CONSTRAINED, 0, 7> PCPreamble;
typedef Integer<CONSTRAINED, 1, hiPDSCHidentities> PDSCHIdentity;
typedef Integer<CONSTRAINED, -10, 5> PICHPowerOffset;
typedef Integer<CONSTRAINED, -12, 26> MeasurementPowerOffset;
typedef Integer<CONSTRAINED, 0, 255> PowerControlGAP;
typedef Integer<CONSTRAINED, 0, 24> PowerOffsetPilotpdpdch;
typedef Integer<CONSTRAINED, 0, 24> PowerOffsetTPCpdpdch;
typedef Integer<CONSTRAINED, 1, 8> PowerRampStep;
typedef Integer<CONSTRAINED, 1, 64> PreambleRetransMax;
typedef Integer<CONSTRAINED, 0, 15> PreambleScramblingCodeWordNumber;
typedef Integer<CONSTRAINED, 6, 43> PrimaryCCPCHTXPower;
typedef Integer<CONSTRAINED, -10, 50> PrimaryCPICHTXPower;
typedef Integer<CONSTRAINED, 0, 511> PrimaryScramblingCode;
typedef Integer<CONSTRAINED, 1, hiPUSCHidentities> PUSCHIdentity;
typedef Integer<CONSTRAINED, 0, 8191> ReducedScramblingCodeNumber;
typedef Integer<CONSTRAINED, -6, 0> SCPICHPowerOffsetMIMO;
typedef Integer<CONSTRAINED, 1, 15> SecondaryScramblingCode;
typedef Integer<CONSTRAINED, 0, 3> ServingCellChangeTrId;
typedef Integer<CONSTRAINED, 0, 7> SpecialBurstScheduling;
typedef Integer<CONSTRAINED, 0, 7> SRBdelay;
typedef BitStringtypedef Integer<CONSTRAINED, -110, -52> TDDULInterference;
typedef Integer<CONSTRAINED, 0, 255> TGCFN;
typedef Integer<CONSTRAINED, 15, 270> TGD;
typedef Integer<CONSTRAINED, 1, 14> TGL;
typedef Integer<CONSTRAINED, 0, 255> TGPSReconfigurationCFN;
typedef Integer<CONSTRAINED, 1, 144> TGPL;
typedef Integer<CONSTRAINED, 0, 511> TGPRC;
typedef Integer<CONSTRAINED, 1, maxTGPS> TGPSI;
typedef Integer<CONSTRAINED, 0, 14> TGSN;
typedef Integer<CONSTRAINED, 0, 14> TimeslotNumber;
typedef Integer<CONSTRAINED, 0, 6> TimeslotNumberLCRr4;
typedef Integer<CONSTRAINED, 1, 6> TimeslotNumberPRACHLCRr4;
typedef Integer<CONSTRAINED, 0, 6> TimeslotSync2;
typedef Integer<CONSTRAINED, 0, 149> TimingOffset;
typedef Integer<CONSTRAINED, 0, 5> TPCCombinationIndex;
typedef Integer<CONSTRAINED, 0, 10> TPCCommandTargetRate;
typedef Integer<CONSTRAINED, 0, 1> TPCStepSizeFDD;
typedef Integer<CONSTRAINED, 1, 3> TPCStepSizeTDD;
typedef Integer<CONSTRAINED, 1, 32> TransportBlockSizeIndex;
typedef Integer<CONSTRAINED, 1, 20> TreconfirmAbort;
typedef Integer<CONSTRAINED, 0, 16383> UARFCN;
typedef Integer<CONSTRAINED, 0, 159> UEDTXDRXOffset;
typedef Integer<CONSTRAINED, -110, -70> ULInterference;
typedef Integer<CONSTRAINED, 0, 16777215> ULScramblingCode;
typedef Integer<CONSTRAINED, 0, 62> ULTargetSIR;
typedef Integer<CONSTRAINED, 0, 63> ULTimingAdvance;
typedef Integer<CONSTRAINED, 0, 127> UpPCHpositionLCR;
typedef Integer<CONSTRAINED, 1, 4> WiLCR;
typedef Integer<CONSTRAINED, 0, 1023> BCCHARFCN;
typedef Integer<CONSTRAINED, -20, 20> CellIndividualOffset;
typedef Integer<CONSTRAINED, 0, 63> CPICHEcN0;
typedef Integer<CONSTRAINED, 0, 127> CPICHRSCP;
typedef Integer<CONSTRAINED, -127, 127> DeltaPRC;
typedef Integer<CONSTRAINED, -2, -1> DeltaQrxlevmin;
typedef Integer<CONSTRAINED, -5, -1> DeltaRSCP;
typedef Integer<CONSTRAINED, -7, 7> DeltaRRC;
typedef BitString<CONSTRAINED, 8, 8> DGANSSSigIdReq;
typedef Integer<CONSTRAINED, 0, 63> DLTransportChannelBLER;
typedef Integer<CONSTRAINED, 0, 15> FineSFNSFN;
typedef Integer<CONSTRAINED, 0, 7> GANSSSignalId;
typedef BitString<CONSTRAINED, 6, 6> GSMCarrierRSSI;
typedef Integer<CONSTRAINED, 0, 604799999> GPSTOW1msec;
typedef Integer<CONSTRAINED, 0, 604799> GPSTOW1sec;
typedef Integer<CONSTRAINED, 0, 7> HCSPRIO;
typedef Integer<CONSTRAINED, 0, 15> Hysteresis;
typedef Integer<CONSTRAINED, 0, 29> HysteresisInterFreq;
typedef Integer<CONSTRAINED, 0, maxCellMeas-1> InterFreqCellID;
typedef Integer<CONSTRAINED, 0, maxCellMeas-1> InterRATCellID;
typedef Integer<CONSTRAINED, 0, 3> InterRATCellInfoIndication;
typedef Integer<CONSTRAINED, -50, 50> InterRATCellIndividualOffset;
typedef Integer<CONSTRAINED, 0, maxCellMeas-1> IntraFreqCellID;
typedef Integer<CONSTRAINED, 0, maxCellMeasOnSecULFreq-1> IntraFreqCellIDOnSecULFreq;
typedef Integer<CONSTRAINED, 0, 255> IODE;
typedef Integer<CONSTRAINED, 1, 8> MaxReportedCellsOnRACHinterFreq;
typedef Integer<CONSTRAINED, 1, 16> MeasurementIdentity;
typedef Integer<CONSTRAINED, 17, 32> MeasurementIdentityExt;
typedef Integer<CONSTRAINED, 1, 32> MeasurementIdentityr9;
typedef BitString<CONSTRAINED, 3, 3> NCMode;
typedef Integer<CONSTRAINED, 0, 4095> ObservedTimeDifferenceToGSM;
typedef Integer<CONSTRAINED, 46, 173> Pathloss;
typedef Integer<CONSTRAINED, -2047, 2047> PRC;
typedef Integer<CONSTRAINED, 0, 127> PrimaryCCPCHRSCP;
typedef Integer<CONSTRAINED, 0, 99> QHCS;
typedef Integer<CONSTRAINED, -50, 50> QOffsetSN;
typedef Integer<CONSTRAINED, -24, 0> QQualMin;
typedef Integer<CONSTRAINED, 1, 16> QQualMinOffset;
typedef Integer<CONSTRAINED, -58, -13> QRxlevMin;
typedef Integer<CONSTRAINED, 1, 8> QRxlevMinOffset;
typedef Integer<CONSTRAINED, 0, 29> ReportingRange;
typedef Integer<CONSTRAINED, -127, 127> RRC;
typedef Integer<CONSTRAINED, 0, 63> SatID;
typedef Integer<CONSTRAINED, 0, 16777215> SFNSFNObsTimeDifference1;
typedef Integer<CONSTRAINED, 0, 65535> SFNSFNObsTimeDifference2;
typedef Integer<CONSTRAINED, 0, 63> SIR;
typedef Integer<CONSTRAINED, -115, 0> Threshold;
typedef Integer<CONSTRAINED, -120, 0> Thresholdr6;
typedef Integer<CONSTRAINED, -115, 165> ThresholdUsedFrequency;
typedef Integer<CONSTRAINED, -120, 165> ThresholdUsedFrequencyr6;
typedef Integer<CONSTRAINED, 1, 13> TimeInterval;
typedef Integer<CONSTRAINED, 0, 127> TimeslotISCP;
typedef Integer<CONSTRAINED, -50, 33> TransmittedPowerThreshold;
typedef Integer<CONSTRAINED, 768, 1791> UERXTXTimeDifferenceType1;
typedef Integer<CONSTRAINED, 0, 8191> UERXTXTimeDifferenceType2;
typedef Integer<CONSTRAINED, 768, 1280> UERXTXTimeDifferenceThreshold;
typedef Integer<CONSTRAINED, 0, 104> UETransmittedPower;
typedef BitString<CONSTRAINED, 7, 7> UEPositioningAccuracy;
typedef Integer<CONSTRAINED, 0, 127> UEPositioningGPSReferenceTimeUncertainty;
typedef Integer<CONSTRAINED, 0, 127> UTRACarrierRSSI;
typedef Integer<CONSTRAINED, 0, 20> W;
typedef Integer<CONSTRAINED, 0, 7> BCC;
typedef Integer<CONSTRAINED, 0, 511> BCCHModificationTime;
typedef Integer<CONSTRAINED, 1, 4> CellValueTag;
typedef OctetStringtypedef Integer<CONSTRAINED, 0, 503> EUTRAPhysicalCellIdentity;
typedef Integer<CONSTRAINED, 1, 8> ExpirationTimeFactor;
typedef OctetString<CONSTRAINED, 1, 23> GERANSystemInfoBlock;
typedef OctetString<CONSTRAINED, 5, 5> GSMClassmark2;
typedef OctetString<CONSTRAINED, 1, 32> GSMClassmark3;
typedef OctetString<CONSTRAINED, 1, 64> GSMMSRadioAccessCapability;
typedef BitStringtypedef OctetString<CONSTRAINED, 1, maxHNBNameSize> HNBName;
typedef BitString<CONSTRAINED, 1, 170> GERANIuRadioAccessCapability;
typedef Integer<CONSTRAINED, 1, 8> MIBValueTag;
typedef Integer<CONSTRAINED, 0, 7> NCC;
typedef Integer<CONSTRAINED, 1, 256> PLMNValueTag;
typedef Integer<CONSTRAINED, 1, 16> SegCount;
typedef Integer<CONSTRAINED, 1, 15> SegmentIndex;
typedef Integer<CONSTRAINED, 0, 2047> SFNPrime;
typedef BitString<CONSTRAINED, 222, 222> SIBDatafixed;
typedef BitString<CONSTRAINED, 1, 214> SIBDatavariable;
typedef Integer<CONSTRAINED, 0, 15> SIBOccurIdentity;
typedef Integer<CONSTRAINED, 0, 15> SIBOccurValueTag;
typedef BitString<CONSTRAINED, 1, 2048> ANSI41NASParameter;
typedef BitString<CONSTRAINED, 8, 8> MinPREV;
typedef BitString<CONSTRAINED, 16, 16> NID;
typedef BitString<CONSTRAINED, 8, 8> PREV;
typedef BitString<CONSTRAINED, 15, 15> SID;
typedef BitString<CONSTRAINED, 12, 12> MBMSCellGroupIdentityr6;
typedef Integer<CONSTRAINED, 1, 32> MBMSCommonCCTrChIdentity;
typedef Integer<CONSTRAINED, 1, 32> MBMSCommonPhyChIdentity;
typedef Integer<CONSTRAINED, 1, 32> MBMSCommonRBIdentity;
typedef Integer<CONSTRAINED, 1, 32> MBMSCommonTrChIdentity;
typedef Integer<CONSTRAINED, 0, 3> MBMSL1CombiningTransmTimeDiff;
typedef Integer<CONSTRAINED, 1, 15> MBMSLogicalChIdentity;
typedef Integer<CONSTRAINED, -10, 5> MBMSMICHPowerOffset;
typedef Integer<CONSTRAINED, 0, 32> MBMSNumberOfNeighbourCellsr6;
typedef Integer<CONSTRAINED, 1, maxMBMS-Freq> MBMSPFLIndex;
typedef Integer<CONSTRAINED, 0, 2047> MBMSPTMActivationTimer6;
typedef Integer<CONSTRAINED, 1, maxSCCPCH> MBMSSCCPCHIdentity;
typedef OctetString<CONSTRAINED, 1, 1> MBMSSessionIdentity;
typedef Integer<CONSTRAINED, 1, maxMBMSservUnmodif> MBMSShortTransmissionID;
typedef Integer<CONSTRAINED, 1, maxMBSFNClusters> MBSFNClusterFrequencyr7;
/*
* Compound RRC message information elements.
*/
class Fdd : public Sequence {
private:
static const void *itemsInfo[1];
static bool itemsPres[1];
public:
static const Info theInfo;
Fdd() : Sequence(&theInfo) {}
// AllocationAndRetentionPriority(unsigned char prioLvl = 0, unsigned char preCapab = 0, unsigned char preVul = 0, ProtocolExtContainer *exts = NULL);
// unsigned char getPriorityLevel() const { return static_cast<PriorityLevel*>(items[0])->getValue(); }
// unsigned char getPreEmptionCapability() const { return static_cast<PreEmptionCapability*>(items[1])->getValue(); }
// unsigned char getPreEmptionVulnerability() const { return static_cast<PreEmptionVulnerability*>(items[2])->getValue(); }
//
// void setPriorityLevel(unsigned char prioLvl) { static_cast<PriorityLevel*>(items[0])->setValue(prioLvl); }
// void setPreEmptionCapability(unsigned char preCapab) { static_cast<PriorityLevel*>(items[1])->setValue(preCapab); }
// void setPreEmptionVulnerability(unsigned char preVul) { static_cast<PriorityLevel*>(items[2])->setValue(preVul); }
// void setProtocolExtContainer(ProtocolExtContainer *exts);
};
typedef SequenceOf<Digit, CONSTRAINED, 15, 15> Imei;
//ERabToBeSetupListCtxtSuReq *toERabToBeSetupListCtxtSuReq(std::vector<BearerContext*> bearers);
//std::vector<BearerContext*> fromERabToBeSetupListCtxtSuReq(ERabToBeSetupListCtxtSuReq *eRabToBeSetupListCtxtSuReq);
class ImsiAndEsnDs41 : public Sequence {
private:
static const void *itemsInfo[2];
static bool itemsPres[2];
public:
static const Info theInfo;
ImsiAndEsnDs41() : Sequence(&theInfo) {}
// AllocationAndRetentionPriority(unsigned char prioLvl = 0, unsigned char preCapab = 0, unsigned char preVul = 0, ProtocolExtContainer *exts = NULL);
// unsigned char getPriorityLevel() const { return static_cast<PriorityLevel*>(items[0])->getValue(); }
// unsigned char getPreEmptionCapability() const { return static_cast<PreEmptionCapability*>(items[1])->getValue(); }
// unsigned char getPreEmptionVulnerability() const { return static_cast<PreEmptionVulnerability*>(items[2])->getValue(); }
//
// void setPriorityLevel(unsigned char prioLvl) { static_cast<PriorityLevel*>(items[0])->setValue(prioLvl); }
// void setPreEmptionCapability(unsigned char preCapab) { static_cast<PriorityLevel*>(items[1])->setValue(preCapab); }
// void setPreEmptionVulnerability(unsigned char preVul) { static_cast<PriorityLevel*>(items[2])->setValue(preVul); }
// void setProtocolExtContainer(ProtocolExtContainer *exts);
};
class IntegrityCheckInfo : public Sequence {
private:
static const void *itemsInfo[2];
static bool itemsPres[2];
public:
static const Info theInfo;
IntegrityCheckInfo() : Sequence(&theInfo) {}
// AllocationAndRetentionPriority(unsigned char prioLvl = 0, unsigned char preCapab = 0, unsigned char preVul = 0, ProtocolExtContainer *exts = NULL);
// unsigned char getPriorityLevel() const { return static_cast<PriorityLevel*>(items[0])->getValue(); }
// unsigned char getPreEmptionCapability() const { return static_cast<PreEmptionCapability*>(items[1])->getValue(); }
// unsigned char getPreEmptionVulnerability() const { return static_cast<PreEmptionVulnerability*>(items[2])->getValue(); }
//
// void setPriorityLevel(unsigned char prioLvl) { static_cast<PriorityLevel*>(items[0])->setValue(prioLvl); }
// void setPreEmptionCapability(unsigned char preCapab) { static_cast<PriorityLevel*>(items[1])->setValue(preCapab); }
// void setPreEmptionVulnerability(unsigned char preVul) { static_cast<PriorityLevel*>(items[2])->setValue(preVul); }
// void setProtocolExtContainer(ProtocolExtContainer *exts);
};
typedef SequenceOf<Digit, CONSTRAINED, 6, 21> ImsiGsmMap;
//ERabToBeSetupListCtxtSuReq *toERabToBeSetupListCtxtSuReq(std::vector<BearerContext*> bearers);
//std::vector<BearerContext*> fromERabToBeSetupListCtxtSuReq(ERabToBeSetupListCtxtSuReq *eRabToBeSetupListCtxtSuReq);
typedef SequenceOf<Digit, CONSTRAINED, 3, 3> Mcc;
Mcc *toMcc(std::vector<unsigned char> mcc);
std::vector<unsigned char> fromMcc(Mcc *mcc);
typedef SequenceOf<Digit, CONSTRAINED, 2, 3> Mnc;
Mnc *toMnc(std::vector<unsigned char> mnc);
std::vector<unsigned char> fromMnc(Mnc *mnc);
enum MeasurementQuantityChoices {
cpichEcN0 = 0,
cpichRscp = 1,
pathloss = 2,
spareMeasurementQuantity = 3
};
class MeasurementQuantity : public Choice {
private:
static const void *choicesInfo[4];
public:
static const Info theInfo;
MeasurementQuantity() : Choice(&theInfo) {}
// void setId(char *id);
// char *getId();
};
class MeasuredResultsOnRACH : public Sequence {
private:
static const void *itemsInfo[2];
static bool itemsPres[2];
public:
static const Info theInfo;
MeasuredResultsOnRACH() : Sequence(&theInfo) {}
// AllocationAndRetentionPriority(unsigned char prioLvl = 0, unsigned char preCapab = 0, unsigned char preVul = 0, ProtocolExtContainer *exts = NULL);
// unsigned char getPriorityLevel() const { return static_cast<PriorityLevel*>(items[0])->getValue(); }
// unsigned char getPreEmptionCapability() const { return static_cast<PreEmptionCapability*>(items[1])->getValue(); }
// unsigned char getPreEmptionVulnerability() const { return static_cast<PreEmptionVulnerability*>(items[2])->getValue(); }
//
// void setPriorityLevel(unsigned char prioLvl) { static_cast<PriorityLevel*>(items[0])->setValue(prioLvl); }
// void setPreEmptionCapability(unsigned char preCapab) { static_cast<PriorityLevel*>(items[1])->setValue(preCapab); }
// void setPreEmptionVulnerability(unsigned char preVul) { static_cast<PriorityLevel*>(items[2])->setValue(preVul); }
// void setProtocolExtContainer(ProtocolExtContainer *exts);
};
class PlmnIdentity : public Sequence {
private:
static const void *itemsInfo[2];
static bool itemsPres[2];
public:
static const Info theInfo;
PlmnIdentity() : Sequence(&theInfo) {}
PlmnIdentity(std::vector<unsigned char> mcc, std::vector<unsigned char>mnc);
// unsigned char getPriorityLevel() const { return static_cast<PriorityLevel*>(items[0])->getValue(); }
// unsigned char getPreEmptionCapability() const { return static_cast<PreEmptionCapability*>(items[1])->getValue(); }
// unsigned char getPreEmptionVulnerability() const { return static_cast<PreEmptionVulnerability*>(items[2])->getValue(); }
//
void setMcc(std::vector<unsigned char> mcc) { *static_cast<Mcc*>(items[0]) = toMcc(mcc); }
void setMnc(std::vector<unsigned char>mnc) { *static_cast<Mnc*>(items[1]) = toMnc(mnc); }
};
class Lai : public Sequence {
private:
static const void *itemsInfo[2];
static bool itemsPres[2];
public:
static const Info theInfo;
Lai() : Sequence(&theInfo) {}
Lai(PlmnIdentity& plmnId, char *lac);
// unsigned char getPriorityLevel() const { return static_cast<PriorityLevel*>(items[0])->getValue(); }
// unsigned char getPreEmptionCapability() const { return static_cast<PreEmptionCapability*>(items[1])->getValue(); }
// unsigned char getPreEmptionVulnerability() const { return static_cast<PreEmptionVulnerability*>(items[2])->getValue(); }
void setPlmnIdentity(PlmnIdentity& plmnId) { *static_cast<PlmnIdentity*>(items[0]) = plmnId; }
void setLac(char *lac) { static_cast<Lac*>(items[1])->setValue(lac); }
};
class Rai : public Sequence {
private:
static const void *itemsInfo[2];
static bool itemsPres[2];
public:
static const Info theInfo;
Rai() : Sequence(&theInfo) {}
// AllocationAndRetentionPriority(unsigned char prioLvl = 0, unsigned char preCapab = 0, unsigned char preVul = 0, ProtocolExtContainer *exts = NULL);
// unsigned char getPriorityLevel() const { return static_cast<PriorityLevel*>(items[0])->getValue(); }
// unsigned char getPreEmptionCapability() const { return static_cast<PreEmptionCapability*>(items[1])->getValue(); }
// unsigned char getPreEmptionVulnerability() const { return static_cast<PreEmptionVulnerability*>(items[2])->getValue(); }
//
// void setPriorityLevel(unsigned char prioLvl) { static_cast<PriorityLevel*>(items[0])->setValue(prioLvl); }
// void setPreEmptionCapability(unsigned char preCapab) { static_cast<PriorityLevel*>(items[1])->setValue(preCapab); }
// void setPreEmptionVulnerability(unsigned char preVul) { static_cast<PriorityLevel*>(items[2])->setValue(preVul); }
// void setProtocolExtContainer(ProtocolExtContainer *exts);
};
class PTmsiAndRaiGsmMap : public Sequence {
private:
static const void *itemsInfo[2];
static bool itemsPres[2];
public:
static const Info theInfo;
PTmsiAndRaiGsmMap() : Sequence(&theInfo) {}
// AllocationAndRetentionPriority(unsigned char prioLvl = 0, unsigned char preCapab = 0, unsigned char preVul = 0, ProtocolExtContainer *exts = NULL);
// unsigned char getPriorityLevel() const { return static_cast<PriorityLevel*>(items[0])->getValue(); }
// unsigned char getPreEmptionCapability() const { return static_cast<PreEmptionCapability*>(items[1])->getValue(); }
// unsigned char getPreEmptionVulnerability() const { return static_cast<PreEmptionVulnerability*>(items[2])->getValue(); }
//
// void setPriorityLevel(unsigned char prioLvl) { static_cast<PriorityLevel*>(items[0])->setValue(prioLvl); }
// void setPreEmptionCapability(unsigned char preCapab) { static_cast<PriorityLevel*>(items[1])->setValue(preCapab); }
// void setPreEmptionVulnerability(unsigned char preVul) { static_cast<PriorityLevel*>(items[2])->setValue(preVul); }
// void setProtocolExtContainer(ProtocolExtContainer *exts);
};
enum SfnSfnObsTimeDifferenceChoices {
type1 = 0,
type2 = 1
};
class SfnSfnObsTimeDifference : public Choice {
private:
static const void *choicesInfo[2];
public:
static const Info theInfo;
SfnSfnObsTimeDifference() : Choice(&theInfo) {}
// void setId(char *id);
// char *getId();
};
class Tdd : public Sequence {
private:
static const void *itemsInfo[2];
static bool itemsPres[2];
public:
static const Info theInfo;
Tdd() : Sequence(&theInfo) {}
// AllocationAndRetentionPriority(unsigned char prioLvl = 0, unsigned char preCapab = 0, unsigned char preVul = 0, ProtocolExtContainer *exts = NULL);
// unsigned char getPriorityLevel() const { return static_cast<PriorityLevel*>(items[0])->getValue(); }
// unsigned char getPreEmptionCapability() const { return static_cast<PreEmptionCapability*>(items[1])->getValue(); }
// unsigned char getPreEmptionVulnerability() const { return static_cast<PreEmptionVulnerability*>(items[2])->getValue(); }
//
// void setPriorityLevel(unsigned char prioLvl) { static_cast<PriorityLevel*>(items[0])->setValue(prioLvl); }
// void setPreEmptionCapability(unsigned char preCapab) { static_cast<PriorityLevel*>(items[1])->setValue(preCapab); }
// void setPreEmptionVulnerability(unsigned char preVul) { static_cast<PriorityLevel*>(items[2])->setValue(preVul); }
// void setProtocolExtContainer(ProtocolExtContainer *exts);
};
typedef SequenceOf<TimeslotIscp, CONSTRAINED, 1, maxTS> TimeslotIscpList;
class TmsiAndLaiGsmMap : public Sequence {
private:
static const void *itemsInfo[2];
static bool itemsPres[2];
public:
static const Info theInfo;
TmsiAndLaiGsmMap() : Sequence(&theInfo) {}
TmsiAndLaiGsmMap(char *tmsi, Lai& lai);
// unsigned char getPriorityLevel() const { return static_cast<PriorityLevel*>(items[0])->getValue(); }
// unsigned char getPreEmptionCapability() const { return static_cast<PreEmptionCapability*>(items[1])->getValue(); }
// unsigned char getPreEmptionVulnerability() const { return static_cast<PreEmptionVulnerability*>(items[2])->getValue(); }
//
void setTmsiGsmMap(char *tmsi) { static_cast<TmsiGsmMap*>(items[0])->setValue(tmsi); }
void setLai(Lai& lai) { *static_cast<Lai*>(items[1]) = lai; }
};
enum InitialUeIdentityChoices {
imsi = 0,
tmsiAndLai = 1,
pTmsiAndRai = 2,
imei = 3,
esnDs41 = 4,
imsiDs41 = 5,
imsiAndEsnDs41 = 6,
tmsiAndDs41 = 7
};
class InitialUeIdentity : public Choice {
private:
static const void *choicesInfo[8];
public:
static const Info theInfo;
InitialUeIdentity() : Choice(&theInfo) {}
// void setId(char *id);
// char *getId();
};
class V3d0NonCriticalExtensions : public Sequence {
private:
static const void *itemsInfo[2];
static bool itemsPres[2];
public:
static const Info theInfo;
V3d0NonCriticalExtensions() : Sequence(&theInfo) {}
// AllocationAndRetentionPriority(unsigned char prioLvl = 0, unsigned char preCapab = 0, unsigned char preVul = 0, ProtocolExtContainer *exts = NULL);
// unsigned char getPriorityLevel() const { return static_cast<PriorityLevel*>(items[0])->getValue(); }
// unsigned char getPreEmptionCapability() const { return static_cast<PreEmptionCapability*>(items[1])->getValue(); }
// unsigned char getPreEmptionVulnerability() const { return static_cast<PreEmptionVulnerability*>(items[2])->getValue(); }
//
// void setPriorityLevel(unsigned char prioLvl) { static_cast<PriorityLevel*>(items[0])->setValue(prioLvl); }
// void setPreEmptionCapability(unsigned char preCapab) { static_cast<PriorityLevel*>(items[1])->setValue(preCapab); }
// void setPreEmptionVulnerability(unsigned char preVul) { static_cast<PriorityLevel*>(items[2])->setValue(preVul); }
// void setProtocolExtContainer(ProtocolExtContainer *exts);
};
#endif /* RRCIE_H_ */
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
//
// Copyright (C) 2012 Calin Cerchez
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 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 Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#include "RRCMessage.h"
const void *UlCcchMessageType::choicesInfo[4] = {
&CellUpdate::theInfo,
&RRCConnectionRequest::theInfo,
&URAUpdate::theInfo,
&Spare::theInfo,
};
const UlCcchMessageType::Info UlCcchMessageType::theInfo = {
UlCcchMessageType::create,
CHOICE,
0,
false,
choicesInfo,
3
};
const void *UlCcchMessage::itemsInfo[2] = {
&IntegrityCheckInfo::theInfo,
&UlCcchMessageType::theInfo,
};
bool UlCcchMessage::itemsPres[2] = {
0,
1
};
const UlCcchMessage::Info UlCcchMessage::theInfo = {
UlCcchMessage::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
2, 1, 0
};
UlCcchMessage::UlCcchMessage(UlCcchMessageType& message, IntegrityCheckInfo *integrityCheckInfo) : Sequence(&theInfo) {
setUlCchMessageType(message);
}
//
// Copyright (C) 2012 Calin Cerchez
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 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 Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#ifndef RRCMESSAGE_H_
#define RRCMESSAGE_H_
#include "RRCPdu.h"
enum UlCcchMessageTypes {
cellUpdate = 0,
rrcConnectionRequest = 1,
uraUpdate = 2,
spareUlCcchMessageType = 3
};
class UlCcchMessageType : public Choice {
private:
static const void *choicesInfo[4];
public:
static const Info theInfo;
UlCcchMessageType() : Choice(&theInfo) {}
// void setId(char *id);
// char *getId();
};
class UlCcchMessage : public Sequence {
private:
static const void *itemsInfo[2];
static bool itemsPres[2];
public:
static const Info theInfo;
UlCcchMessage(UlCcchMessageType& message, IntegrityCheckInfo *integrityCheckInfo = NULL);
// unsigned char getProcedureCode() { return static_cast<IntegerBase*>(items.at(0))->getValue(); }
// OpenType *getValue() { return static_cast<OpenType*>(items.at(2)); }
//
void setUlCchMessageType(UlCcchMessageType& message) { *static_cast<UlCcchMessageType*>(items[1]) = message; }
// void setEstablishmentCause(unsigned char estCause) { static_cast<EstablishmentCause*>(items[1])->setValue(estCause); }
// void setProtocolErrorIndicator(unsigned char protErrInd) { static_cast<ProtocolErrorIndicator*>(items[1])->setValue(protErrInd); }
};
#endif /* RRCMESSAGE_H_ */
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
//
// Copyright (C) 2012 Calin Cerchez
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 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 Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#include "RRCPdu.h"
const void *CellUpdate::itemsInfo[9] = {
&DummyIe::theInfo,
&DummyIe::theInfo,
&DummyIe::theInfo,
&DummyIe::theInfo,
&DummyIe::theInfo,
&DummyIe::theInfo,
&DummyIe::theInfo,
&DummyIe::theInfo,
&DummyIe::theInfo,
};
bool CellUpdate::itemsPres[9] = {
1,
1,
1,
1,
1,
0,
1,
0,
0,
};
const CellUpdate::Info CellUpdate::theInfo = {
CellUpdate::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
9, 3, 0
};
const void *RRCConnectionRequest::itemsInfo[5] = {
&InitialUeIdentity::theInfo,
&EstablishmentCause::theInfo,
&ProtocolErrorIndicator::theInfo,
&MeasuredResultsOnRACH::theInfo,
&V3d0NonCriticalExtensions::theInfo,
};
bool RRCConnectionRequest::itemsPres[5] = {
1,
1,
1,
0,
0
};
const RRCConnectionRequest::Info RRCConnectionRequest::theInfo = {
RRCConnectionRequest::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
5, 2, 0
};
RRCConnectionRequest::RRCConnectionRequest(InitialUeIdentity& initUeId, unsigned char estCause, bool protErrInd, MeasuredResultsOnRACH *measResOnRach, V3d0NonCriticalExtensions *v3d0NonCritExt) : Sequence(&theInfo) {
setInitialUeIdentity(initUeId);
setEstablishmentCause(estCause);
setProtocolErrorIndicator(protErrInd);
}
const void *URAUpdate::itemsInfo[4] = {
&DummyIe::theInfo,
&DummyIe::theInfo,
&DummyIe::theInfo,
&DummyIe::theInfo,
};
bool URAUpdate::itemsPres[4] = {
1,
1,
1,
0
};
const URAUpdate::Info URAUpdate::theInfo = {
URAUpdate::create,
SEQUENCE,
0,
false,
itemsInfo,
itemsPres,
4, 1, 0
};
//
// Copyright (C) 2012 Calin Cerchez
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 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 Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#ifndef RRCPDU_H_
#define RRCPDU_H_
#include "RRCIe.h"
class CellUpdate : public Sequence {
private:
static const void *itemsInfo[9];
static bool itemsPres[9];
public:
static const Info theInfo;
// RRCConnectionRequest(InitialUeIdentity& initUeId, unsigned char estCause, bool protErrInd, MeasuredResultsOnRACH *measResOnRach = NULL, V3d0NonCriticalExtensions *v3d0NonCritExt = NULL);
// unsigned char getProcedureCode() { return static_cast<IntegerBase*>(items.at(0))->getValue(); }
// OpenType *getValue() { return static_cast<OpenType*>(items.at(2)); }
//
// void setInitialUeIdentity(InitialUeIdentity& initUeId) { *static_cast<InitialUeIdentity*>(items[0]) = initUeId; }
// void setEstablishmentCause(unsigned char estCause) { static_cast<EstablishmentCause*>(items[1])->setValue(estCause); }
// void setProtocolErrorIndicator(unsigned char protErrInd) { static_cast<ProtocolErrorIndicator*>(items[1])->setValue(protErrInd); }
};
class RRCConnectionRequest : public Sequence {
private:
static const void *itemsInfo[5];
static bool itemsPres[5];
public:
static const Info theInfo;
RRCConnectionRequest(InitialUeIdentity& initUeId, unsigned char estCause, bool protErrInd, MeasuredResultsOnRACH *measResOnRach = NULL, V3d0NonCriticalExtensions *v3d0NonCritExt = NULL);
// unsigned char getProcedureCode() { return static_cast<IntegerBase*>(items.at(0))->getValue(); }
// OpenType *getValue() { return static_cast<OpenType*>(items.at(2)); }
//
void setInitialUeIdentity(InitialUeIdentity& initUeId) { *static_cast<InitialUeIdentity*>(items[0]) = initUeId; }
void setEstablishmentCause(unsigned char estCause) { static_cast<EstablishmentCause*>(items[1])->setValue(estCause); }
void setProtocolErrorIndicator(unsigned char protErrInd) { static_cast<ProtocolErrorIndicator*>(items[1])->setValue(protErrInd); }
};
class URAUpdate : public Sequence {
private:
static const void *itemsInfo[4];
static bool itemsPres[4];
public:
static const Info theInfo;
// RRCConnectionRequest(InitialUeIdentity& initUeId, unsigned char estCause, bool protErrInd, MeasuredResultsOnRACH *measResOnRach = NULL, V3d0NonCriticalExtensions *v3d0NonCritExt = NULL);
// unsigned char getProcedureCode() { return static_cast<IntegerBase*>(items.at(0))->getValue(); }
// OpenType *getValue() { return static_cast<OpenType*>(items.at(2)); }
//
// void setInitialUeIdentity(InitialUeIdentity& initUeId) { *static_cast<InitialUeIdentity*>(items[0]) = initUeId; }
// void setEstablishmentCause(unsigned char estCause) { static_cast<EstablishmentCause*>(items[1])->setValue(estCause); }
// void setProtocolErrorIndicator(unsigned char protErrInd) { static_cast<ProtocolErrorIndicator*>(items[1])->setValue(protErrInd); }
};
#endif /* RRCPDU_H_ */
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,
NAS-Message,
PagingRecordTypeID,
PLMN-Identity,
-- UTRAN Mobility IEs :
CellIdentity,
CellIdentity-PerRL-List,
DedicatedPriorityInformation,
URA-Identity,
-- User Equipment IEs :
AccessStratumReleaseIndicator,
ActivationTime,
C-RNTI,
CapabilityUpdateRequirement,
CapabilityUpdateRequirement-r4,
CapabilityUpdateRequirement-r4-ext,
CapabilityUpdateRequirement-r5,
CapabilityUpdateRequirement-v770ext,
CapabilityUpdateRequirement-v860ext,
CapabilityUpdateRequirement-r7,
CapabilityUpdateRequirement-r8,
CellUpdateCause,
CellUpdateCause-ext,
CipheringAlgorithm,
CipheringAlgorithm-r7,
CipheringModeInfo,
CipheringModeInfo-r7,
DelayRestrictionFlag,
DL-PhysChCapabilityFDD-v380ext,
DSCH-RNTI,
E-RNTI,
EstablishmentCause,
FailureCauseWithProtErr,
FailureCauseWithProtErrTrId,
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-CapabilityComp,
RRC-StateIndicator,
RRC-TransactionIdentifier,
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-HSPA-Identities-r6,
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-v650ext,
UE-RadioAccessCapability-v680ext,
UE-RadioAccessCapability-v7e0ext,
UE-RadioAccessCapability-v7f0ext,
UE-RadioAccessCapability-v860ext,
UE-RadioAccessCapability-v880ext,
UE-RadioAccessCapability-v890ext,
UE-RadioAccessCapability-v920ext,
UE-RadioAccessCapabilityComp,
UE-RadioAccessCapabilityComp-ext,
UE-RadioAccessCapabilityComp-v770ext,
UE-RadioAccessCapabilityComp2,
UE-RadioAccessCapabilityComp2-v770ext,
UE-RadioAccessCapabilityComp2-v7f0ext,
UE-RadioAccessCapabilityComp2-v860ext,
UE-RadioAccessCapabilityComp2-v920ext,
UE-RadioAccessCapabilityComp-TDD128,
UE-RadioAccessCapabilityInfo-v770ext,
UE-RadioAccessCapabilityInfo-TDD128-v8b0ext,
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-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,
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-InformationReleaseList,
RB-PDCPContextRelocationList,
SRB-InformationSetupList,
SRB-InformationSetupList-r5,
SRB-InformationSetupList-r6,
SRB-InformationSetupList-r7,
SRB-InformationSetupList-r8,
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-CommonTransChInfo,
DL-CommonTransChInfo-r4,
DL-DeletedTransChInfoList,
DL-DeletedTransChInfoList-r5,
DL-DeletedTransChInfoList-r7,
DRAC-StaticInformationList,
HARQ-Info-r7,
PowerOffsetInfoShort,
TFC-Subset,
TFCS-Identity,
UL-AddReconfTransChInfoList,
UL-AddReconfTransChInfoList-r6,
UL-AddReconfTransChInfoList-r7,
UL-AddReconfTransChInfoList-r8,
UL-CommonTransChInfo,
UL-CommonTransChInfo-r4,
UL-DeletedTransChInfoList,
UL-DeletedTransChInfoList-r6,
-- Physical Channel IEs :
Alpha,
BEACON-PL-Est,
CCTrCH-PowerControlInfo,
CCTrCH-PowerControlInfo-r4,
CCTrCH-PowerControlInfo-r5,
CCTrCH-PowerControlInfo-r7,
ConstantValue,
ConstantValueTdd,
ControlChannelDRXInfo-TDD128-r8,
CPCH-SetInfo,
DHS-Sync,
DL-CommonInformation,
DL-CommonInformation-r4,
DL-CommonInformation-r5,
DL-CommonInformation-r6,
DL-CommonInformation-r7,
DL-CommonInformation-r8,
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-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-ListPostFDD,
DL-InformationPerRL-PostTDD,
DL-InformationPerRL-PostTDD-LCR-r4,
DL-MultiCarrier-Information,
DL-PDSCH-Information,
DL-SecondaryCellInfoFDD,
DL-SecondaryCellInfoFDD-v890ext,
DL-SecondaryCellInfoFDD-r9,
DL-TPC-PowerOffsetPerRL-List,
DLUL-HSPA-Information-r8,
DLUL-HSPA-Information-r9,
DPC-Mode,
DPCH-CompressedModeStatusInfo,
DTX-DRX-TimingInfo-r7,
DTX-DRX-Info-r7,
DynamicPersistenceLevel,
E-DCH-ReconfigurationInfo,
E-DCH-ReconfigurationInfo-SecULFrequency,
E-DCH-ReconfigurationInfo-r7,
E-DCH-RL-InfoSameServingCell,
E-TFC-Boost-Info-r7,
E-DPDCH-PowerInterpolation,
EXT-UL-TimingAdvance,
Feedback-cycle-r7,
FrequencyInfo,
FrequencyInfoFDD,
FrequencyInfoTDD,
HARQ-Preamble-Mode,
HS-DSCH-TBSizeTable,
HS-SCCH-LessInfo-r7,
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,
Multi-frequencyInfo-LCR-r7,
OpenLoopPowerControl-IPDL-TDD-r4,
PDSCH-CapacityAllocationInfo,
PDSCH-CapacityAllocationInfo-r4,
PDSCH-CapacityAllocationInfo-r7,
PDSCH-Identity,
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-SecULFreq,
RL-RemovalInformationList,
RL-RemovalInformationList-SecULFreq,
SecondaryCellMIMOparametersFDD-v950ext,
Serving-HSDSCH-CellInformation,
Serving-HSDSCH-CellInformation-r7,
Serving-HSDSCH-CellInformation-r8,
Serving-HSDSCH-CellInformation-r9,
ServingCellChangeParameters,
SpecialBurstScheduling,
SPS-Information-TDD128-r8,
SSDT-Information,
SSDT-Information-r4,
SSDT-UL,
TFC-ControlDuration,
TimeslotList,
TimeslotList-r4,
TimingMaintainedSynchInd,
TX-DiversityMode,
UL-16QAM-Config,
UL-ChannelRequirement,
UL-ChannelRequirement-r4,
UL-ChannelRequirement-r5,
UL-ChannelRequirementWithCPCH-SetID,
UL-ChannelRequirementWithCPCH-SetID-r4,
UL-ChannelRequirementWithCPCH-SetID-r5,
UL-DPCH-Info,
UL-DPCH-Info-r4,
UL-DPCH-Info-r5,
UL-DPCH-Info-r6,
UL-DPCH-Info-r7,
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-SecondaryCellInfoFDD,
UL-SynchronisationParameters-r4,
UL-TimingAdvance,
UL-TimingAdvanceControl,
UL-TimingAdvanceControl-r4,
UL-TimingAdvanceControl-r7,
UpPCHposition-LCR,
-- Measurement IEs :
AdditionalMeasurementID-List,
CellDCHMeasOccasionInfo-TDD128-r9,
CSGProximityIndication,
DeltaRSCP,
Frequency-Band,
EventResults,
EventResults-v770ext,
EventResults-v860ext,
EventResultsOnSecUlFreq,
EUTRA-EventResults,
EUTRA-MeasuredResults,
EUTRA-MeasuredResults-v920ext,
Inter-FreqEventCriteriaList-v590ext,
Intra-FreqEventCriteriaList-v590ext,
IntraFreqReportingCriteria-1b-r5,
IntraFreqEvent-1d-r5,
IntraFreqCellID,
InterFreqEventResults-LCR-r4-ext,
InterRATCellInfoIndication,
InterRAT-TargetCellDescription,
MeasuredResults,
MeasuredResults-v390ext,
MeasuredResults-v590ext,
MeasuredResults-v770ext,
MeasuredResults-v860ext,
MeasuredResults-v920ext,
MeasuredResultsOnSecUlFreq,
MeasuredResultsListOnSecUlFreq,
MeasuredResultsList,
MeasuredResultsList-LCR-r4-ext,
MeasuredResultsList-v770xet,
MeasuredResultsList-v860ext,
MeasuredResultsList-v920ext,
MeasuredResultsOnRACH,
MeasuredResultsOnRACH-v7g0ext,
MeasuredResultsOnRACHinterFreq,
MeasurementCommand,
MeasurementCommand-r4,
MeasurementCommand-r6,
MeasurementCommand-r7,
MeasurementCommand-r8,
MeasurementCommand-r9,
MeasurementIdentity,
MeasurementReportingMode,
NewInterFreqCellList-v7b0ext,
NewInterFreqCellList-LCR-v8a0ext,
NewIntraFreqCellList-LCR-v8a0ext,
PrimaryCCPCH-RSCP,
SFN-Offset-Validity,
TimeslotListWithISCP,
TrafficVolumeMeasuredResultsList,
UE-Positioning-GPS-AssistanceData,
UE-Positioning-GPS-AssistanceData-v770ext,
UE-Positioning-GPS-AssistanceData-v920ext,
UE-Positioning-GPS-ReferenceTimeUncertainty,
UE-Positioning-Measurement-v390ext,
UE-Positioning-Measurement-v920ext,
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,
-- Other IEs :
BCCH-ModificationInfo,
CDMA2000-MessageList,
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,
Rplmn-Information,
Rplmn-Information-r4,
SegCount,
SegmentIndex,
SFN-Prime,
SIB-Data-fixed,
SIB-Data-variable,
SIB-Type,
SysInfoType1,
SysInfoType3,
SysInfoType5,
SysInfoType7,
SysInfoType11,
SysInfoType11bis,
SysInfoType12,
SysInfoTypeSB1,
SysInfoTypeSB2,
-- 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
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 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
}
END
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册