Пример #1
0
 public S_TMSI Decode(BitArrayInputStream input)
 {
     S_TMSI s_tmsi = new S_TMSI();
     s_tmsi.InitDefaults();
     s_tmsi.mmec = input.readBitString(8);
     s_tmsi.m_TMSI = input.readBitString(0x20);
     return s_tmsi;
 }
Пример #2
0
 public PhysCellIdGERAN Decode(BitArrayInputStream input)
 {
     PhysCellIdGERAN dgeran = new PhysCellIdGERAN();
     dgeran.InitDefaults();
     dgeran.networkColourCode = input.readBitString(3);
     dgeran.baseStationColourCode = input.readBitString(3);
     return dgeran;
 }
Пример #3
0
 public AdditionalReestabInfo Decode(BitArrayInputStream input)
 {
     AdditionalReestabInfo info = new AdditionalReestabInfo();
     info.InitDefaults();
     info.cellIdentity = input.readBitString(0x1c);
     info.key_eNodeB_Star = input.readBitString(0x100);
     info.shortMAC_I = input.readBitString(0x10);
     return info;
 }
Пример #4
0
 public MasterInformationBlock Decode(BitArrayInputStream input)
 {
     MasterInformationBlock block = new MasterInformationBlock();
     block.InitDefaults();
     const int nBits = 3;
     block.dl_Bandwidth = (dl_Bandwidth_Enum)input.readBits(nBits);
     block.phich_Config = PHICH_Config.PerDecoder.Instance.Decode(input);
     block.systemFrameNumber = input.readBitString(8);
     block.spare = input.readBitString(10);
     return block;
 }
Пример #5
0
 public RegisteredMME Decode(BitArrayInputStream input)
 {
     RegisteredMME dmme = new RegisteredMME();
     dmme.InitDefaults();
     bool flag = false;
     BitMaskStream stream = flag ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1);
     if (stream.Read())
     {
         dmme.plmn_Identity = PLMN_Identity.PerDecoder.Instance.Decode(input);
     }
     dmme.mmegi = input.readBitString(0x10);
     dmme.mmec = input.readBitString(8);
     return dmme;
 }
Пример #6
0
            public CellGlobalIdCDMA2000 Decode(BitArrayInputStream input)
            {
                CellGlobalIdCDMA2000 dcdma = new CellGlobalIdCDMA2000();
                dcdma.InitDefaults();
                switch (input.readBits(1))
                {
                    case 0:
                        dcdma.cellGlobalId1XRTT = input.readBitString(0x2f);
                        return dcdma;

                    case 1:
                        dcdma.cellGlobalIdHRPD = input.readBitString(0x80);
                        return dcdma;
                }
                throw new Exception(GetType().Name + ":NoChoice had been choose");
            }
Пример #7
0
 public E_RABSetupItemBearerSURes Decode(BitArrayInputStream input)
 {
     E_RABSetupItemBearerSURes res = new E_RABSetupItemBearerSURes();
     res.InitDefaults();
     BitMaskStream stream = (input.readBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1);
     input.readBit();
     res.e_RAB_ID = input.readBits(4);
     input.readBit();
     int num = input.readBits(8);
     input.skipUnreadedBits();
     res.transportLayerAddress = input.readBitString(num + 1);
     input.skipUnreadedBits();
     res.gTP_TEID = input.readOctetString(4);
     if (stream.Read())
     {
         input.skipUnreadedBits();
         res.iE_Extensions = new List<ProtocolExtensionField>();
         const int nBits = 0x10;
         int num5 = input.readBits(nBits) + 1;
         for (int i = 0; i < num5; i++)
         {
             ProtocolExtensionField item = ProtocolExtensionField.PerDecoder.Instance.Decode(input);
             res.iE_Extensions.Add(item);
         }
     }
     return res;
 }
Пример #8
0
 public AreaConfiguration_r10 Decode(BitArrayInputStream input)
 {
     int num2;
     AreaConfiguration_r10 _r = new AreaConfiguration_r10();
     _r.InitDefaults();
     switch (input.readBits(1))
     {
         case 0:
             {
                 _r.cellGlobalIdList_r10 = new List<CellGlobalIdEUTRA>();
                 num2 = 5;
                 int num4 = input.readBits(num2) + 1;
                 for (int i = 0; i < num4; i++)
                 {
                     CellGlobalIdEUTRA item = CellGlobalIdEUTRA.PerDecoder.Instance.Decode(input);
                     _r.cellGlobalIdList_r10.Add(item);
                 }
                 return _r;
             }
         case 1:
             {
                 _r.trackingAreaCodeList_r10 = new List<string>();
                 num2 = 3;
                 int num6 = input.readBits(num2) + 1;
                 for (int j = 0; j < num6; j++)
                 {
                     string str = input.readBitString(0x10);
                     _r.trackingAreaCodeList_r10.Add(str);
                 }
                 return _r;
             }
     }
     throw new Exception(GetType().Name + ":NoChoice had been choose");
 }
Пример #9
0
 public P_C_AndCBSR_r11 Decode(BitArrayInputStream input)
 {
     P_C_AndCBSR_r11 _r = new P_C_AndCBSR_r11();
     _r.InitDefaults();
     _r.p_C_r11 = input.readBits(5) + -8;
     int nBits = input.readBits(8);
     _r.codebookSubsetRestriction_r11 = input.readBitString(nBits);
     return _r;
 }
Пример #10
0
 public AC_BarringConfig Decode(BitArrayInputStream input)
 {
     AC_BarringConfig config = new AC_BarringConfig();
     config.InitDefaults();
     int nBits = 4;
     config.ac_BarringFactor = (ac_BarringFactor_Enum)input.readBits(nBits);
     nBits = 3;
     config.ac_BarringTime = (ac_BarringTime_Enum)input.readBits(nBits);
     config.ac_BarringForSpecialAC = input.readBitString(5);
     return config;
 }
Пример #11
0
 public BandCombinationParametersExt_r10 Decode(BitArrayInputStream input)
 {
     BandCombinationParametersExt_r10 _r = new BandCombinationParametersExt_r10();
     _r.InitDefaults();
     BitMaskStream stream = new BitMaskStream(input, 1);
     if (stream.Read())
     {
         int num = input.readBits(5);
         _r.supportedBandwidthCombinationSet_r10 = input.readBitString(num + 1);
     }
     return _r;
 }
Пример #12
0
 public E_RABAdmittedItem Decode(BitArrayInputStream input)
 {
     E_RABAdmittedItem item = new E_RABAdmittedItem();
     item.InitDefaults();
     BitMaskStream stream = (input.readBit() != 0) ? new BitMaskStream(input, 5) : new BitMaskStream(input, 5);
     input.readBit();
     item.e_RAB_ID = input.readBits(4);
     input.readBit();
     int num = input.readBits(8);
     input.skipUnreadedBits();
     item.transportLayerAddress = input.readBitString(num + 1);
     input.skipUnreadedBits();
     item.gTP_TEID = input.readOctetString(4);
     if (stream.Read())
     {
         input.readBit();
         num = input.readBits(8);
         input.skipUnreadedBits();
         item.dL_transportLayerAddress = input.readBitString(num + 1);
     }
     if (stream.Read())
     {
         input.skipUnreadedBits();
         item.dL_gTP_TEID = input.readOctetString(4);
     }
     if (stream.Read())
     {
         input.readBit();
         num = input.readBits(8);
         input.skipUnreadedBits();
         item.uL_TransportLayerAddress = input.readBitString(num + 1);
     }
     if (stream.Read())
     {
         input.skipUnreadedBits();
         item.uL_GTP_TEID = input.readOctetString(4);
     }
     if (stream.Read())
     {
         input.skipUnreadedBits();
         item.iE_Extensions = new List<ProtocolExtensionField>();
         int nBits = 0x10;
         int num5 = input.readBits(nBits) + 1;
         for (int i = 0; i < num5; i++)
         {
             ProtocolExtensionField field = ProtocolExtensionField.PerDecoder.Instance.Decode(input);
             item.iE_Extensions.Add(field);
         }
     }
     return item;
 }
Пример #13
0
            public InitialUE_Identity Decode(BitArrayInputStream input)
            {
                InitialUE_Identity identity = new InitialUE_Identity();
                identity.InitDefaults();
                switch (input.readBits(1))
                {
                    case 0:
                        identity.s_TMSI = S_TMSI.PerDecoder.Instance.Decode(input);
                        return identity;

                    case 1:
                        identity.randomValue = input.readBitString(40);
                        return identity;
                }
                throw new Exception(GetType().Name + ":NoChoice had been choose");
            }
Пример #14
0
 public AdditionalSI_Info_r9 Decode(BitArrayInputStream input)
 {
     AdditionalSI_Info_r9 _r = new AdditionalSI_Info_r9();
     _r.InitDefaults();
     BitMaskStream stream = new BitMaskStream(input, 2);
     if (stream.Read())
     {
         const int nBits = 1;
         _r.csg_MemberStatus_r9 = (csg_MemberStatus_r9_Enum)input.readBits(nBits);
     }
     if (stream.Read())
     {
         _r.csg_Identity_r9 = input.readBitString(0x1b);
     }
     return _r;
 }
Пример #15
0
 public SPS_Config Decode(BitArrayInputStream input)
 {
     SPS_Config config = new SPS_Config();
     config.InitDefaults();
     BitMaskStream stream = new BitMaskStream(input, 3);
     if (stream.Read())
     {
         config.semiPersistSchedC_RNTI = input.readBitString(0x10);
     }
     if (stream.Read())
     {
         config.sps_ConfigDL = SPS_ConfigDL.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         config.sps_ConfigUL = SPS_ConfigUL.PerDecoder.Instance.Decode(input);
     }
     return config;
 }
Пример #16
0
 public MeasurementFailureCause_Item Decode(BitArrayInputStream input)
 {
     MeasurementFailureCause_Item item = new MeasurementFailureCause_Item();
     item.InitDefaults();
     BitMaskStream stream = (input.readBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1);
     item.measurementFailedReportCharacteristics = input.readBitString(0x20);
     item.cause = Cause.PerDecoder.Instance.Decode(input);
     if (stream.Read())
     {
         input.skipUnreadedBits();
         item.iE_Extensions = new List<ProtocolExtensionField>();
         int nBits = 0x10;
         int num5 = input.readBits(nBits) + 1;
         for (int i = 0; i < num5; i++)
         {
             ProtocolExtensionField field = ProtocolExtensionField.PerDecoder.Instance.Decode(input);
             item.iE_Extensions.Add(field);
         }
     }
     return item;
 }
Пример #17
0
 public AS_SecurityInformation Decode(BitArrayInputStream input)
 {
     AS_SecurityInformation information = new AS_SecurityInformation();
     information.InitDefaults();
     BitMaskStream stream = (input.readBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1);
     input.skipUnreadedBits();
     information.key_eNodeB_star = input.readBitString(0x100);
     information.nextHopChainingCount = input.readBits(3);
     if (stream.Read())
     {
         input.skipUnreadedBits();
         information.iE_Extensions = new List<ProtocolExtensionField>();
         int nBits = 0x10;
         int num5 = input.readBits(nBits) + 1;
         for (int i = 0; i < num5; i++)
         {
             ProtocolExtensionField item = ProtocolExtensionField.PerDecoder.Instance.Decode(input);
             information.iE_Extensions.Add(item);
         }
     }
     return information;
 }
Пример #18
0
            public SubframeAllocation Decode(BitArrayInputStream input)
            {
                SubframeAllocation allocation = new SubframeAllocation();
                allocation.InitDefaults();
                input.readBit();
                switch (input.readBits(1))
                {
                    case 0:
                        allocation.oneframe = input.readBitString(6);
                        return allocation;

                    case 1:
                        input.skipUnreadedBits();
                        allocation.fourframes = input.readBitString(0x18);
                        return allocation;
                }
                throw new Exception(GetType().Name + ":NoChoice had been choose");
            }
Пример #19
0
 public HandoverFromEUTRAPreparationRequest_r8_IEs Decode(BitArrayInputStream input)
 {
     HandoverFromEUTRAPreparationRequest_r8_IEs es = new HandoverFromEUTRAPreparationRequest_r8_IEs();
     es.InitDefaults();
     BitMaskStream stream = new BitMaskStream(input, 3);
     const int num2 = 1;
     es.cdma2000_Type = (CDMA2000_Type)input.readBits(num2);
     if (stream.Read())
     {
         es.rand = input.readBitString(0x20);
     }
     if (stream.Read())
     {
         int nBits = input.readBits(8);
         es.mobilityParameters = input.readOctetString(nBits);
     }
     if (stream.Read())
     {
         es.nonCriticalExtension = HandoverFromEUTRAPreparationRequest_v890_IEs.PerDecoder.Instance.Decode(input);
     }
     return es;
 }
Пример #20
0
 public string Decode(BitArrayInputStream input)
 {
     return input.readBitString(0x1b);
 }
Пример #21
0
            public ENB_ID Decode(BitArrayInputStream input)
            {
                ENB_ID enb_id = new ENB_ID();
                enb_id.InitDefaults();
                input.readBit();
                switch (input.readBits(1))
                {
                    case 0:
                        enb_id.macro_eNB_ID = input.readBitString(20);
                        return enb_id;

                    case 1:
                        enb_id.home_eNB_ID = input.readBitString(0x1c);
                        return enb_id;
                }
                throw new Exception(GetType().Name + ":NoChoice had been choose");
            }
Пример #22
0
 public ECGI Decode(BitArrayInputStream input)
 {
     ECGI ecgi = new ECGI();
     ecgi.InitDefaults();
     BitMaskStream stream = (input.readBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1);
     input.skipUnreadedBits();
     ecgi.pLMN_Identity = input.readOctetString(3);
     ecgi.eUTRANcellIdentifier = input.readBitString(0x1c);
     if (stream.Read())
     {
         input.skipUnreadedBits();
         ecgi.iE_Extensions = new List<ProtocolExtensionField>();
         const int nBits = 0x10;
         int num5 = input.readBits(nBits) + 1;
         for (int i = 0; i < num5; i++)
         {
             ProtocolExtensionField item = ProtocolExtensionField.PerDecoder.Instance.Decode(input);
             ecgi.iE_Extensions.Add(item);
         }
     }
     return ecgi;
 }
Пример #23
0
 public string Decode(BitArrayInputStream input)
 {
     input.readBit();
     int num = input.readBits(8);
     return input.readBitString(num + 1);
 }
Пример #24
0
 public TraceActivation Decode(BitArrayInputStream input)
 {
     TraceActivation activation = new TraceActivation();
     activation.InitDefaults();
     BitMaskStream stream = (input.readBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1);
     input.skipUnreadedBits();
     activation.eUTRANTraceID = input.readOctetString(8);
     activation.interfacesToTrace = input.readBitString(8);
     int nBits = (input.readBit() == 0) ? 3 : 3;
     activation.traceDepth = (TraceDepth)input.readBits(nBits);
     input.readBit();
     int num = input.readBits(8);
     input.skipUnreadedBits();
     activation.traceCollectionEntityIPAddress = input.readBitString(num + 1);
     if (stream.Read())
     {
         input.skipUnreadedBits();
         activation.iE_Extensions = new List<ProtocolExtensionField>();
         nBits = 0x10;
         int num5 = input.readBits(nBits) + 1;
         for (int i = 0; i < num5; i++)
         {
             ProtocolExtensionField item = ProtocolExtensionField.PerDecoder.Instance.Decode(input);
             activation.iE_Extensions.Add(item);
         }
     }
     return activation;
 }
Пример #25
0
 public geran_Type Decode(BitArrayInputStream input)
 {
     geran_Type type = new geran_Type();
     type.InitDefaults();
     BitMaskStream stream = new BitMaskStream(input, 2);
     type.physCellId = PhysCellIdGERAN.PerDecoder.Instance.Decode(input);
     type.carrierFreq = CarrierFreqGERAN.PerDecoder.Instance.Decode(input);
     if (stream.Read())
     {
         type.networkControlOrder = input.readBitString(2);
     }
     if (stream.Read())
     {
         type.systemInformation = SI_OrPSI_GERAN.PerDecoder.Instance.Decode(input);
     }
     return type;
 }
Пример #26
0
 public UE_EUTRA_Capability_v1020_IEs Decode(BitArrayInputStream input)
 {
     UE_EUTRA_Capability_v1020_IEs es = new UE_EUTRA_Capability_v1020_IEs();
     es.InitDefaults();
     BitMaskStream stream = new BitMaskStream(input, 9);
     if (stream.Read())
     {
         es.ue_Category_v1020 = input.readBits(2) + 6;
     }
     if (stream.Read())
     {
         es.phyLayerParameters_v1020 = PhyLayerParameters_v1020.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         es.rf_Parameters_v1020 = RF_Parameters_v1020.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         es.measParameters_v1020 = MeasParameters_v1020.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         es.featureGroupIndRel10_r10 = input.readBitString(0x20);
     }
     if (stream.Read())
     {
         es.interRAT_ParametersCDMA2000_v1020 = IRAT_ParametersCDMA2000_1XRTT_v1020.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         es.ue_BasedNetwPerfMeasParameters_r10 = UE_BasedNetwPerfMeasParameters_r10.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         es.interRAT_ParametersUTRA_TDD_v1020 = IRAT_ParametersUTRA_TDD_v1020.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         es.nonCriticalExtension = UE_EUTRA_Capability_v1060_IEs.PerDecoder.Instance.Decode(input);
     }
     return es;
 }
Пример #27
0
 public UE_EUTRA_CapabilityAddXDD_Mode_v1060 Decode(BitArrayInputStream input)
 {
     UE_EUTRA_CapabilityAddXDD_Mode_v1060 _v = new UE_EUTRA_CapabilityAddXDD_Mode_v1060();
     _v.InitDefaults();
     bool flag = input.readBit() != 0;
     BitMaskStream stream = new BitMaskStream(input, 4);
     if (stream.Read())
     {
         _v.phyLayerParameters_v1060 = PhyLayerParameters_v1020.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         _v.featureGroupIndRel10_v1060 = input.readBitString(0x20);
     }
     if (stream.Read())
     {
         _v.interRAT_ParametersCDMA2000_v1060 = IRAT_ParametersCDMA2000_1XRTT_v1020.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         _v.interRAT_ParametersUTRA_TDD_v1060 = IRAT_ParametersUTRA_TDD_v1020.PerDecoder.Instance.Decode(input);
     }
     if (flag)
     {
         BitMaskStream stream2 = new BitMaskStream(input, 1);
         if (stream2.Read())
         {
             _v.otdoa_PositioningCapabilities_r10 = OTDOA_PositioningCapabilities_r10.PerDecoder.Instance.Decode(input);
         }
     }
     return _v;
 }
Пример #28
0
 public UE_EUTRA_CapabilityAddXDD_Mode_r9 Decode(BitArrayInputStream input)
 {
     UE_EUTRA_CapabilityAddXDD_Mode_r9 _r = new UE_EUTRA_CapabilityAddXDD_Mode_r9();
     _r.InitDefaults();
     BitMaskStream stream = (input.readBit() != 0) ? new BitMaskStream(input, 7) : new BitMaskStream(input, 7);
     if (stream.Read())
     {
         _r.phyLayerParameters_r9 = PhyLayerParameters.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         _r.featureGroupIndicators_r9 = input.readBitString(0x20);
     }
     if (stream.Read())
     {
         _r.featureGroupIndRel9Add_r9 = input.readBitString(0x20);
     }
     if (stream.Read())
     {
         _r.interRAT_ParametersGERAN_r9 = IRAT_ParametersGERAN.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         _r.interRAT_ParametersUTRA_r9 = IRAT_ParametersUTRA_v920.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         _r.interRAT_ParametersCDMA2000_r9 = IRAT_ParametersCDMA2000_1XRTT_v920.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         _r.neighCellSI_AcquisitionParameters_r9 = NeighCellSI_AcquisitionParameters_r9.PerDecoder.Instance.Decode(input);
     }
     return _r;
 }
Пример #29
0
 public UE_EUTRA_Capability Decode(BitArrayInputStream input)
 {
     UE_EUTRA_Capability capability = new UE_EUTRA_Capability();
     capability.InitDefaults();
     BitMaskStream stream = new BitMaskStream(input, 2);
     int nBits = (input.readBit() == 0) ? 3 : 3;
     capability.accessStratumRelease = (AccessStratumRelease)input.readBits(nBits);
     capability.ue_Category = input.readBits(3) + 1;
     capability.pdcp_Parameters = PDCP_Parameters.PerDecoder.Instance.Decode(input);
     capability.phyLayerParameters = PhyLayerParameters.PerDecoder.Instance.Decode(input);
     capability.rf_Parameters = RF_Parameters.PerDecoder.Instance.Decode(input);
     capability.measParameters = MeasParameters.PerDecoder.Instance.Decode(input);
     if (stream.Read())
     {
         capability.featureGroupIndicators = input.readBitString(0x20);
     }
     capability.interRAT_Parameters = interRAT_Parameters_Type.PerDecoder.Instance.Decode(input);
     if (stream.Read())
     {
         capability.nonCriticalExtension = UE_EUTRA_Capability_v920_IEs.PerDecoder.Instance.Decode(input);
     }
     return capability;
 }
Пример #30
0
 public UE_EUTRA_Capability_v9a0_IEs Decode(BitArrayInputStream input)
 {
     UE_EUTRA_Capability_v9a0_IEs es = new UE_EUTRA_Capability_v9a0_IEs();
     es.InitDefaults();
     BitMaskStream stream = new BitMaskStream(input, 4);
     if (stream.Read())
     {
         es.featureGroupIndRel9Add_r9 = input.readBitString(0x20);
     }
     if (stream.Read())
     {
         es.fdd_Add_UE_EUTRA_Capabilities_r9 = UE_EUTRA_CapabilityAddXDD_Mode_r9.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         es.tdd_Add_UE_EUTRA_Capabilities_r9 = UE_EUTRA_CapabilityAddXDD_Mode_r9.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         es.nonCriticalExtension = UE_EUTRA_Capability_v9c0_IEs.PerDecoder.Instance.Decode(input);
     }
     return es;
 }