/******************************************************************************/
// @copyright   Copyright Notification
//   No part may be reproduced except as authorized by written permission.
//   The copyright and the foregoing restriction extend to reproduction in all media.
//   Trademark 2010, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TTA, TTC).
//   All rights reserved.
// @version: IWD_10wk37
// $Date: 2010-09-15 17:58:51 +0200 (Wed, 15 Sep 2010) $
// $Rev: 3904 $
/******************************************************************************/

module UTRAN_ASN1_Templates {
  import from UTRAN_RRC_ASN1_Definitions language "ASN.1:1997" all;
  import from UTRAN_ASP_Definitions language "ASN.1:1997" all;
  import from CommonDefs all;
  import from NAS_24008TypeDefs all; // needed for security info parameters
  import from UTRAN_Parameters all;
  import from UTRAN_Templates all;
  
  // =============================================================================
  // UTRAN Constants
  // -----------------------------------------------------------------------------
  
  const C_RNTI          tsc_CRNTI := '0000000000000001'B;      // C RNTI.
                                                               // Default value: '0000 0000 0000 0001'B
  const ChannelisationCode256 tsc_AICH1_ChC := 3;              // Channelization code for tsc_AICH1
  const SpreadingFactor tsc_UL_DPDCH_SF_SRB := sf64;           // Channelization code for UL DPDCH for an SRB connection with a RAB established
  const DPCCH_PowerOffset tsc_DPCCH_PowerOffset := -40;        // DPCCH power offset value.
  const SF512_AndCodeNumber tsc_DL_DPCH1_ChC_SRB := { sf128 := 0 }; // Channelization code for tsc_DL_DPCH1 for a SRB connection with a RAB established
  const B16_Type tsc_DL_DPCH1_ChC_SRB_TDD := '0000000000001000'B; // Channelization code for tsc_DL_DPCH1 for a SRB connection with a RAB established
  const B16_Type tsc_DL_DPCH1_ChC_Speech_TDD := '1100000000000000'B; // Channelization code for tsc_DL_DPCH1 for a SRB connection with a RAB established
  const SF512_AndPilot  tsc_DL_DPCH1_SFP_SRB := { sfd128 := pb4 }; // Spreading factor and pilot bits for tsc_DL_DPCH1 for an SRB connection with a RAB established
  const DefaultDPCH_OffsetValueFDD tsc_DefaultDPCH_OffsetValue := 459; // Default DPCH offset value. Actual value DefaultDPCH-OffsetValueFDD = IE value * 512
  const DefaultDPCH_OffsetValueTDD tsc_DefaultDPCH_OffsetValue_TDD := 0; // Default DPCH offset value. Actual value DefaultDPCH-OffsetValueTDD = IE value * 512
  const ChannelisationCode256 tsc_PICH1_ChC := 2;              // Channelization code for tsc_PICH1
  const DL_TS_ChannelisationCode tsc_PICH1_ChC_TDD := cc16_5;  // Channelization code for tsc_PICH1
  const DL_TS_ChannelisationCode tsc_PICH2_ChC := cc16_6;      // Channelization code for tsc_PICH2
  const SF_PRACH        tsc_PRACH1_SF := sfpr64;               // Channelization code for UL DPDCH for PRACH1
  const PreambleScramblingCodeWordNumber tsc_PRACH1_ScrC := 0; // Scrambling code for preamble of PRACH1
  const AvailableSignatures tsc_PRACH1_Signatures := '0000000011111111'B; // available signatures for PRACH. (from 34.108  cl. 6.1 (SIB5))
  
  const AICH_PowerOffset tsc_PowerAICH := -5;                  // relative transmission power level of  AICH. The power level is specified relatively to power leve of CPICH in terms of AICH_Ec.
  const DL_TxPower      tsc_DL_TxPower_DPCH := -5;             // down link transmit power level of DPCH used for CS RABS.
  const PICH_PowerOffset tsc_PowerPICH := -5;                  // relative transmission power level of PICH. The power level is specified relatively to power level of CPICH  in terms of PICH_Ec.
  const DL_TxPower      tsc_PowerpCCPCH_FDD := -2;                 // transmission power level of primary CCPCH .
  const DL_TxPower      tsc_PowerpSCH := -5;                   // transmission power level of primary SCH relative to CPICH.
  const DL_TxPower      tsc_PowersCCPCH1 := -2;                // transmission power level of secondary CCPCH1 relative to CPICH.
  const DL_TxPower      tsc_PowersSCH := -5;                   // transmission power level of secondary SCH relative to CPICH.
  const DL_TxPower      tsc_PowerFPACH := -2;                  // relative transmission power level of  FPACH.// Default is -5 dBm
  const DL_TxPower_PCCPCH tsc_PowerpCCPCH_TDD := -60;                 // transmission power level of primary CCPCH relative to CPICH.
  const DL_TxPower_PCPICH tsc_PowerpCPICH := -60;              // transmission power level of primary CPICH. The power level is specified in terms of CPICH_Ec.

  const PuncturingLimit tsc_PuncLimit := pl1;                  // puncturing limit for PRACH. default value is 1.
                                                               // Default value: Pl1
  const SecondaryScramblingCode tsc_DL_DPCH1_2ndScrC := 1;     // secondary scrambling code for DL DPCH1
  const SF256_AndCodeNumber tsc_S_CCPCH1_ChC := { sf64 := 1 }; // Channelization code for tsc_S_CCPCH1
  const SCCPCHSlotFormat tsc_SlotFormatsCCPCH1 := 8;           // channelization code for secondary CCPCH1 when spreading factor = 64, default value is 8.

  const PrimaryCCPCH_TX_Power tsc_PrimaryCCPCH_TX_Power := 12; // transmission power level of primary CCPCH. Default is 12 dBm.
  const SCCPCH_ChannelisationCodeList tsc_S_CCPCH1_1P1F_ChC := {cc16_7, cc16_8};  //Channelization code for secondary CCPCH
  const TDD_PRACH_CCode_LCR_r4         tsc_PRACH1_ChC := cc8_8;                        // channel code for PRACH
  const TDD_FPACH_CCode16_r4         tsc_FPACH1_ChC := cc16_15;                        // channel code for FPACH
  const DwPCH_Power         tsc_DwPCH_power := 180;
  const TPC_CombinationIndex tsc_TPC_CombinationIndex := 0;
  const TPC_StepSizeFDD     tsc_TpcStepSize_FDD := 0;                  // Value 0 corresponds to 1 dB
  const TPC_StepSizeTDD     tsc_TPC_StepSize_TDD := 1;
  const integer             tsc_SS_StepSize_TDD := 1;
  const UL_TargetSIR        tsc_UL_TargetSIR := 48;
  const integer             tsc_SS_Frequency := 1;
  const UL_TS_ChannelisationCode tsc_UL_DPCH1_ChC_SRB_13_6 := cc8_1;
  const UL_TS_ChannelisationCode tsc_UL_DPCH1_ChC_Speech := cc8_1;
  const CN_DomainIdentity tsc_PS_Domain := ps_domain;
  const CN_DomainIdentity tsc_CS_Domain := cs_domain;


  // =============================================================================
  // ASN.1 Type Constraint
  // -----------------------------------------------------------------------------
  template (value) SS_ActivationTime cs_ActivateNow :=
  {
    activateNow := NULL
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // This is the same as the EUTRA template, but using a different ASN.1 definition
  // -----------------------------------------------------------------------------
  template (value) PLMN_Identity cs_UTRAN_HPLMN_Def := {
    mcc := {0,0,1},
    mnc := {0,1}
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // Absence of the UL UARFCN is equivalent to applying the default duplex distance defined for the operating frequency.
  // According to RAN2 only default duplex distance is used
  // -----------------------------------------------------------------------------
  template (value) FrequencyInfo cs_FreqInfo_FDD(UARFCN p_UarfcnDL) :=
  {
    modeSpecificInfo := {
      fdd := {
        uarfcn_UL := omit,
        uarfcn_DL := p_UarfcnDL
      }
    }
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Absence of the UL UARFCN is equivalent to applying the default duplex distance defined for the operating frequency.
  // According to RAN2 only default duplex distance is used
  // -----------------------------------------------------------------------------
  template (value) FrequencyInfo cs_FreqInfo_TDD(UARFCN p_UarfcnNt) :=
  {
    modeSpecificInfo := {
      tdd := {
        uarfcn_Nt := p_UarfcnNt
      }
    }
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default U_RNTI identity
  // -----------------------------------------------------------------------------
  template (value) U_RNTI cs_U_RNTI_Def :=
  {
    srnc_Identity := px_SRNC_Id,
    s_RNTI := px_SRNTI
  };
  // =============================================================================
  // ASN.1 Type Constraint
  // Default OpenLoopPowerControl_TDD
  //    ZHANG : ONLY FOR TDD
  // -----------------------------------------------------------------------------
  template (value) OpenLoopPowerControl_TDD cs_OpenLoopPowerControl_TDD :=
  {
    primaryCCPCH_TX_Power := tsc_PrimaryCCPCH_TX_Power,
    alpha := omit,
    prach_ConstantValue := 0,
    dpch_ConstantValue := 0,
    pusch_ConstantValue := omit
  };

  // =============================================================================
  // ASN.1 Type Constraint
  //  CommonTimeslotInfo for SCCPCH
  //    ZHANG : ONLY FOR TDD
  // -----------------------------------------------------------------------------
  template (value) CommonTimeslotInfoSCCPCH cs_CommonTimeslotInfoSCCPCH :=
  {
    secondInterleavingMode := frameRelated,
    tfci_Coding := tfci_bits_16,
    puncturingLimit := pl0_72,
    repetitionPeriodLengthAndOffset := {repetitionPeriod64 := {
        length_ := 58,
        offset := 6
      }
    }
  };

  // =============================================================================
  // ASN.1 Type Constraint
  //  IndividualTimeslotInfo for SCCPCH
  //    ZHANG : ONLY FOR TDD
  // -----------------------------------------------------------------------------
  template (value) IndividualTimeslotInfo cs_IndividualTimeslotInfo_SCCPCH :=
  {
    timeslotNumber := 0,
    tfci_Existence := true,
    midambleShiftAndBurstType := {
      burstType := {
        type1 := {
          midambleConfigurationBurstType1and3 := ms4,
          midambleAllocationMode := {defaultMidamble := NULL}
        }
      }
    }
  };

  // =============================================================================
  // ASN.1 Type Constraint
  //  TFS for PCH
  //    ZHANG : ONLY FOR TDD
  // -----------------------------------------------------------------------------
  template (value) CommonTransChTFS cs_PCH_TFS_UE_TDD :=
  {
    tti := {
      tti20 := {
        {
          rlc_Size := {
            tdd := {
              commonTDD_Choice := {
                octetModeRLC_SizeInfoType1 := {sizeType1 := 28}
              }
            }
          },
          numberOfTbSizeList := { {zero := NULL},
                                  {one := NULL} },
          logicalChannelList := {allSizes := NULL}
        }
      }
    },
    semistaticTF_Information := {
      channelCodingType := {convolutional := half},
      rateMatchingAttribute := 230,
      crc_Size := crc16
    }
  };

  // =============================================================================
  // ASN.1 Type Constraint
  //  TFS for FACH
  //    ZHANG : ONLY FOR TDD
  // -----------------------------------------------------------------------------
  template (value) CommonTransChTFS cs_FACH_TFS_UE_TDD :=
  {
    tti := {
      tti20 := {
        {
          rlc_Size := {
            tdd := {
              commonTDD_Choice := {
                bitModeRLC_SizeInfo:= {
                  sizeType2 := { part1 := 5,
                                 part2 := 3 }
                }
              }
            }
          },
          numberOfTbSizeList := { {zero := NULL},
                                  {one := NULL},
                                  {small := 2} },
          logicalChannelList := {allSizes := NULL}
        }
      }
    },
    semistaticTF_Information := {
      channelCodingType := {convolutional := half},
      rateMatchingAttribute := 230,
      crc_Size := crc16
    }
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  //  TFS for PS FACH
  //    ZHANG : ONLY FOR TDD
  // -----------------------------------------------------------------------------
  template (value) CommonTransChTFS cs_FACH_TFS_PS_UE_TDD :=
  {
    tti := {
      tti20 := {
        {
          rlc_Size := {
            tdd := {
              commonTDD_Choice := {
                bitModeRLC_SizeInfo := {
                  sizeType2 := { part1 := 5,
                                 part2 := 3 }
                }
              }
            }
          },
          numberOfTbSizeList := { {zero := NULL},
                                  {one := NULL},
                                  {small := 2},
                                  {small := 3},
                                  {small := 4},
                                  {small := 5},
                                  {small := 6} },
          logicalChannelList := {allSizes := NULL}
        }
      }
    },
    semistaticTF_Information := {
      channelCodingType := {convolutional := half},
      rateMatchingAttribute := 230,
      crc_Size := crc16
    }
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  //  TFS for RACH
  //    ZHANG : ONLY FOR TDD
  // -----------------------------------------------------------------------------
  template (value) CommonTransChTFS_LCR cs_RACH_TFS_LCR :=
  {
    tti := {
      tti10 := {
        {
          rlc_Size := {
            tdd := {
              commonTDD_Choice := {
                bitModeRLC_SizeInfo:= {
                  sizeType2 := { part1 := 5,
                                 part2 := 2 }
                }
              }
            }
          },
          numberOfTbSizeList := { {zero := NULL} },
          logicalChannelList := {configured := NULL}
        }
      }
    },
    semistaticTF_Information := {
      channelCodingType := {convolutional := half},
      rateMatchingAttribute := 110,
      crc_Size := crc16
    }
  };

  // =============================================================================
  // ASN.1 Type Constraint
  //  PRACH_RACH_Info for LCR TDD
  //    ZHANG : ONLY FOR TDD
  // -----------------------------------------------------------------------------
  template (value) PRACH_RACH_Info_LCR_r4 cs_PRACH_RACH_Info_LCR_r4(TDD_PRACH_CCode_LCR_r4 p_UL_TS_ChannelisationCode,
                                                                    TDD_FPACH_CCode16_r4 p_DL_TS_ChannelisationCode) :=
  {
    sync_UL_Info := {
      sync_UL_Codes_Bitmap := '11111111'B,
      prxUpPCHdes := 15,
      powerRampStep := 1,
      max_SYNC_UL_Transmissions := tr8,
      mmax := 2
    },
    prach_DefinitionList := {
      {
        timeslot := 1,
        prach_ChanCodes_LCR := {p_UL_TS_ChannelisationCode},
        midambleShiftAndBurstType := {
          midambleAllocationMode := {defaultMidamble := NULL},
          midambleConfiguration := 4
        },
        fpach_Info := {
          timeslot := 0,
          channelisationCode := p_DL_TS_ChannelisationCode,
          midambleShiftAndBurstType := {
            midambleAllocationMode := {defaultMidamble := NULL},
            midambleConfiguration := 4
          },
          wi := 4
        }
      }
    }
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  //  AccessServiceClass for LCR TDD
  //    ZHANG : ONLY FOR TDD
  // -----------------------------------------------------------------------------
  template (value) AccessServiceClass_TDD_LCR_r4 cs_AccessServiceClass_TDD_LCR_r4 :=
  {
    availableSYNC_UlCodesIndics := '11111111'B,
    subchannelSize := {size1 := NULL}
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  //    ZHANG : ONLY FOR TDD
  // -----------------------------------------------------------------------------
  template (value) IndividualTimeslotInfo_LCR_r4 cs_IndividualTimeslotInfo_LCR_r4_SCCPCH :=
  {
    timeslotNumber := 0,
    tfci_Existence := true,
    midambleShiftAndBurstType := {
      midambleAllocationMode := {defaultMidamble := NULL},
      midambleConfiguration := 4
    },
    modulation := mod_QPSK,
    ss_TPC_Symbols := zero,
    additionalSS_TPC_Symbols := omit
  };

  // =============================================================================
  // ASN.1 Type Constraint
  //  used in system info, reference to "cb_IndividualTimeslotInfo_LCR_r4_SCCPCH"
  //    ZHANG : ONLY FOR TDD
  // -----------------------------------------------------------------------------
  template (value) IndividualTimeslotInfo_LCR_r4_ext cs_IndividualTimeslotInfo_LCR_r4_ext_SCCPCH :=
  {
    midambleShiftAndBurstType := {
      midambleAllocationMode := {defaultMidamble := NULL},
      midambleConfiguration := 4
    },
    modulation := mod_QPSK,
    ss_TPC_Symbols := zero
  };

  // =============================================================================
  // ASN.1 Type Constraint
  //
  //    ZHANG : ONLY FOR TDD
  // -----------------------------------------------------------------------------
  template (value) PICH_Info_LCR_r4 cs_PICHInfo_LCR_r4 :=
  {
    timeslot := 0,
    pichChannelisationCodeList_LCR_r4 := {
      tsc_PICH1_ChC_TDD,
      tsc_PICH2_ChC
    },
    midambleShiftAndBurstType := {
      midambleAllocationMode := {defaultMidamble := NULL},
      midambleConfiguration := 4
    },
    repetitionPeriodLengthOffset := {rpp64_2 := 0},
    pagingIndicatorLength := pi4,
    n_GAP := f4,
    n_PCH := 2
  };

  // =============================================================================
  // ASN.1 Type Constraint
  //  Default_TimeSlot_Config_List
  //    ZHANG : ONLY FOR TDD
  // -----------------------------------------------------------------------------

  template (value) TimeSlotConfigurationList_LCR cs_Default_TimeSlot_Config_List :=
  {
    {
      timeSlotLCR := 1,
      timeSlotStatus := active,
      timeSlotDirection := uplink
    },
    {
      timeSlotLCR := 2,
      timeSlotStatus := active,
      timeSlotDirection := uplink
    },
    {
      timeSlotLCR := 3,
      timeSlotStatus := active,
      timeSlotDirection := uplink
    },
    {
      timeSlotLCR := 4,
      timeSlotStatus := active,
      timeSlotDirection := downlink
    },
    {
      timeSlotLCR := 5,
      timeSlotStatus := active,
      timeSlotDirection := downlink
    },
    {
      timeSlotLCR := 6,
      timeSlotStatus := active,
      timeSlotDirection := downlink
    }
  };

  group SysInfo_Templates {
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 5 for TDD
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5 cs_SIB5_Def_TDD(PICH_PowerOffset p_PowerPICH,
                                                CellParametersID p_CellParametersID) :=
  {
    sib6indicator := true,
    pich_PowerOffset := p_PowerPICH,
    modeSpecificInfo := {
      tdd := {
        pusch_SysInfoList_SFN := omit,
        pdsch_SysInfoList_SFN := omit,
        openLoopPowerControl_TDD := cs_OpenLoopPowerControl_TDD
      }
    },
    primaryCCPCH_Info := {
      tdd := {
        syncCase := omit,
        cellParametersID := p_CellParametersID,
        sctd_Indicator := false
      }
    },
    prach_SystemInformationList := {
      {
        prach_RACH_Info := {
          modeSpecificInfo := {
            tdd := {
              timeslot := 1,
              channelisationCodeList := {sf8 := { cc8_8 } },
              prach_Midamble := direct
            }
          }
        },
        transportChannelIdentity := tsc_RACH1,
        rach_TransportFormatSet := omit,
        rach_TFCS := {
          normalTFCI_Signalling := {
            complete := {
              ctfcSize := {
                ctfc2Bit := {
                  {
                    ctfc2 := 0,
                    powerOffsetInformation := omit
                  },
                  {
                    ctfc2 := 1,
                    powerOffsetInformation := omit
                  }
                }
              }
            }
          }
        },
        prach_Partitioning := omit,
        persistenceScalingFactorList := {
          psf0_9,
          psf0_9,
          psf0_9,
          psf0_9,
          psf0_9
        },
        ac_To_ASC_MappingTable := {
          6,
          5,
          4,
          3,
          2,
          1,
          0
        },
        modeSpecificInfo := {
          tdd := NULL
        }
      }
    },
    sCCPCH_SystemInformationList := {
      {
        secondaryCCPCH_Info := {
          modeSpecificInfo := {
            tdd := {
              commonTimeslotInfo := cs_CommonTimeslotInfoSCCPCH,
              individualTimeslotInfo := cs_IndividualTimeslotInfo_SCCPCH,
              channelisationCode := tsc_S_CCPCH1_1P1F_ChC
            }
          }
        },
        tfcs := {
          normalTFCI_Signalling := {
            complete := {
              ctfcSize := {
                ctfc4Bit := {
                  {
                    ctfc4 := 0,
                    powerOffsetInformation := omit
                  },
                  {
                    ctfc4 := 1,
                    powerOffsetInformation := omit
                  },
                  {
                    ctfc4 := 2,
                    powerOffsetInformation := omit
                  },
                  {
                    ctfc4 := 3,
                    powerOffsetInformation := omit
                  },
                  {
                    ctfc4 := 4,
                    powerOffsetInformation := omit
                  },
                  {
                    ctfc4 := 5,
                    powerOffsetInformation := omit
                  },
                  {
                    ctfc4 := 6,
                    powerOffsetInformation := omit
                  },
                  {
                    ctfc4 := 8,
                    powerOffsetInformation := omit
                  }
                }
              }
            }
          }
        },
        fach_PCH_InformationList := {
          {
            transportFormatSet := {
              commonTransChTFS := cs_PCH_TFS_UE_TDD
            },
            transportChannelIdentity := tsc_PCH1,     // PCH
            ctch_Indicator := false
          },
          {
            transportFormatSet := {
              commonTransChTFS := cs_FACH_TFS_UE_TDD
            },
            transportChannelIdentity := tsc_FACH1,     // FACH
            ctch_Indicator := false
          },
          {
            transportFormatSet := {
              commonTransChTFS := cs_FACH_TFS_PS_UE_TDD
            },
            transportChannelIdentity := tsc_FACH2,     // FACH
            ctch_Indicator := false
          }
        },
        pich_Info := omit
      }
    },
    cbs_DRX_Level1Information := omit,
    v4b0NonCriticalExtensions := {
      sysInfoType5_v4b0ext :=
      {
        pNBSCH_Allocation_r4 := omit,
        openLoopPowerControl_IPDL_TDD := omit,
        prach_SystemInformationList_LCR_r4 :=
        {
          {
            prach_RACH_Info_LCR := cs_PRACH_RACH_Info_LCR_r4(tsc_PRACH1_ChC, tsc_FPACH1_ChC),
            rach_TransportFormatSet_LCR := {commonTransChTFS_LCR := cs_RACH_TFS_LCR},
            prach_Partitioning_LCR :=
            {
              // accessServiceClass-TDD-LCR is MD, please see comment on IE 'ASCSetting-TDD-LCR-r4'  in 25.331-480,
              { accessServiceClass_TDD_LCR := cs_AccessServiceClass_TDD_LCR_r4 },
              { accessServiceClass_TDD_LCR := cs_AccessServiceClass_TDD_LCR_r4 },
              { accessServiceClass_TDD_LCR := cs_AccessServiceClass_TDD_LCR_r4 },
              { accessServiceClass_TDD_LCR := cs_AccessServiceClass_TDD_LCR_r4 },
              { accessServiceClass_TDD_LCR := cs_AccessServiceClass_TDD_LCR_r4 },
              { accessServiceClass_TDD_LCR := cs_AccessServiceClass_TDD_LCR_r4 },
              { accessServiceClass_TDD_LCR := cs_AccessServiceClass_TDD_LCR_r4 }
            } // End of PRACH-Partitioning-LCR-r4
          }
        }, // End of prach_SystemInformationList-LCR-r4
        tdd128SpecificInfo :=
        {
          pusch_SysInfoList_SFN := omit,
          pdsch_SysInfoList_SFN := omit,
          pCCPCH_LCR_Extensions := { tstd_Indicator := false },
          sCCPCH_LCR_ExtensionsList :=
          {
            {
              secondaryCCPCH_LCR_Extensions :=
              {
                individualTimeslotLCR_Ext := cs_IndividualTimeslotInfo_LCR_r4_ext_SCCPCH
              },
              pich_Info := cs_PICHInfo_LCR_r4
            }
          } // End of SCCPCH-SystemInformationList-LCR-r4-ext
        }, // End of TddSpecificInfo
        frequencyBandIndicator := omit
      },// End of sysInfoType5-v4xyext
      v590NonCriticalExtensions := {
        sysInfoType5_v590ext := omit,
        v650NonCriticalExtensions := {
          sysInfoType5_v650ext := omit,
          v680NonCriticalExtensions := {
            sysInfoType5_v680ext := {
              hsdpa_CellIndicator := hsdpa_CapableCell
            },
            v690NonCriticalExtensions := omit
          }
        }
      }
    }
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 5 for FDD
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5 cs_SIB5_Def(PICH_PowerOffset p_PowerPICH,
                                            AICH_PowerOffset p_PowerAICH) :=
  {
    sib6indicator := true,
    pich_PowerOffset := p_PowerPICH,
    modeSpecificInfo := {
      fdd := {
        aich_PowerOffset := p_PowerAICH
      }
    },
    primaryCCPCH_Info := omit,
    prach_SystemInformationList := {
      {
        prach_RACH_Info := {
          modeSpecificInfo := {
            fdd := {
              availableSignatures := tsc_PRACH1_Signatures,
              availableSF := tsc_PRACH1_SF,
              preambleScramblingCodeWordNumber := tsc_PRACH1_ScrC,
              puncturingLimit := pl1,
              availableSubChannelNumbers := '111111111111'B
            }
          }
        },
        transportChannelIdentity := tsc_RACH1,
        rach_TransportFormatSet := {
          commonTransChTFS := cs_RACH_TFS_UE_FDD
        },
        rach_TFCS := {
          normalTFCI_Signalling := {
            complete := {
              ctfcSize := {
                ctfc2Bit := {
                  {
                    ctfc2 := 0,
                    powerOffsetInformation := {
                      gainFactorInformation := {
                        computedGainFactors := 0
                      },
                      powerOffsetPp_m := 0
                    }
                  },
                  {
                    ctfc2 := 1,
                    powerOffsetInformation := {
                      gainFactorInformation := {
                        signalledGainFactors := {
                          modeSpecificInfo := {
                            fdd := {
                              gainFactorBetaC := 11
                            }
                          },
                          gainFactorBetaD := 15,
                          referenceTFC_ID := 0
                        }
                      },
                      powerOffsetPp_m := 0
                    }
                  }
                }
              }
            }
          }
        },
        prach_Partitioning := {
          fdd := {
            {
              accessServiceClass_FDD := omit
            },
            {
              accessServiceClass_FDD := {
                availableSignatureStartIndex := 0,
                availableSignatureEndIndex := 7,
                assignedSubChannelNumber := '1111'B
              }
            },
            {
              accessServiceClass_FDD := omit
            },
            {
              accessServiceClass_FDD := {
                availableSignatureStartIndex := 0,
                availableSignatureEndIndex := 7,
                assignedSubChannelNumber := '1111'B
              }
            },
            {
              accessServiceClass_FDD := omit
            },
            {
              accessServiceClass_FDD := {
                availableSignatureStartIndex := 0,
                availableSignatureEndIndex := 7,
                assignedSubChannelNumber := '1111'B
              }
            },
            {
              accessServiceClass_FDD := omit
            },
            {
              accessServiceClass_FDD := {
                availableSignatureStartIndex := 0,
                availableSignatureEndIndex := 7,
                assignedSubChannelNumber := '1111'B
              }
            }
          }
        },
        persistenceScalingFactorList := {
          psf0_9,
          psf0_9,
          psf0_9,
          psf0_9,
          psf0_9,
          psf0_9
        },
        ac_To_ASC_MappingTable := {
          6,
          5,
          4,
          3,
          2,
          1,
          0
        },
        modeSpecificInfo := {
          fdd := {
            primaryCPICH_TX_Power := 31,
            constantValue := -10,
            prach_PowerOffset := {
              powerRampStep := 3,     // db
              preambleRetransMax := 4
            },
            rach_TransmissionParameters := {
              mmax := 2,
              nb01Min := 3,
              nb01Max := 10
            },
            aich_Info := {
              channelisationCode256 := tsc_AICH1_ChC,
              sttd_Indicator := false,
              aich_TransmissionTiming := e0
            }
          }
        }
      }
    },
    sCCPCH_SystemInformationList := {
      {
        secondaryCCPCH_Info := {
          modeSpecificInfo := {
            fdd := {
              dummy1 := mayBeUsed,     // mandatory ie
              dummy2 := omit,
              secondaryScramblingCode := omit,
              sttd_Indicator := false,
              sf_AndCodeNumber := tsc_S_CCPCH1_ChC,
              pilotSymbolExistence := false,
              tfci_Existence := true,
              positionFixedOrFlexible := flexible,
              timingOffset := 0
            }
          }
        },
        tfcs := {
          normalTFCI_Signalling := {
            complete := {
              ctfcSize := {
                ctfc4Bit := {
                  {
                    ctfc4 := 0,
                    powerOffsetInformation := omit
                  },
                  {
                    ctfc4 := 1,
                    powerOffsetInformation := omit
                  },
                  {
                    ctfc4 := 2,
                    powerOffsetInformation := omit
                  },
                  {
                    ctfc4 := 3,
                    powerOffsetInformation := omit
                  },
                  {
                    ctfc4 := 4,
                    powerOffsetInformation := omit
                  },
                  {
                    ctfc4 := 5,
                    powerOffsetInformation := omit
                  },
                  {
                    ctfc4 := 6,
                    powerOffsetInformation := omit
                  },
                  {
                    ctfc4 := 8,
                    powerOffsetInformation := omit
                  }
                }
              }
            }
          }
        },
        fach_PCH_InformationList := {
          {
            transportFormatSet := {
              commonTransChTFS := cs_PCH_TFS_UE
            },
            transportChannelIdentity := tsc_PCH1,     // PCH
            ctch_Indicator := false
          },
          {
            transportFormatSet := {
              commonTransChTFS := cs_FACH_TFS_UE
            },
            transportChannelIdentity := tsc_FACH1,     // FACH
            ctch_Indicator := false
          },
          {
            transportFormatSet := {
              commonTransChTFS := cs_FACH_TFS_PS_UE
            },
            transportChannelIdentity := tsc_FACH2,     // FACH
            ctch_Indicator := false
          }
        },
        pich_Info := {
          fdd := {
            channelisationCode256 := tsc_PICH1_ChC,
            pi_CountPerFrame := e18,
            sttd_Indicator := false
          }
        }
      }
    },
    cbs_DRX_Level1Information := omit,
    v4b0NonCriticalExtensions := omit
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 5 for band 11
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5 cds_SIB5_Band11(PICH_PowerOffset p_PowerPICH,
                                                AICH_PowerOffset p_PowerAICH) modifies cs_SIB5_Def :=
  {
    v4b0NonCriticalExtensions := {
      v590NonCriticalExtensions := {
        v650NonCriticalExtensions := {
          sysInfoType5_v650ext := {
            frequencyBandIndicator2 := bandXI
          },
          v680NonCriticalExtensions := {
            v690NonCriticalExtensions := {
              sysInfoType5_v690ext := cs_SysInfoType5_v690ext_IEs_AddRACH_TF
            }
          }
        }
      }
    }
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 5 for band 12
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5 cds_SIB5_Band12(PICH_PowerOffset p_PowerPICH,
                                                AICH_PowerOffset p_PowerAICH) modifies cs_SIB5_Def :=
  {
    v4b0NonCriticalExtensions := {
      v590NonCriticalExtensions := {
        v650NonCriticalExtensions := {
          sysInfoType5_v650ext := {
            frequencyBandIndicator2 := bandXII
          },
          v680NonCriticalExtensions := {
            v690NonCriticalExtensions := {
              sysInfoType5_v690ext := cs_SysInfoType5_v690ext_IEs_AddRACH_TF
            }
          }
        }
      }
    }
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 5 for band 13
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5 cds_SIB5_Band13(PICH_PowerOffset p_PowerPICH,
                                                AICH_PowerOffset p_PowerAICH) modifies cs_SIB5_Def :=
  {
    v4b0NonCriticalExtensions := {
      v590NonCriticalExtensions := {
        v650NonCriticalExtensions := {
          sysInfoType5_v650ext := {
            frequencyBandIndicator2 := bandXIII
          },
          v680NonCriticalExtensions := {
            v690NonCriticalExtensions := {
              sysInfoType5_v690ext := cs_SysInfoType5_v690ext_IEs_AddRACH_TF
            }
          }
        }
      }
    }
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 5 for band 14
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5 cds_SIB5_Band14(PICH_PowerOffset p_PowerPICH,
                                                AICH_PowerOffset p_PowerAICH) modifies cs_SIB5_Def :=
  {
    v4b0NonCriticalExtensions := {
      v590NonCriticalExtensions := {
        v650NonCriticalExtensions := {
          sysInfoType5_v650ext := {
            frequencyBandIndicator2 := bandXIV
          },
          v680NonCriticalExtensions := {
            v690NonCriticalExtensions := {
              sysInfoType5_v690ext := cs_SysInfoType5_v690ext_IEs_AddRACH_TF
            }
          }
        }
      }
    }
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 5 for band 15
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5 cds_SIB5_Band15(PICH_PowerOffset p_PowerPICH,
                                                AICH_PowerOffset p_PowerAICH) modifies cs_SIB5_Def :=
  {
    v4b0NonCriticalExtensions := {
      v590NonCriticalExtensions := {
        v650NonCriticalExtensions := {
          sysInfoType5_v650ext := {
            frequencyBandIndicator2 := bandXV
          },
          v680NonCriticalExtensions := {
            v690NonCriticalExtensions := {
              sysInfoType5_v690ext := cs_SysInfoType5_v690ext_IEs_AddRACH_TF
            }
          }
        }
      }
    }
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 5 for band 16
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5 cds_SIB5_Band16(PICH_PowerOffset p_PowerPICH,
                                                AICH_PowerOffset p_PowerAICH) modifies cs_SIB5_Def :=
  {
    v4b0NonCriticalExtensions := {
      v590NonCriticalExtensions := {
        v650NonCriticalExtensions := {
          sysInfoType5_v650ext := {
            frequencyBandIndicator2 := bandXVI
          },
          v680NonCriticalExtensions := {
            v690NonCriticalExtensions := {
              sysInfoType5_v690ext := cs_SysInfoType5_v690ext_IEs_AddRACH_TF
            }
          }
        }
      }
    }
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 5 for band 17
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5 cds_SIB5_Band17(PICH_PowerOffset p_PowerPICH,
                                                AICH_PowerOffset p_PowerAICH) modifies cs_SIB5_Def :=
  {
    v4b0NonCriticalExtensions := {
      v590NonCriticalExtensions := {
        v650NonCriticalExtensions := {
          sysInfoType5_v650ext := {
            frequencyBandIndicator2 := bandXVII
          },
          v680NonCriticalExtensions := {
            v690NonCriticalExtensions := {
              sysInfoType5_v690ext := cs_SysInfoType5_v690ext_IEs_AddRACH_TF
            }
          }
        }
      }
    }
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 5 for band 18
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5 cds_SIB5_Band18(PICH_PowerOffset p_PowerPICH,
                                                AICH_PowerOffset p_PowerAICH) modifies cs_SIB5_Def :=
  {
    v4b0NonCriticalExtensions := {
      v590NonCriticalExtensions := {
        v650NonCriticalExtensions := {
          sysInfoType5_v650ext := {
            frequencyBandIndicator2 := bandXVIII
          },
          v680NonCriticalExtensions := {
            v690NonCriticalExtensions := {
              sysInfoType5_v690ext := cs_SysInfoType5_v690ext_IEs_AddRACH_TF
            }
          }
        }
      }
    }
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 5 for band 19
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5 cds_SIB5_Band19(PICH_PowerOffset p_PowerPICH,
                                                AICH_PowerOffset p_PowerAICH) modifies cs_SIB5_Def :=
  {
    v4b0NonCriticalExtensions := {
      v590NonCriticalExtensions := {
        v650NonCriticalExtensions := {
          sysInfoType5_v650ext := {
            frequencyBandIndicator2 := bandXIX
          },
          v680NonCriticalExtensions := {
            v690NonCriticalExtensions := {
              sysInfoType5_v690ext := cs_SysInfoType5_v690ext_IEs_AddRACH_TF
            }
          }
        }
      }
    }
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 5 for band 20
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5 cds_SIB5_Band20(PICH_PowerOffset p_PowerPICH,
                                                AICH_PowerOffset p_PowerAICH) modifies cs_SIB5_Def :=
  {
    v4b0NonCriticalExtensions := {
      v590NonCriticalExtensions := {
        v650NonCriticalExtensions := {
          sysInfoType5_v650ext := {
            frequencyBandIndicator2 := bandXX
          },
          v680NonCriticalExtensions := {
            v690NonCriticalExtensions := {
              sysInfoType5_v690ext := cs_SysInfoType5_v690ext_IEs_AddRACH_TF
            }
          }
        }
      }
    }
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 5 for band 5
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5 cds_SIB5_Band5(PICH_PowerOffset p_PowerPICH,
                                               AICH_PowerOffset p_PowerAICH) modifies cs_SIB5_Def :=
  {
    v4b0NonCriticalExtensions := {
      sysInfoType5_v4b0ext := {
        frequencyBandIndicator := bandV
      },
      v590NonCriticalExtensions := {
        v650NonCriticalExtensions := {
          v680NonCriticalExtensions := {
            v690NonCriticalExtensions := {
              sysInfoType5_v690ext := cs_SysInfoType5_v690ext_IEs_AddRACH_TF
            }
          }
        }
      }
    }
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 5 for band 6
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5 cds_SIB5_Band6(PICH_PowerOffset p_PowerPICH,
                                               AICH_PowerOffset p_PowerAICH) modifies cs_SIB5_Def :=
  {
    v4b0NonCriticalExtensions := {
      sysInfoType5_v4b0ext := {
        frequencyBandIndicator := bandVI
      },
      v590NonCriticalExtensions := {
        v650NonCriticalExtensions := {
          v680NonCriticalExtensions := {
            v690NonCriticalExtensions := {
              sysInfoType5_v690ext := cs_SysInfoType5_v690ext_IEs_AddRACH_TF
            }
          }
        }
      }
    }
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 5 for band 7
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5 cds_SIB5_Band7(PICH_PowerOffset p_PowerPICH,
                                               AICH_PowerOffset p_PowerAICH) modifies cs_SIB5_Def :=
  {
    v4b0NonCriticalExtensions := {
      sysInfoType5_v4b0ext := {
        frequencyBandIndicator := bandVII
      },
      v590NonCriticalExtensions := {
        v650NonCriticalExtensions := {
          v680NonCriticalExtensions := {
            v690NonCriticalExtensions := {
              sysInfoType5_v690ext := cs_SysInfoType5_v690ext_IEs_AddRACH_TF
            }
          }
        }
      }
    }
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 5 for band 8
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5 cds_SIB5_Band8(PICH_PowerOffset p_PowerPICH,
                                               AICH_PowerOffset p_PowerAICH) modifies cs_SIB5_Def :=
  {
    v4b0NonCriticalExtensions := {
      v590NonCriticalExtensions := {
        v650NonCriticalExtensions := {
          sysInfoType5_v650ext := {
            frequencyBandIndicator2 := bandVIII
          },
          v680NonCriticalExtensions := {
            v690NonCriticalExtensions := {
              sysInfoType5_v690ext := cs_SysInfoType5_v690ext_IEs_AddRACH_TF
            }
          }
        }
      }
    }
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 5 for band 10
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5 cds_SIB5bis_Band10(PICH_PowerOffset p_PowerPICH,
                                                   AICH_PowerOffset p_PowerAICH) modifies cs_SIB5_Def :=
  {
    v4b0NonCriticalExtensions := {
      v590NonCriticalExtensions := {
        v650NonCriticalExtensions := {
          sysInfoType5_v650ext := {
            frequencyBandIndicator2 := bandX
          },
          v680NonCriticalExtensions := {
            v690NonCriticalExtensions := {
              sysInfoType5_v690ext := cs_SysInfoType5_v690ext_IEs_AddRACH_TF
            }
          }
        }
      }
    }
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 5 for band 4
  // NOTE:
  // In ASN.1 definition SysInfoType5bis := SysInfoType5
  // Then to facilitate implementation, SIB5bis constraint is defined as SysInfoType5
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5 cds_SIB5bis_Band4(PICH_PowerOffset p_PowerPICH,
                                                  AICH_PowerOffset p_PowerAICH) modifies cs_SIB5_Def :=
  {
    v4b0NonCriticalExtensions := {
      sysInfoType5_v4b0ext := {
        frequencyBandIndicator := bandIV
      },
      v590NonCriticalExtensions := {
        v650NonCriticalExtensions := {
          v680NonCriticalExtensions := {
            v690NonCriticalExtensions := {
              sysInfoType5_v690ext := cs_SysInfoType5_v690ext_IEs_AddRACH_TF
            }
          }
        }
      }
    }
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 5 for band 9
  // NOTE:
  // In ASN.1 definition SysInfoType5bis := SysInfoType5
  // Then to facilitate implementation, SIB5bis constraint is defined as SysInfoType5
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5 cds_SIB5bis_Band9(PICH_PowerOffset p_PowerPICH,
                                                  AICH_PowerOffset p_PowerAICH) modifies cs_SIB5_Def :=
  {
    v4b0NonCriticalExtensions := {
      v590NonCriticalExtensions := {
        v650NonCriticalExtensions := {
          sysInfoType5_v650ext := {
            frequencyBandIndicator2 := bandIX
          },
          v680NonCriticalExtensions := {
            v690NonCriticalExtensions := {
              sysInfoType5_v690ext := cs_SysInfoType5_v690ext_IEs_AddRACH_TF
            }
          }
        }
      }
    }
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // -----------------------------------------------------------------------------
  template (value) SysInfoType5_v690ext_IEs cs_SysInfoType5_v690ext_IEs_AddRACH_TF :=
  {
    edch_CellIndicator := omit,
    sccpch_SystemInformation_MBMS := omit,
    additionalPRACH_TF_and_TFCS_CCCH_List := cs_AddPRACH_TF_TFS_CCCH_FDD,
    cBS_DRX_Level1Information_extension := omit
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 12, used in connected mode. To be used by cell A,B,C,G and H:
  // - 5 intra cells frequency of the same frequency
  // - 3 inter cell frequency of the same frequency.
  // Similar to c_SIB11_def except that  "detectedSetReportingQuantities" is not present and "timeToTrigger" = 0
  // -----------------------------------------------------------------------------
  template (value) SysInfoType12 cs_SIB12_Def :=
  {
    fach_MeasurementOccasionInfo := omit,
    measurementControlSysInfo := {
      use_of_HCS := {
        hcs_not_used := {
          cellSelectQualityMeasure := {
            cpich_RSCP := {
              intraFreqMeasurementSysInfo := omit,
              interFreqMeasurementSysInfo := omit
            }
          },
          interRATMeasurementSysInfo := omit
        }
      },
      trafficVolumeMeasSysInfo := omit,
      dummy := omit
    },
    v4b0NonCriticalExtensions := omit
  };
  
  template (value) SysInfoType16 cs_SIB16_Def (SF512_AndPilot p_SF512_AndPilot):=
  {
    preDefinedRadioConfiguration := {
      predefinedRB_Configuration := cs_PredefinedRB_CfgSIB16,
      preDefTransChConfiguration := cs_PreDefTransChCfg_Speech12_2k,
      preDefPhyChConfiguration   := cs_PreDefPhyChCfgSIB16 ( p_SF512_AndPilot)
    },
    v770NonCriticalExtensions := omit
  };
  
  template (value) PreDefPhyChConfiguration cs_PreDefPhyChCfgSIB16 (SF512_AndPilot p_SF512_AndPilot):=
  {
    ul_DPCH_InfoPredef := cs_UL_DPCH_InfoPredefSIB16,
    dl_CommonInformationPredef := cs_DL_CommonInformationPredefSIB16 ( p_SF512_AndPilot )
  };
  
  template (value) UL_DPCH_InfoPredef cs_UL_DPCH_InfoPredefSIB16 :=
  {
    ul_DPCH_PowerControlInfo := { fdd := {
        powerControlAlgorithm := { algorithm1 := 1
        }
      }
    },
    modeSpecificInfo := {
      fdd := {
        tfci_Existence := false,
        puncturingLimit := pl0_88
      }
    }
  };
  
  template (value) DL_CommonInformationPredef cs_DL_CommonInformationPredefSIB16 (SF512_AndPilot p_SF512_AndPilot):=
  {
    dl_DPCH_InfoCommon := {
      modeSpecificInfo := {
        fdd := {
        spreadingFactorAndPilot := p_SF512_AndPilot,
        positionFixedOrFlexible := fixed,
        tfci_Existence := false
        }
      }
    }
  };
  
  template (value) PreDefTransChConfiguration cs_PreDefTransChCfg_Speech12_2k :=
  {
    ul_CommonTransChInfo := {
      tfc_Subset := {allowedTFC_List := {0, 1, 2, 3, 4, 5}},
      prach_TFCS := omit,
      modeSpecificInfo := {
        fdd := {
          ul_TFCS := {
            normalTFCI_Signalling := {
              addition := {
                ctfcSize := {
                  ctfc6Bit := {
                    {
                      ctfc6 := 0,
                      powerOffsetInformation := {
                        gainFactorInformation := {
                          signalledGainFactors := {
                            modeSpecificInfo := {
                              fdd := {
                                gainFactorBetaC := 0
                              }
                            },
                            gainFactorBetaD := 0,
                            referenceTFC_ID := omit
                          }
                        },
                        powerOffsetPp_m := 0
                      }
                    },
                    {
                      ctfc6 := 1,
                      powerOffsetInformation := {
                        gainFactorInformation := {
                          signalledGainFactors := {
                            modeSpecificInfo := {
                              fdd := {
                                gainFactorBetaC := 0
                              }
                            },
                            gainFactorBetaD := 0,
                            referenceTFC_ID := omit
                          }
                        },
                        powerOffsetPp_m := 0
                      }
                    },
                    {
                      ctfc6 := 11,
                      powerOffsetInformation := {
                        gainFactorInformation := {
                          signalledGainFactors := {
                            modeSpecificInfo := {
                              fdd := {
                                gainFactorBetaC := 0
                              }
                            },
                            gainFactorBetaD := 0,
                            referenceTFC_ID := omit
                          }
                        },
                        powerOffsetPp_m := 0
                      }
                    },
                    {
                      ctfc6 := 12,
                      powerOffsetInformation := {
                        gainFactorInformation := {
                          signalledGainFactors := {
                            modeSpecificInfo := {
                              fdd := {
                                gainFactorBetaC := 0
                              }
                            },
                            gainFactorBetaD := 0,
                            referenceTFC_ID := omit
                          }
                        },
                        powerOffsetPp_m := 0
                      }
                    },
                    {
                      ctfc6 := 13,
                      powerOffsetInformation := {
                        gainFactorInformation := {
                          signalledGainFactors := {
                            modeSpecificInfo := {
                              fdd := {
                                gainFactorBetaC := 0
                              }
                            },
                            gainFactorBetaD := 0,
                            referenceTFC_ID := omit
                          }
                        },
                        powerOffsetPp_m := 0
                      }
                    },
                    {
                      ctfc6 := 23,
                      powerOffsetInformation := {
                        gainFactorInformation := {
                          signalledGainFactors := {
                            modeSpecificInfo := {
                              fdd := {
                                gainFactorBetaC := 0
                              }
                            },
                            gainFactorBetaD := 0,
                            referenceTFC_ID := omit
                          }
                        },
                        powerOffsetPp_m := 0
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    ul_AddReconfTrChInfoList := {
      {
        ul_TransportChannelType := dch,
        transportChannelIdentity := tsc_UL_DCH1,
        transportFormatSet := {
          dedicatedTransChTFS := cs_DCH_81_TFS_UE
        }
      },
      {
        ul_TransportChannelType := dch,
        transportChannelIdentity := tsc_UL_DCH2,
        transportFormatSet := {
          dedicatedTransChTFS := cs_DCH_103_TFS_UE
        }
      },
      {
        ul_TransportChannelType := dch,
        transportChannelIdentity := tsc_UL_DCH3,
        transportFormatSet := {
          dedicatedTransChTFS := cs_DCH_60_TFS_UE
        }
      },
      {
        ul_TransportChannelType := dch,
        transportChannelIdentity := tsc_UL_DCH5,
        transportFormatSet := {
          dedicatedTransChTFS := cs_DCH_148_TFS_UE_UL
        }
      }
    },
    dl_CommonTransChInfo := {
      sccpch_TFCS := omit,
      modeSpecificInfo := {
        fdd := {
          dl_Parameters := {
            sameAsUL := NULL
          }
        }
      }
    },
    dl_TrChInfoList := {
      {
        dl_TransportChannelType := dch,
        dl_transportChannelIdentity := tsc_DL_DCH1,
        tfs_SignallingMode := {
          sameAsULTrCH := {
            ul_TransportChannelType := dch,
            ul_TransportChannelIdentity := tsc_UL_DCH1
          }
        },
        dch_QualityTarget := {
          bler_QualityValue := 0
        },
        dummy := omit
      },
      {
        dl_TransportChannelType := dch,
        dl_transportChannelIdentity := tsc_DL_DCH2,
        tfs_SignallingMode := {
          sameAsULTrCH := {
            ul_TransportChannelType := dch,
            ul_TransportChannelIdentity := tsc_UL_DCH2
          }
        },
        dch_QualityTarget := {
          bler_QualityValue := 0
        },
        dummy := omit
      },
      {
        dl_TransportChannelType := dch,
        dl_transportChannelIdentity := tsc_DL_DCH3,
        tfs_SignallingMode := {
          sameAsULTrCH := {
            ul_TransportChannelType := dch,
            ul_TransportChannelIdentity := tsc_UL_DCH3
          }
        },
        dch_QualityTarget := {
          bler_QualityValue := 0},
        dummy := omit
      },
      {
        dl_TransportChannelType := dch,
        dl_transportChannelIdentity := tsc_DL_DCH5,
        tfs_SignallingMode := {
          sameAsULTrCH := {
            ul_TransportChannelType := dch,
            ul_TransportChannelIdentity := tsc_UL_DCH5
          }
        },
        dch_QualityTarget := { bler_QualityValue := 0},
        dummy := omit
      }
    }
  };

  template (value) DedicatedTransChTFS cs_DCH_81_TFS_UE :=
  {
    tti := {
      tti20 := {
        {
          rlc_Size := {
            bitMode := {
              sizeType1:= 81
            }
          },
          numberOfTbSizeList := {{ zero := NULL }},
          logicalChannelList := {
            allSizes := NULL
          }
        },
        {
          rlc_Size := {
            bitMode := {
              sizeType1 := 39
            }
          },
          numberOfTbSizeList := {{ one := NULL }},
          logicalChannelList := {
            allSizes := NULL
          }
        },
        {
          rlc_Size := {
            bitMode := {
              sizeType1:= 81
            }
          },
          numberOfTbSizeList := {{ one := NULL }},
          logicalChannelList := {
            allSizes := NULL
          }
        }
      }
    },
    semistaticTF_Information := {
      channelCodingType := {
        convolutional := third
      },
      rateMatchingAttribute := 200,
      crc_Size := crc12
    }
  };
  
  template (value) DedicatedTransChTFS cs_DCH_103_TFS_UE :=
  {
    tti := {
      tti20 := {
        {
          rlc_Size := {
            bitMode := {
              sizeType1:= 103
            }
          },
          numberOfTbSizeList := {
            { zero := NULL },
            { one := NULL }},
          logicalChannelList := {
            allSizes := NULL
          }
        }
      }
    },
    semistaticTF_Information := {
      channelCodingType := {convolutional := third},
      rateMatchingAttribute := 190,
      crc_Size := crc0
    }
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // *** Comments:
  // transport format set for RAB subflow#3 on dedicated channel used in message sent to UE
  // *** additional Notes:
  // TS 34.108 subcl. 6.10.2.4.1.4:
  // TTI = 20 ms;
  // two transport formats:
  // TransportBlocks = 0, TB size = 60 bits; TansportBlock = 1, Size = 60.
  // rlc_Size = TB_Size ( DCH, w/o MUX)
  // coding = convolutional;
  // coding rate = 1/2;
  // CRCsize = N/A;
  // RateMatching = 235
  // -----------------------------------------------------------------------------
  template (value) DedicatedTransChTFS cs_DCH_60_TFS_UE :=
  {
    tti := {
      tti20 := {
        {
          rlc_Size := {
            bitMode := {
              sizeType1:= 60
            }
          },
          numberOfTbSizeList := {{ zero := NULL },
                                 { one := NULL }},
          logicalChannelList := { allSizes := NULL }
        }
      }
    },
    semistaticTF_Information := {
      channelCodingType := {convolutional := half},
      rateMatchingAttribute := 235,
      crc_Size := crc0
    }
  };
  
  template (value) PredefinedRB_Configuration cs_PredefinedRB_CfgSIB16:=
  {
    re_EstablishmentTimer := useT315,
    srb_InformationList := {
      {
        rb_Identity := tsc_RB1,
        rlc_InfoChoice := {
          rlc_Info := {
            ul_RLC_Mode := {
              ul_UM_RLC_Mode := {
                transmissionRLC_Discard := {
                  timerBasedNoExplicit := dt100
                }
              }
            },
            dl_RLC_Mode := {
              dl_UM_RLC_Mode := NULL
            }
          }
        },
        rb_MappingInfo := {
          {
            ul_LogicalChannelMappings := {
              oneLogicalChannel := {
                ul_TransportChannelType := {
                  dch := tsc_UL_DCH5
                },
                logicalChannelIdentity := tsc_UL_DCCH1,
                rlc_SizeList := { configured := NULL },
                mac_LogicalChannelPriority := 1
              }
            },
            dl_LogicalChannelMappingList := {
              {
                dl_TransportChannelType := { dch := tsc_DL_DCH5 },
                logicalChannelIdentity := tsc_DL_DCCH1
              }
            }
          }
        }
      },
      {
        rb_Identity := tsc_RB2,
        rlc_InfoChoice := {
          rlc_Info := {
            ul_RLC_Mode := {
              ul_AM_RLC_Mode := {
                transmissionRLC_Discard := {
                  maxDAT_Retransmissions := {
                    maxDAT := dat4,
                    timerMRW := te100,
                    maxMRW := mm4
                  }
                },
                transmissionWindowSize := tw8,
                timerRST := tr500,
                max_RST := rst4,
                pollingInfo := {
                  timerPollProhibit := tpp200,
                  timerPoll := tp200,
                  poll_PDU := omit,
                  poll_SDU := sdu1,
                  lastTransmissionPDU_Poll := true,
                  lastRetransmissionPDU_Poll := true,
                  pollWindow := pw99,
                  timerPollPeriodic := omit
                }
              }
            },
            dl_RLC_Mode := {
              dl_AM_RLC_Mode := {
                inSequenceDelivery := true,
                receivingWindowSize := rw8,
                dl_RLC_StatusInfo := {
                  timerStatusProhibit := tsp200,
                  dummy := te200,
                  missingPDU_Indicator := true,
                  timerStatusPeriodic := omit
                }
              }
            }
          }
        },
        rb_MappingInfo := {
          {
            ul_LogicalChannelMappings := {
              oneLogicalChannel := {
                ul_TransportChannelType := { dch := tsc_UL_DCH5 },
                logicalChannelIdentity := tsc_UL_DCCH2,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 2
              }
            },
            dl_LogicalChannelMappingList := {
              {
                dl_TransportChannelType := { dch := tsc_DL_DCH5 },
                logicalChannelIdentity := tsc_DL_DCCH2
              }
            }
          }
        }
      },
      {
        rb_Identity := tsc_RB3,
        rlc_InfoChoice := {
          rlc_Info := {
            ul_RLC_Mode := {
              ul_AM_RLC_Mode := {
                transmissionRLC_Discard := {
                  maxDAT_Retransmissions := {
                    maxDAT := dat4,
                    timerMRW := te100,
                    maxMRW := mm4
                  }
                },
                transmissionWindowSize := tw8,
                timerRST := tr500,
                max_RST := rst4,
                pollingInfo := {
                  timerPollProhibit := tpp200,
                  timerPoll := tp200,
                  poll_PDU := omit,
                  poll_SDU := sdu1,
                  lastTransmissionPDU_Poll := true,
                  lastRetransmissionPDU_Poll := true,
                  pollWindow := pw99,
                  timerPollPeriodic := omit
                }
              }
            },
            dl_RLC_Mode := {
              dl_AM_RLC_Mode := {
                inSequenceDelivery := true,
                receivingWindowSize := rw8,
                dl_RLC_StatusInfo := {
                  timerStatusProhibit := tsp200,
                  dummy := te200,
                  missingPDU_Indicator := true,
                  timerStatusPeriodic := omit
                }
              }
            }
          }
        },
        rb_MappingInfo := {
          {
            ul_LogicalChannelMappings := {
              oneLogicalChannel := {
                ul_TransportChannelType := { dch := tsc_UL_DCH5 },
                logicalChannelIdentity := tsc_UL_DCCH3,
                rlc_SizeList := { configured := NULL },
                mac_LogicalChannelPriority := 3
              }
            },
            dl_LogicalChannelMappingList := {
              {
                dl_TransportChannelType := { dch := tsc_DL_DCH5 },
                logicalChannelIdentity := tsc_DL_DCCH3
              }
            }
          }
        }
      },
      {
        rb_Identity := tsc_RB4,
        rlc_InfoChoice := {
          rlc_Info := {
            ul_RLC_Mode := {
              ul_AM_RLC_Mode := {
                transmissionRLC_Discard := {
                  maxDAT_Retransmissions := {
                    maxDAT := dat4,
                    timerMRW := te100,
                    maxMRW := mm4
                  }
                },
                transmissionWindowSize := tw8,
                timerRST := tr500,
                max_RST := rst4,
                pollingInfo := {
                  timerPollProhibit := tpp200,
                  timerPoll := tp200,
                  poll_PDU := omit,
                  poll_SDU := sdu1,
                  lastTransmissionPDU_Poll := true,
                  lastRetransmissionPDU_Poll := true,
                  pollWindow := pw99,
                  timerPollPeriodic := omit
                }
              }
            },
            dl_RLC_Mode := {
              dl_AM_RLC_Mode := {
                inSequenceDelivery := true,
                receivingWindowSize := rw8,
                dl_RLC_StatusInfo := {
                  timerStatusProhibit := tsp200,
                  dummy := te200,
                  missingPDU_Indicator := true,
                  timerStatusPeriodic := omit
                }
              }
            }
          }
        },
        rb_MappingInfo := {
          {
            ul_LogicalChannelMappings := {
              oneLogicalChannel := {
                ul_TransportChannelType := { dch := tsc_UL_DCH5 },
                logicalChannelIdentity := tsc_UL_DCCH4,
                rlc_SizeList := {configured := NULL },
                mac_LogicalChannelPriority := 4
              }
            },
            dl_LogicalChannelMappingList := {
              {
                dl_TransportChannelType := { dch := tsc_DL_DCH5 },
                logicalChannelIdentity := tsc_DL_DCCH4
              }
            }
          }
        }
      }
    },
    rb_InformationList := {
      {
        rb_Identity := tsc_RB10,
        pdcp_Info := omit,
        rlc_InfoChoice := {
          rlc_Info := {
            ul_RLC_Mode := {
              ul_TM_RLC_Mode := {
                transmissionRLC_Discard := omit,
                segmentationIndication := true
              }
            },
            dl_RLC_Mode := {
              dl_TM_RLC_Mode := {
                segmentationIndication := true
              }
            }
          }
        },
        rb_MappingInfo := {
          {
            ul_LogicalChannelMappings := {
              oneLogicalChannel := {
                ul_TransportChannelType := { dch := tsc_UL_DCH1 },
                logicalChannelIdentity := tsc_UL_DTCH1,
                rlc_SizeList := { configured := NULL },
                mac_LogicalChannelPriority := 6
              }
            },
            dl_LogicalChannelMappingList := {
              {
                dl_TransportChannelType:= { dch := tsc_DL_DCH1 },
                logicalChannelIdentity := tsc_DL_DTCH1
              }
            }
          }
        }
      },
      {
        rb_Identity := tsc_RB11,
        pdcp_Info := omit,
        rlc_InfoChoice := {
          rlc_Info := {
            ul_RLC_Mode := {
              ul_TM_RLC_Mode := {
                transmissionRLC_Discard := omit,
                segmentationIndication := true
              }
            },
            dl_RLC_Mode := {
              dl_TM_RLC_Mode := {
                segmentationIndication := true
              }
            }
          }
        },
        rb_MappingInfo := {
          {
            ul_LogicalChannelMappings := {
              oneLogicalChannel := {
                ul_TransportChannelType := { dch := tsc_UL_DCH2 },
                logicalChannelIdentity := tsc_UL_DTCH2,
                rlc_SizeList := {configured := NULL },
                mac_LogicalChannelPriority := 6
              }
            },
            dl_LogicalChannelMappingList := {
              {
                dl_TransportChannelType := { dch := tsc_DL_DCH2 },
                logicalChannelIdentity := tsc_DL_DTCH2
              }
            }
          }
        }
      },
      {
        rb_Identity := tsc_RB12,
        pdcp_Info := omit,
        rlc_InfoChoice := {
          rlc_Info := {
            ul_RLC_Mode := {
              ul_TM_RLC_Mode := {
                transmissionRLC_Discard := omit,
                segmentationIndication := true
              }
            },
            dl_RLC_Mode := {
              dl_TM_RLC_Mode := {
                segmentationIndication := true
              }
            }
          }
        },
        rb_MappingInfo := {
          {
            ul_LogicalChannelMappings := {
              oneLogicalChannel := {
                ul_TransportChannelType := { dch := tsc_UL_DCH3 },
                logicalChannelIdentity := tsc_UL_DTCH3,
                rlc_SizeList := {configured := NULL },
                mac_LogicalChannelPriority := 6
              }
            },
            dl_LogicalChannelMappingList := {
              {
                dl_TransportChannelType := { dch := tsc_DL_DCH3 },
                logicalChannelIdentity := tsc_DL_DTCH3
              }
            }
          }
        }
      }
    }
  };
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 19,
  //
  //
  // -----------------------------------------------------------------------------
  template (value) SysInfoType19 cs_SIB19_Def (EARFCN p_E_Cell1,
                                               EARFCN p_E_Cell2,
                                               EARFCN p_E_Cell3,
                                               EARFCN p_E_Cell4,
                                               EARFCN p_E_Cell5):=
  {
    utra_PriorityInfoList := {
      utra_ServingCell := {
        priority  := 3,
        s_PrioritySearch1 := 0,
        s_PrioritySearch2 := omit,
        threshServingLow := 0
      },
      utran_FDD_FrequencyList := omit,
      utran_TDD_FrequencyList := omit
    },
    gsm_PriorityInfoList := omit,
    eutra_FrequencyAndPriorityInfoList := {
      {
        earfcn := p_E_Cell1, //f_EUTRA_CellInfo_GetEARFCN ( eutra_Cell1 ),
        measurementBandwidth := mbw25,
        priority := 4,
        qRxLevMinEUTRA := -65,
        threshXhigh := 2,
        threshXlow := 1,
        eutra_blackListedCellList := omit,
        eutraDetection := true
      },
      {
        earfcn := p_E_Cell2, //f_EUTRA_CellInfo_GetEARFCN ( eutra_Cell3 ),
        measurementBandwidth := mbw25,
        priority := 4,
        qRxLevMinEUTRA := -65,
        threshXhigh := 2,
        threshXlow := 1,
        eutra_blackListedCellList := omit,
        eutraDetection := true
      },
      {
        earfcn := p_E_Cell3, //f_EUTRA_CellInfo_GetEARFCN ( eutra_Cell6 ),
        measurementBandwidth := mbw25,
        priority := 4,
        qRxLevMinEUTRA := -65,
        threshXhigh := 2,
        threshXlow := 1,
        eutra_blackListedCellList := omit,
        eutraDetection := true
      },
      {
        earfcn := p_E_Cell4, //f_EUTRA_CellInfo_GetEARFCN ( eutra_Cell14 ),
        measurementBandwidth := mbw25,
        priority := 4,
        qRxLevMinEUTRA := -65,
        threshXhigh := 2,
        threshXlow := 1,
        eutra_blackListedCellList := omit,
        eutraDetection := true
      },
      {
        earfcn := p_E_Cell5, // f_EUTRA_CellInfo_GetEARFCN ( eutra_Cell10 ),
        measurementBandwidth := mbw25,
        priority := 4,
        qRxLevMinEUTRA := -65,
        threshXhigh := 2,
        threshXlow := 1,
        eutra_blackListedCellList := omit,
        eutraDetection := true
      }
    },
    nonCriticalExtensions := omit
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // Default setting of MIB. 3GPP TS 34.123-3 clause 8.4.3
  // Assum no segmentation for SIB1, SIB2, SIB3, SIB4.
  // Contains scheduling informations for  SIB1, SIB2, SIB3, SIB4, SIB5 and SB1 only, the scheduling information for other SIBs are in SysInfoTypeSB1.
  // The value 1 of valueTags is a place holder. actual values of them will be non-zero and assigned dynamically in various SendSystemInformation test Steps.
  // -----------------------------------------------------------------------------
  template (value) MasterInformationBlock cs_MIB_Def(PLMN_Identity p_PLMN) :=
  {
    mib_ValueTag := 1,
    plmn_Type := {
      gsm_MAP := {
        plmn_Identity := p_PLMN
      }
    },
    sibSb_ReferenceList := {
      {
        sibSb_Type := {
          sysInfoTypeSB1 := 1
        },
        scheduling := {
          scheduling := {
            segCount := omit,    // DEFAULT: 1
            sib_Pos := {
              rep16 := 1
            },
            sib_PosOffsetInfo := omit
          }
        }
      },
      {
        sibSb_Type := {
          sysInfoType1 := 1
        },
        scheduling := {
          scheduling := {
            segCount := omit,    // DEFAULT: 1
            sib_Pos := {
              rep64 := 11
            },
            sib_PosOffsetInfo := omit
          }
        }
      },
      {
        sibSb_Type := {
          sysInfoType2 := 1
        },
        scheduling := {
          scheduling := {
            segCount := omit,    // DEFAULT: 1
            sib_Pos := {
              rep64 := 11
            },
            sib_PosOffsetInfo := omit
          }
        }
      },
      {
        sibSb_Type := {
          sysInfoType3 := 1
        },
        scheduling := {
          scheduling := {
            segCount := omit,    // DEFAULT: 1
            sib_Pos := {
              rep64 := 10
            },
            sib_PosOffsetInfo := omit
          }
        }
      },
      {
        sibSb_Type := {
          sysInfoType4 := 1
        },
        scheduling := {
          scheduling := {
            segCount := omit,    // DEFAULT: 1
            sib_Pos := {
              rep64 := 26
            },
            sib_PosOffsetInfo := omit
          }
        }
      },
      {
        sibSb_Type := {
          sysInfoType5 := 1
        },
        scheduling := {
          scheduling := {
            segCount := 4,
            sib_Pos := {
              rep64 := 19
            },
            sib_PosOffsetInfo := {
              so4,
              so2,
              so2
            }
          }
        }
      }
    },
    v690NonCriticalExtensions := omit
  };
  
  
  template (value) MasterInformationBlock cs_MIB_UTRAN_GERAN_Def(PLMN_Identity p_PLMN) :=
  {
    mib_ValueTag := 1,
    plmn_Type := {
      gsm_MAP := {
        plmn_Identity := p_PLMN
      }
    },
    sibSb_ReferenceList := {
      {
        sibSb_Type := {
          sysInfoTypeSB1 := 1
        },
        scheduling := {
          scheduling := {
            segCount := omit,    // DEFAULT: 1
            sib_Pos := {
              rep16 := 1
            },
            sib_PosOffsetInfo := omit
          }
        }
      },
      {
        sibSb_Type := {
          sysInfoType1 := 1
        },
        scheduling := {
          scheduling := {
            segCount := omit,    // DEFAULT: 1
            sib_Pos := {
              rep64 := 10
            },
            sib_PosOffsetInfo := omit
          }
        }
      },
      {
        sibSb_Type := {
          sysInfoType2 := 1
        },
        scheduling := {
          scheduling := {
            segCount := omit,    // DEFAULT: 1
            sib_Pos := {
              rep64 := 10
            },
            sib_PosOffsetInfo := omit
          }
        }
      },
      {
        sibSb_Type := {
          sysInfoType3 := 1
        },
        scheduling := {
          scheduling := {
            segCount := omit,    // DEFAULT: 1
            sib_Pos := {
              rep64 := 7
            },
            sib_PosOffsetInfo := omit
          }
        }
      },
      {
        sibSb_Type := {
          sysInfoType4 := 1
        },
        scheduling := {
          scheduling := {
            segCount := omit,    // DEFAULT: 1
            sib_Pos := {
              rep64 := 31
            },
            sib_PosOffsetInfo := omit
          }
        }
      },
      {
        sibSb_Type := {
          sysInfoType5 := 1
        },
        scheduling := {
          scheduling := {
            segCount := 4,
            sib_Pos := {
              rep64 := 18
            },
            sib_PosOffsetInfo := {
              so2,
              so4,
              so2
            }
          }
        }
      }
    },
    v690NonCriticalExtensions := omit
  };
  
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default setting of MIB. 3GPP TS 34.123-3 clause 8.4.3
  // Assum no segmentation for SIB1, SIB2, SIB3, SIB4.
  // Contains scheduling informations for  SIB1, SIB2, SIB3, SIB4, SIB5 and SB1 only, the scheduling information for other SIBs are in SysInfoTypeSB1.
  // The value 1 of valueTags is a place holder. actual values of them will be non-zero and assigned dynamically in various SendSystemInformation test Steps.
  // -----------------------------------------------------------------------------
  template (value) MasterInformationBlock cs_MIB_Def_TDD(PLMN_Identity p_PLMN) :=
  {
    mib_ValueTag := 1,
    plmn_Type := {
      gsm_MAP := {
        plmn_Identity := p_PLMN
      }
    },
    sibSb_ReferenceList := {
      {
        sibSb_Type := {
          sysInfoTypeSB1 := 1
        },
        scheduling := {
          scheduling := {
            segCount := omit,    // DEFAULT: 1
            sib_Pos := {
              rep16 := 1
            },
            sib_PosOffsetInfo := omit
          }
        }
      },
      {
        sibSb_Type := {
          sysInfoType1 := 1
        },
        scheduling := {
          scheduling := {
            segCount := omit,    // DEFAULT: 1
            sib_Pos := {
              rep64 := 11
            },
            sib_PosOffsetInfo := omit
          }
        }
      },
      {
        sibSb_Type := {
          sysInfoType2 := 1
        },
        scheduling := {
          scheduling := {
            segCount := omit,    // DEFAULT: 1
            sib_Pos := {
              rep64 := 11
            },
            sib_PosOffsetInfo := omit
          }
        }
      },
      {
        sibSb_Type := {
          sysInfoType3 := 1
        },
        scheduling := {
          scheduling := {
            segCount := omit,    // DEFAULT: 1
            sib_Pos := {
              rep64 := 10
            },
            sib_PosOffsetInfo := omit
          }
        }
      },
      {
        sibSb_Type := {
          sysInfoType4 := 1
        },
        scheduling := {
          scheduling := {
            segCount := omit,    // DEFAULT: 1
            sib_Pos := {
              rep64 := 26
            },
            sib_PosOffsetInfo := omit
          }
        }
      },
      {
        sibSb_Type := {
          sysInfoType5 := 1
        },
        scheduling := {
          scheduling := {
            segCount := 5,
            sib_Pos := {
              rep64 := 19
            },
            sib_PosOffsetInfo := {
              so4,
              so2,
              so2,
              so8
            }
          }
        }
      }
    },
    v690NonCriticalExtensions := omit
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // Default setting of SB1. scheduling is defined in 3GPP TS 34.123-3 clause 8.4.3
  // Assume no segmentation for SIB7.
  // Contains scheduling informations for SIB6, SIB7, SIB11, SIB12, SIB18 only,  the scheduling information for other SIBs may be added later.
  // The value 1 of valueTags is a place holder. actual values of them will be non-zero and assigned dynamically in various SendSystemInformation test Steps.
  // -----------------------------------------------------------------------------

  template (value) SysInfoTypeSB1 cs_SB1_Def :=
  {
    sib_ReferenceList := {
      {
        sib_Type := {
          sysInfoType6 := 1
        },
        scheduling := {
          scheduling := {
            segCount := 4,
            sib_Pos := {
              rep64 := 3
            },
            sib_PosOffsetInfo := {
              so4,
              so2,
              so2
            }
          }
        }
      },
      {
        sib_Type := {
          sysInfoType7 := NULL
        },
        scheduling := {
          scheduling := {
            segCount := omit,    // DEFAULT: 1
            sib_Pos := {
              rep16 := 2
            },
            sib_PosOffsetInfo := omit
          }
        }
      },
      {
        sib_Type := {
          sysInfoType11 := 1
        },
        scheduling := {
          scheduling := {
            segCount := 3,
            sib_Pos := {
              rep64 := 29
            },
            sib_PosOffsetInfo := {
              so2,
              so2
            }
          }
        }
      },
      {
        sib_Type := {
          sysInfoType12 := 1
        },
        scheduling := {
          scheduling := {
            segCount := 3,
            sib_Pos := {
              rep64 := 13
            },
            sib_PosOffsetInfo := {
              so2,
              so2
            }
          }
        }
      },
      {
        sib_Type := {
          sysInfoType18 := 1
        },
        scheduling := {
          scheduling := {
            segCount := omit,    // DEFAULT: 1
            sib_Pos := {
              rep64 := 18
            },
            sib_PosOffsetInfo := omit
          }
        }
      }
    },
    v6b0NonCriticalExtensions := {
      sysInfoTypeSB1_v6b0ext := {
        extSIBTypeInfoSchedulingInfo_List := omit
      },
      v860NonCriticalExtensions := {
        sysInfoTypeSB1_v860ext := {
          extSIBTypeInfoSchedulingInfo_List := {
            {
              extensionSIB_Type2 := {systemInfoType19 := NULL},
              schedulingInfo := {
                scheduling := {
                  segCount := 3,
                  sib_Pos := { rep64 := 13 },
                  sib_PosOffsetInfo  := {so2, so2}
                }
              },
              valueTagInfo := { cellValueTag := 1}
            }
          },
          extGANSS_SIBTypeInfoSchedulingInfoList := omit
        },
        nonCriticalExtensions := omit
      }
    }
    // nonCriticalExtensions OMIT
  };
  
  template (value) SysInfoTypeSB1 cs_SB1_UTRAN_GERAN_Def :=
  {
    sib_ReferenceList := {
      {
        sib_Type := {
          sysInfoType6 := 1
        },
        scheduling := {
          scheduling := {
            segCount := 4,
            sib_Pos := {
              rep64 := 2
            },
            sib_PosOffsetInfo := {
              so2,
              so4,
              so2
            }
          }
        }
      },
      {
        sib_Type := {
          sysInfoType7 := NULL
        },
        scheduling := {
          scheduling := {
            segCount := omit,    // DEFAULT: 1
            sib_Pos := {
              rep16 := 7
            },
            sib_PosOffsetInfo := omit
          }
        }
      },
      {
        sib_Type := {
          sysInfoType11 := 1
        },
        scheduling := {
          scheduling := {
            segCount := 4,
            sib_Pos := {
              rep64 := 26
            },
            sib_PosOffsetInfo := {
              so2,
              so4,
              so2
            }
          }
        }
      },
      {
        sib_Type := {
          sysInfoType12 := 1
        },
        scheduling := {
          scheduling := {
            segCount := 4,
            sib_Pos := {
              rep64 := 11
            },
            sib_PosOffsetInfo := {
              so4,
              so2,
              so2
            }
          }
        }
      },
      {
        sib_Type := {
          sysInfoType18 := 1
        },
        scheduling := {
          scheduling := {
            segCount := omit,    // DEFAULT: 1
            sib_Pos := {
              rep64 := 23
            },
            sib_PosOffsetInfo := omit
          }
        }
      }
    },
    v6b0NonCriticalExtensions := {
      sysInfoTypeSB1_v6b0ext   := {
        extSIBTypeInfoSchedulingInfo_List := omit
      },
      v860NonCriticalExtensions := {
        sysInfoTypeSB1_v860ext := {
          extSIBTypeInfoSchedulingInfo_List := {
            {
              extensionSIB_Type2 := {systemInfoType19 := NULL},
              schedulingInfo := {
                scheduling := {
                  segCount   := 3,
                  sib_Pos := { rep128 := 46 },
                  sib_PosOffsetInfo  := {so30, so2}
                }
              },
              valueTagInfo := {cellValueTag := 1}
            }
          },
          extGANSS_SIBTypeInfoSchedulingInfoList := omit
        },
        nonCriticalExtensions := omit
      }
    }
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // -----------------------------------------------------------------------------
  template (value) SysInfoType1 cs_SIB1_Def(octetstring p_Lac,
                                            octetstring p_Rac,
                                            octetstring p_NMO,
                                            octetstring p_T3212,
                                            integer p_AttFlag,
                                            CN_DRX_CycleLengthCoefficient p_DRX_1,
                                            CN_DRX_CycleLengthCoefficient p_DRX_2) :=
  {
    cn_CommonGSM_MAP_NAS_SysInfo := p_Lac,
    cn_DomainSysInfoList := {
      {
        cn_DomainIdentity := ps_domain,
        cn_Type := {
          gsm_MAP := p_Rac & p_NMO
        },
        cn_DRX_CycleLengthCoeff := p_DRX_1
      },
      {
        cn_DomainIdentity := cs_domain,
        cn_Type := {
          gsm_MAP := p_T3212 & int2oct(p_AttFlag, 1)
        },
        cn_DRX_CycleLengthCoeff := p_DRX_2
      }
    },
    ue_ConnTimersAndConstants := {
      t_301 := omit,
      n_301 := omit,
      t_302 := omit,
      n_302 := omit,
      t_304 := omit,
      n_304 := omit,
      t_305 := omit,
      t_307 := omit,
      t_308 := omit,
      t_309 := omit,
      t_310 := omit,
      n_310 := omit,
      t_311 := omit,
      t_312 := omit,
      n_312 := omit,
      t_313 := omit,
      n_313 := omit,
      t_314 := omit,
      t_315 := omit,
      n_315 := omit,
      t_316 := omit,
      t_317 := omit
    },
    ue_IdleTimersAndConstants := {
      t_300 := ms4000,
      n_300 := tsc_N300,
      t_312 := 10,
      n_312 := s1
    },
    v3a0NonCriticalExtensions := omit
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 2
  // for cell 1 and cell 2.
  // -----------------------------------------------------------------------------
  template (value) SysInfoType2 cs_SIB2_Def(bitstring p_URAId) :=
  {
    ura_IdentityList := {
      p_URAId
    },
    nonCriticalExtensions := omit
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 3 for UTRAN only
  // -----------------------------------------------------------------------------
  template (value) SysInfoType3 cs_SIB3_DefUTRAN(B28_Type p_CellIdentity) :=
  {
    sib4indicator := true,
    cellIdentity := p_CellIdentity,
    cellSelectReselectInfo := {
      mappingInfo := omit,
      cellSelectQualityMeasure := {
        cpich_RSCP := NULL
      },
      modeSpecificInfo := {
        fdd := {
          s_Intrasearch := 8,     // IE value * 2
          s_Intersearch := 8,     // IE value * 2
          s_SearchHCS := omit,
          rat_List := omit,
          q_QualMin := -24,
          q_RxlevMin := -40     // (IE value * 2) + 1. Value according to 34.108 cl. 6.1.5
        }
      },
      q_Hyst_l_S := 1,     // (IE value*2)
      t_Reselection_S := 0,
      hcs_ServingCellInformation := omit,
      maxAllowedUL_TX_Power := 21
    },
    cellAccessRestriction := {
      cellBarred := {
        notBarred := NULL
      },
      cellReservedForOperatorUse := notReserved,
      cellReservationExtension := notReserved,
      accessClassBarredList := {
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred
      }
    },
    v4b0NonCriticalExtensions := omit
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 3 for UTRAN/GERAN
  // -----------------------------------------------------------------------------
  template (value) SysInfoType3 cs_SIB3_DefUTRAN_GERAN(B28_Type p_CellIdentity) :=
  {
    sib4indicator := true,
    cellIdentity := p_CellIdentity,
    cellSelectReselectInfo := {
      mappingInfo := omit,
      cellSelectQualityMeasure := {
        cpich_RSCP := NULL
      },
      modeSpecificInfo := {
        fdd := {
          s_Intrasearch := 8,     // IE value * 2
          s_Intersearch := 8,     // IE value * 2
          s_SearchHCS := omit,
          rat_List := {
            {
              rat_Identifier := gsm,
              s_SearchRAT := -16,
              s_HCS_RAT := omit,
              s_Limit_SearchRAT := 0
            }
          },
          q_QualMin := -24,
          q_RxlevMin := -40     // (IE value * 2) + 1. Value according to 34.108 cl. 6.1.5
        }
      },
      q_Hyst_l_S := 1,     // (IE value*2)
      t_Reselection_S := 0,
      hcs_ServingCellInformation := omit,
      maxAllowedUL_TX_Power := 21
    },
    cellAccessRestriction := {
      cellBarred := {
        notBarred := NULL
      },
      cellReservedForOperatorUse := notReserved,
      cellReservationExtension := notReserved,
      accessClassBarredList := {
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred
      }
    },
    v4b0NonCriticalExtensions := omit
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 4 for UTRAN only, used in connected mode.
  // -----------------------------------------------------------------------------
  template (value) SysInfoType4 cs_SIB4_DefUTRAN(B28_Type p_CellIdentity) :=
  {
    cellIdentity := p_CellIdentity,
    cellSelectReselectInfo := {
      mappingInfo := omit,
      cellSelectQualityMeasure := {
        cpich_RSCP := NULL
      },
      modeSpecificInfo := {
        fdd := {
          s_Intrasearch := 8,     // IE value * 2
          s_Intersearch := 8,     // IE value * 2
          s_SearchHCS := omit,
          rat_List := omit,
          q_QualMin := -24,
          q_RxlevMin := -40     // (IE value * 2) + 1
        }
      },
      q_Hyst_l_S := 1,     // (IE value*2)
      t_Reselection_S := 0,
      hcs_ServingCellInformation := omit,
      maxAllowedUL_TX_Power := 21
    },
    cellAccessRestriction := {
      cellBarred := {
        notBarred := NULL
      },
      cellReservedForOperatorUse := notReserved,
      cellReservationExtension := notReserved,
      accessClassBarredList := omit
    },
    v4b0NonCriticalExtensions := omit
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 4 for  UTRAN/GERAN, used in connected mode.
  // -----------------------------------------------------------------------------
  template (value) SysInfoType4 cs_SIB4_DefUTRAN_GERAN(B28_Type p_CellIdentity) :=
  {
    cellIdentity := p_CellIdentity,
    cellSelectReselectInfo := {
      mappingInfo := omit,
      cellSelectQualityMeasure := {
        cpich_RSCP := NULL
      },
      modeSpecificInfo := {
        fdd := {
          s_Intrasearch := 8,     // IE value * 2
          s_Intersearch := 8,     // IE value * 2
          s_SearchHCS := omit,
          rat_List := {
            {
              rat_Identifier := gsm,
              s_SearchRAT := -16,
              s_HCS_RAT := omit,
              s_Limit_SearchRAT := 0
            }
          },
          q_QualMin := -24,
          q_RxlevMin := -40     // (IE value * 2) + 1
        }
      },
      q_Hyst_l_S := 1,     // (IE value*2)
      t_Reselection_S := 0,
      hcs_ServingCellInformation := omit,
      maxAllowedUL_TX_Power := 21
    },
    cellAccessRestriction := {
      cellBarred := {
        notBarred := NULL
      },
      cellReservedForOperatorUse := notReserved,
      cellReservationExtension := notReserved,
      accessClassBarredList := omit
    },
    v4b0NonCriticalExtensions := omit
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 6, used in connected mode.
  // Similar to cb_SIB5_Def, except "AC-to-ASC mapping table" not present
  // -----------------------------------------------------------------------------
  template (value) SysInfoType6 cs_SIB6_Def(PICH_PowerOffset p_PowerPICH,
                                            AICH_PowerOffset p_PowerAICH) :=
  {
    pich_PowerOffset := p_PowerPICH,
    modeSpecificInfo := {
      fdd := {
        aich_PowerOffset := p_PowerAICH,
        dummy := omit
      }
    },
    primaryCCPCH_Info := omit,
    prach_SystemInformationList := omit,
    sCCPCH_SystemInformationList := omit,
    cbs_DRX_Level1Information := omit,
    v4b0NonCriticalExtensions := omit
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 7
  // -----------------------------------------------------------------------------
  template (value) SysInfoType7 cs_SIB7_Def :=
  {
    modeSpecificInfo := {
      fdd := {
        ul_Interference := -100
      }
    },
    prach_Information_SIB5_List := {
      2
    },
    prach_Information_SIB6_List := omit,
    expirationTimeFactor := omit,
    nonCriticalExtensions := omit
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 3 for UTRAN only
  // -----------------------------------------------------------------------------
  template (value) SysInfoType3 cs_SIB3_DefUTRAN_TDD(B28_Type p_CellIdentity) :=
  {
    sib4indicator := true,
    cellIdentity := p_CellIdentity,
    cellSelectReselectInfo := {
      mappingInfo := omit,
      cellSelectQualityMeasure := {
        cpich_RSCP := NULL
      },
      modeSpecificInfo := {
        tdd := {
          s_Intrasearch := 9,
          s_Intersearch := 9,
          s_SearchHCS := omit,
          rat_List := omit,
          q_RxlevMin := -41   //(IE value * 2) + 1. Value according to 34.108 cl. 6.1.6
        }
      },
      q_Hyst_l_S := 1,     // (IE value*2)
      t_Reselection_S := 0,
      hcs_ServingCellInformation := omit,
      maxAllowedUL_TX_Power := 30
    },
    cellAccessRestriction := {
      cellBarred := {
        notBarred := NULL
      },
      cellReservedForOperatorUse := notReserved,
      cellReservationExtension := notReserved,
      accessClassBarredList := {
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred
      }
    },
    v4b0NonCriticalExtensions := omit
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 3 for UTRAN/GERAN
  // -----------------------------------------------------------------------------
  template (value) SysInfoType3 cs_SIB3_DefUTRAN_GERAN_TDD(B28_Type p_CellIdentity) :=
  {
    sib4indicator := true,
    cellIdentity := p_CellIdentity,
    cellSelectReselectInfo := {
      mappingInfo := omit,
      cellSelectQualityMeasure := {
        cpich_RSCP := NULL
      },
      modeSpecificInfo := {
        tdd := {
          s_Intrasearch := 21,
          s_Intersearch := 21,
          s_SearchHCS := omit,
          rat_List :=
          {
            {
              rat_Identifier := gsm,
              s_SearchRAT := -32,
              s_HCS_RAT := omit,
              s_Limit_SearchRAT := 0
            }
          },
          q_RxlevMin := -41        //  (IE value * 2) + 1. Value according to 34.108 cl. 6.1.6
        }
      },
      q_Hyst_l_S := 1,     // (IE value*2)
      t_Reselection_S := 0,
      hcs_ServingCellInformation := omit,
      maxAllowedUL_TX_Power := 30
    },
    cellAccessRestriction := {
      cellBarred := {
        notBarred := NULL
      },
      cellReservedForOperatorUse := notReserved,
      cellReservationExtension := notReserved,
      accessClassBarredList := {
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred,
        notBarred
      }
    },
    v4b0NonCriticalExtensions := omit
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 4 for UTRAN only, used in connected mode.
  // -----------------------------------------------------------------------------
  template (value) SysInfoType4 cs_SIB4_DefUTRAN_TDD(B28_Type p_CellIdentity) :=
  {
    cellIdentity := p_CellIdentity,
    cellSelectReselectInfo := {
      mappingInfo := omit,
      cellSelectQualityMeasure := {
        cpich_RSCP := NULL
      },
      modeSpecificInfo := {
        tdd := {
          s_Intrasearch := 5,         // IE value * 2
          s_Intersearch := 5,          // IE value * 2
          s_SearchHCS := omit,
          rat_List := omit,
          q_RxlevMin := -52            //  (IE value * 2) + 1
        }
      },
      q_Hyst_l_S := 1,     // (IE value*2)
      t_Reselection_S := 0,
      hcs_ServingCellInformation := omit,
      maxAllowedUL_TX_Power := 21
    },
    cellAccessRestriction := {
      cellBarred := {
        notBarred := NULL
      },
      cellReservedForOperatorUse := notReserved,
      cellReservationExtension := notReserved,
      accessClassBarredList := omit
    },
    v4b0NonCriticalExtensions := omit
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 4 for  UTRAN/GERAN, used in connected mode.
  // -----------------------------------------------------------------------------
  template (value) SysInfoType4 cs_SIB4_DefUTRAN_GERAN_TDD(B28_Type p_CellIdentity) :=
  {
    cellIdentity := p_CellIdentity,
    cellSelectReselectInfo := {
      mappingInfo := omit,
      cellSelectQualityMeasure := {
        cpich_RSCP := NULL
      },
      modeSpecificInfo := {
        tdd := {
          s_Intrasearch := 5,
          s_Intersearch := 5,
          s_SearchHCS := omit,
          rat_List := {
            {
              rat_Identifier := gsm,
              s_SearchRAT := -32,
              s_HCS_RAT := omit,
              s_Limit_SearchRAT := 0
            }
          },
          q_RxlevMin := -52        //  (IE value * 2) + 1
        }
      },
      q_Hyst_l_S := 1,     // (IE value*2)
      t_Reselection_S := 0,
      hcs_ServingCellInformation := omit,
      maxAllowedUL_TX_Power := 30
    },
    cellAccessRestriction := {
      cellBarred := {
        notBarred := NULL
      },
      cellReservedForOperatorUse := notReserved,
      cellReservationExtension := notReserved,
      accessClassBarredList := omit
    },
    v4b0NonCriticalExtensions := omit
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 6, used in connected mode.
  // Similar to cb_SIB5_Def, except "AC-to-ASC mapping table" not present
  // -----------------------------------------------------------------------------
  template (value) SysInfoType6 cs_SIB6_Def_TDD(PICH_PowerOffset p_PowerPICH) :=
  {
    pich_PowerOffset := p_PowerPICH,
    modeSpecificInfo := {
      tdd := {
        pusch_SysInfoList_SFN := omit,
        pdsch_SysInfoList_SFN := omit,
        openLoopPowerControl_TDD := {
          primaryCCPCH_TX_Power := 12,
          alpha := omit,
          prach_ConstantValue := 0,
          dpch_ConstantValue := 0,
          pusch_ConstantValue := omit
        }
      }
    },
    primaryCCPCH_Info := omit,
    prach_SystemInformationList := omit,
    sCCPCH_SystemInformationList := omit,
    cbs_DRX_Level1Information := omit,
    v4b0NonCriticalExtensions := omit
  };

  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 7
  // -----------------------------------------------------------------------------
  template (value) SysInfoType7 cs_SIB7_Def_TDD :=
  {
    modeSpecificInfo := {tdd := NULL},
    prach_Information_SIB5_List := {
      2
    },
    prach_Information_SIB6_List := omit,
    expirationTimeFactor := omit,
    nonCriticalExtensions := omit
  };
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 11
  // -----------------------------------------------------------------------------
  template (value) SysInfoType11 cs_SIB11_Def_TDD ( integer p_ActiveCellId,
                                                    CellParametersID    p_CellParametersID1,
                                                    integer p_IntraCellId2,
                                                    CellParametersID    p_CellParametersID2,
                                                    integer p_InterCellId3,
                                                    FrequencyInfo        p_FrequencyInfo3,
                                                    CellParametersID    p_CellParametersID3,
                                                    integer p_InterCellId4,
                                                  FrequencyInfo        p_FrequencyInfo4,
                                                    CellParametersID    p_CellParametersID4):=
  {
    sib12indicator := true,
    fach_MeasurementOccasionInfo := omit,
    measurementControlSysInfo := {
      use_of_HCS := {
        hcs_not_used := {
          cellSelectQualityMeasure := {
            cpich_RSCP := {
              intraFreqMeasurementSysInfo := omit,
              interFreqMeasurementSysInfo := omit
            } // End of cellSelectQualityMeasure
          },
          interRATMeasurementSysInfo := omit
        } // End of use_of_HCS
      },
      trafficVolumeMeasSysInfo := omit,
      dummy := omit
    }, // End of measurementControlSysInfo
    v4b0NonCriticalExtensions :=
    {
      sysInfoType11_v4b0ext := {
        fach_MeasurementOccasionInfo_LCR_Ext  := omit,
        measurementControlSysInfo_LCR :=
        {
          use_of_HCS := {
            hcs_not_used := {
              cellSelectQualityMeasure := {
                cpich_RSCP := {
                  intraFreqMeasurementSysInfo := {
                    intraFreqMeasurementID := omit,  // default value 1
                    intraFreqCellInfoSI_List := {
                      removedIntraFreqCellList := omit,   // removedIntraFreqCellList in SIB11 is not used and ignored by the UE
                      newIntraFreqCellList := {
                        {
                          intraFreqCellID :=  p_ActiveCellId,
                          cellInfo := {
                            cellIndividualOffset := omit,    // default value
                            referenceTimeDifferenceToCell := omit,
                            primaryCCPCH_Info := {
                              tstd_Indicator     :=      false,
                              cellParametersID    :=     p_CellParametersID1,
                              sctd_Indicator      :=     false
                            },
                            primaryCCPCH_TX_Power   :=   omit,
                            timeslotInfoList        :=   omit,
                            readSFN_Indicator       :=   false,
                            cellSelectionReselectionInfo  :=  omit
                          }
                        },
                        {
                          intraFreqCellID :=  p_IntraCellId2,
                          cellInfo := {
                            cellIndividualOffset := omit,    // default value
                            referenceTimeDifferenceToCell := omit,
                            primaryCCPCH_Info := {
                              tstd_Indicator     :=      false,
                              cellParametersID    :=     p_CellParametersID2,
                              sctd_Indicator      :=     false
                            },
                            primaryCCPCH_TX_Power   :=   omit,
                            timeslotInfoList        :=   omit,
                            readSFN_Indicator       :=   true,
                            cellSelectionReselectionInfo  :=  omit
                          }
                        }
                      } // End of newIntraFreqCellList
                    },//End of intraFreqCellInfo
                    intraFreqMeasQuantity  := omit,
                    
                    intraFreqReportingQuantityForRACH  := omit,
                    maxReportedCellsOnRACH     :=     omit,
                    reportingInfoForCellDCH    :=     omit
                  }, // End of intraFreqMeasurementSysInfo-RSCP-LCR-r4
                  interFreqMeasurementSysInfo := {
                    interFreqCellInfoSI_List := {
                      removedInterFreqCellList := omit,  // removedInterFreqCellList in SIB11 is not used and ignored by the UE
                      newInterFreqCellList := {
                        {
                          interFreqCellID  :=  p_InterCellId3,
                          frequencyInfo := p_FrequencyInfo3,
                          cellInfo := {
                            cellIndividualOffset := omit,    // default value
                            referenceTimeDifferenceToCell := omit,
                            primaryCCPCH_Info := {
                              tstd_Indicator    :=    false,
                              cellParametersID  :=    p_CellParametersID3,
                              sctd_Indicator    :=    false
                            },
                            primaryCCPCH_TX_Power  := omit,
                            timeslotInfoList       := omit,
                            readSFN_Indicator      := false,
                            cellSelectionReselectionInfo := omit
                          }
                        },
                        {
                          interFreqCellID  :=  p_InterCellId4,
                          frequencyInfo := p_FrequencyInfo4,
                          cellInfo := {
                            cellIndividualOffset := omit,    // default value
                            referenceTimeDifferenceToCell := omit,
                            primaryCCPCH_Info := {
                              tstd_Indicator    :=    false,
                              cellParametersID  :=    p_CellParametersID4,
                              sctd_Indicator    :=    false
                            },
                            primaryCCPCH_TX_Power  := omit,
                            timeslotInfoList       := omit,
                            readSFN_Indicator      := false,
                            cellSelectionReselectionInfo := omit
                          }
                        }
                      }//End of newInterFreqCellList
                      
                    } // End of interFreqCellInfoSI_List
                  }// End of interFreqMeasurementSysInfo
                } // End of cpich_RSCP
              }
            } // End of hcs_not_used
          }
        } // End of MeasurementControlSysInfo_LCR_r4_ext
      }, // End of SysInfoType11_v4xyext_IES
      v590NonCriticalExtension := omit
    } // End of v4xyNonCriticalExtensions
  };
  
  template (value) SysInfoType11 cds_SIB11_Def_UG_TDD ( integer p_ActiveCellId,
                                                        CellParametersID    p_CellParametersID1,
                                                        integer p_IntraCellId2,
                                                        CellParametersID    p_CellParametersID2,
                                                        integer p_InterCellId3,
                                                        FrequencyInfo        p_FrequencyInfo3,
                                                        CellParametersID    p_CellParametersID3,
                                                        integer p_InterCellId4,
                                                        FrequencyInfo        p_FrequencyInfo4,
                                                        CellParametersID    p_CellParametersID4,
                                                        integer p_GERANCell1_Id,
                                                        integer p_GERANCell1_Ncc,
                                                        integer p_GERANCell1_Bcc,
                                                        Frequency_Band p_GERANCell1_BandInd,
                                                        integer p_GERANCell1_Freq,
                                                        integer p_GERANCell2_Id,
                                                        integer p_GERANCell2_Ncc,
                                                        integer p_GERANCell2_Bcc,
                                                        Frequency_Band p_GERANCell2_BandInd,
                                                        integer p_GERANCell2_Freq,
                                                        integer p_GERANCell3_Id,
                                                        integer p_GERANCell3_Ncc,
                                                        integer p_GERANCell3_Bcc,
                                                        Frequency_Band p_GERANCell3_BandInd,
                                                        integer p_GERANCell3_Freq)
    modifies cs_SIB11_Def_TDD :=
  {
    measurementControlSysInfo := {
      use_of_HCS := {
        hcs_not_used := {
          interRATMeasurementSysInfo := {
            interRATCellInfoList := {
              removedInterRATCellList := {
                removeNoInterRATCells := NULL
              },
              newInterRATCellList := {
                {
                  interRATCellID := p_GERANCell1_Id,
                  technologySpecificInfo := {
                    gsm := {
                      cellSelectionReselectionInfo := omit,
                      interRATCellIndividualOffset := 0,
                      bsic := {
                        ncc := p_GERANCell1_Ncc,
                        bcc := p_GERANCell1_Bcc
                      },
                      frequency_band := p_GERANCell1_BandInd,
                      bcch_ARFCN := p_GERANCell1_Freq
                    }
                  }
                },
                {
                  interRATCellID := p_GERANCell2_Id,
                  technologySpecificInfo := {
                    gsm := {
                      cellSelectionReselectionInfo := omit,
                      interRATCellIndividualOffset := 0,
                      bsic := {
                        ncc := p_GERANCell2_Ncc,
                        bcc := p_GERANCell2_Bcc
                      },
                      frequency_band := p_GERANCell2_BandInd,
                      bcch_ARFCN := p_GERANCell2_Freq
                    }
                  }
                },
                {
                  interRATCellID := p_GERANCell3_Id,
                  technologySpecificInfo := {
                    gsm := {
                      cellSelectionReselectionInfo := omit,
                      interRATCellIndividualOffset := 0,
                      bsic := {
                        ncc := p_GERANCell3_Ncc,
                        bcc := p_GERANCell3_Bcc
                      },
                      frequency_band := p_GERANCell3_BandInd,
                      bcch_ARFCN := p_GERANCell3_Freq
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  };
  
  // =============================================================================
  // ASN.1 Type Constraint
  // Default system information block type 11
  // -----------------------------------------------------------------------------
  template (value) SysInfoType11 cs_SIB11_Freq2_TDD (integer p_ActiveCellId,
                                                     CellParametersID p_CellParametersID1,
                                                     integer          p_InterCellId2,
                                                     FrequencyInfo    p_FrequencyInfo2,
                                                     CellParametersID p_CellParametersID2,
                                                     integer          p_InterCellId3,
                                                     FrequencyInfo    p_FrequencyInfo3,
                                                     CellParametersID p_CellParametersID3,
                                                     integer          p_InterCellId4,
                                                     FrequencyInfo    p_FrequencyInfo4,
                                                     CellParametersID p_CellParametersID4):=
  {
    sib12indicator := true,
    fach_MeasurementOccasionInfo := omit,
    measurementControlSysInfo := {
      use_of_HCS := {
        hcs_not_used := {
          cellSelectQualityMeasure := {
            cpich_RSCP := {
              intraFreqMeasurementSysInfo := omit,
              interFreqMeasurementSysInfo := omit
            } // End of cellSelectQualityMeasure
          },
          interRATMeasurementSysInfo := omit
        } // End of use_of_HCS
      },
      trafficVolumeMeasSysInfo := omit,
      dummy := omit
    }, // End of measurementControlSysInfo
    v4b0NonCriticalExtensions := {
      sysInfoType11_v4b0ext := {
        fach_MeasurementOccasionInfo_LCR_Ext := omit,
        measurementControlSysInfo_LCR := {
          use_of_HCS := {
            hcs_not_used := {
              cellSelectQualityMeasure := {
                cpich_RSCP := {
                  intraFreqMeasurementSysInfo := {
                    intraFreqMeasurementID := omit,  // default value 1
                    intraFreqCellInfoSI_List := {
                      removedIntraFreqCellList := omit,   // removedIntraFreqCellList in SIB11 is not used and ignored by the UE
                      newIntraFreqCellList := {
                        {
                          intraFreqCellID :=  p_ActiveCellId,
                          cellInfo := {
                            cellIndividualOffset := omit,    // default value
                            referenceTimeDifferenceToCell := omit,
                            primaryCCPCH_Info := {
                              tstd_Indicator     :=      false,
                              cellParametersID    :=     p_CellParametersID1,
                              sctd_Indicator      :=     false
                            },
                            primaryCCPCH_TX_Power   :=   omit,
                            timeslotInfoList        :=   omit,
                            readSFN_Indicator       :=   false,
                            cellSelectionReselectionInfo  :=  omit
                          }
                        }
                      } // End of newIntraFreqCellList
                    },//End of intraFreqCellInfo
                    intraFreqMeasQuantity  := omit,
                    
                    intraFreqReportingQuantityForRACH  := omit,
                    maxReportedCellsOnRACH     :=     omit,
                    reportingInfoForCellDCH    :=     omit
                  }, // End of intraFreqMeasurementSysInfo-RSCP-LCR-r4
                  interFreqMeasurementSysInfo := {
                    interFreqCellInfoSI_List := {
                      removedInterFreqCellList := omit,  // removedInterFreqCellList in SIB11 is not used and ignored by the UE
                      newInterFreqCellList := {
                        {
                          interFreqCellID  :=  p_InterCellId2,
                          frequencyInfo := p_FrequencyInfo2,
                          cellInfo :=
                          {
                            cellIndividualOffset := omit,    // default value
                            referenceTimeDifferenceToCell := omit,
                            primaryCCPCH_Info := {
                              tstd_Indicator    :=    false,
                              cellParametersID  :=    p_CellParametersID2,
                              sctd_Indicator    :=    false
                            },
                            primaryCCPCH_TX_Power  := omit,
                            timeslotInfoList       := omit,
                            readSFN_Indicator      := false,
                            cellSelectionReselectionInfo := omit
                          }
                        },
                        {
                          interFreqCellID  :=  p_InterCellId3,
                          frequencyInfo := p_FrequencyInfo3,
                          cellInfo :=
                          {
                            cellIndividualOffset := omit,    // default value
                            referenceTimeDifferenceToCell := omit,
                            primaryCCPCH_Info := {
                              tstd_Indicator    :=    false,
                              cellParametersID  :=    p_CellParametersID3,
                              sctd_Indicator    :=    false
                            },
                            primaryCCPCH_TX_Power  := omit,
                            timeslotInfoList       := omit,
                            readSFN_Indicator      := false,
                            cellSelectionReselectionInfo := omit
                          }
                        },
                        {
                          interFreqCellID  :=  p_InterCellId4,
                          frequencyInfo := p_FrequencyInfo4,
                          cellInfo :=
                          {
                            cellIndividualOffset := omit,    // default value
                            referenceTimeDifferenceToCell := omit,
                            primaryCCPCH_Info := {
                              tstd_Indicator    :=    false,
                              cellParametersID  :=    p_CellParametersID4,
                              sctd_Indicator    :=    false
                            },
                            primaryCCPCH_TX_Power  := omit,
                            timeslotInfoList       := omit,
                            readSFN_Indicator      := false,
                            cellSelectionReselectionInfo := omit
                          }
                        }
                      }//End of newInterFreqCellList
                      
                    } // End of interFreqCellInfoSI_List
                  }// End of interFreqMeasurementSysInfo
                } // End of cpich_RSCP
              }
            } // End of hcs_not_used
          }
        } // End of MeasurementControlSysInfo_LCR_r4_ext
      }, // End of SysInfoType11_v4xyext_IES
      v590NonCriticalExtension := omit
    } // End of v4xyNonCriticalExtensions
  };
  
  template (value) SysInfoType11 cds_SIB11_Freq2_UG_TDD (integer p_ActiveCellId,
                                                         CellParametersID p_CellParametersID1,
                                                         integer          p_InterCellId2,
                                                         FrequencyInfo    p_FrequencyInfo2,
                                                         CellParametersID p_CellParametersID2,
                                                         integer          p_InterCellId3,
                                                         FrequencyInfo    p_FrequencyInfo3,
                                                         CellParametersID p_CellParametersID3,
                                                         integer          p_InterCellId4,
                                                         FrequencyInfo    p_FrequencyInfo4,
                                                         CellParametersID p_CellParametersID4,
                                                         integer p_GERANCell1_Id,
                                                         integer p_GERANCell1_Ncc,
                                                         integer p_GERANCell1_Bcc,
                                                         Frequency_Band p_GERANCell1_BandInd,
                                                         integer p_GERANCell1_Freq,
                                                         integer p_GERANCell2_Id,
                                                         integer p_GERANCell2_Ncc,
                                                         integer p_GERANCell2_Bcc,
                                                         Frequency_Band p_GERANCell2_BandInd,
                                                         integer p_GERANCell2_Freq,
                                                         integer p_GERANCell3_Id,
                                                         integer p_GERANCell3_Ncc,
                                                         integer p_GERANCell3_Bcc,
                                                         Frequency_Band p_GERANCell3_BandInd,
                                                         integer p_GERANCell3_Freq)
    modifies cs_SIB11_Freq2_TDD :=
  {
    measurementControlSysInfo := {
      use_of_HCS := {
        hcs_not_used := {
          interRATMeasurementSysInfo := {
            interRATCellInfoList := {
              removedInterRATCellList := {
                removeNoInterRATCells := NULL
              },
              newInterRATCellList := {
                {
                  interRATCellID := p_GERANCell1_Id,
                  technologySpecificInfo := {
                    gsm := {
                      cellSelectionReselectionInfo := omit,
                      interRATCellIndividualOffset := 0,
                      bsic := {
                        ncc := p_GERANCell1_Ncc,
                        bcc := p_GERANCell1_Bcc
                      },
                      frequency_band := p_GERANCell1_BandInd,
                      bcch_ARFCN := p_GERANCell1_Freq
                    }
                  }
                },
                {
                  interRATCellID := p_GERANCell2_Id,
                  technologySpecificInfo := {
                    gsm := {
                      cellSelectionReselectionInfo := omit,
                      interRATCellIndividualOffset := 0,
                      bsic := {
                        ncc := p_GERANCell2_Ncc,
                        bcc := p_GERANCell2_Bcc
                      },
                      frequency_band := p_GERANCell2_BandInd,
                      bcch_ARFCN := p_GERANCell2_Freq
                    }
                  }
                },
                {
                  interRATCellID := p_GERANCell3_Id,
                  technologySpecificInfo := {
                    gsm := {
                      cellSelectionReselectionInfo := omit,
                      interRATCellIndividualOffset := 0,
                      bsic := {
                        ncc := p_GERANCell3_Ncc,
                        bcc := p_GERANCell3_Bcc
                      },
                      frequency_band := p_GERANCell3_BandInd,
                      bcch_ARFCN := p_GERANCell3_Freq
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
  } // end group sysInfo_Templates

  template (value) U_CPHY_CONFIG_REQ cas_CPHY_Cell_Release_REQ(UTRAN_CellId_Type p_CellId) :=
  {
    cellRelease :={
      soft_Reset := false,
      cell_ID_List := {
        p_CellId
      }
    }
  };
  
  template U_CPHY_CONFIG_CNF car_CPHY_Cell_Release_CNF(template (present) UTRAN_CellId_Type p_CellId) :=
  {
    cellRelease :={
      soft_Reset := false,
      cell_ID_List := {
        p_CellId
      }
    }
  };
  
  // =============================================================================
  // The following are fixed in this constraint (34.108):
  // transmission diversity is off,
  // speading factor is set to 256,
  // AICH timing scheme is 0
  // -----------------------------------------------------------------------------
  template (value) U_CPHY_CONFIG_REQ cas_AichInfo(UTRAN_CellId_Type p_CellId,
                                                      integer p_PhyChId,
                                                      template (value) AICH_Info p_AICH_Info,
                                                      AICH_PowerOffset p_TxPower) :=
  {
    rlSetup_FDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := fdd,
      setupMessage := {
        physicalChannelInfo := {
          aICHInfo := {
            aichinfo := p_AICH_Info,
            dl_TxPower := p_TxPower,
            e_ai_Indication := omit  // DEFAULT FALSE
          }
        },
        activationTime := {
          activateNow := NULL
        },
        trchConfigToFollow := omit    // DEFAULT TRUE
      }
    }
  };

  template (value) U_CPHY_CONFIG_REQ cas_PCCPCH_Info_FDD(UTRAN_CellId_Type p_CellId,
                                                             DL_TxPower p_TxPower) :=
  {
    rlSetup_FDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := tsc_P_CCPCH
      },
      ratType := fdd,
      setupMessage := {
        physicalChannelInfo := {
          primaryCCPCHInfo := {
            sttd_Indicator := false,
            dl_TxPower := p_TxPower
          }
        },
        activationTime := {
          activateNow := NULL
        },
        trchConfigToFollow := omit    // DEFAULT TRUE
      }
    }
  };
  
  template (value) U_CPHY_CONFIG_REQ cas_PCCPCH_Info_TDD(UTRAN_CellId_Type p_CellId,
                                                             DL_TxPower_PCCPCH p_DL_TxPower_PCCPCH ) :=
  {
    rlSetup_TDD := {
      cellId := p_CellId,
      secondaryFrequency := omit,
      routingInfo := {
        physicalChannelIdentity := tsc_P_CCPCH
      },
      ratType := tdd,
      setupMessage := {
        physicalChannelInfo := {
          primaryCCPCHInfo := {
            sctd_Indicator := notApplied,
            tstd_Indicator := notApplied,
            commonTimeSlotInfo := cs_CommonTimeslotInfo_PCCPCH,
            dL_TxPower_PCCPCH := p_DL_TxPower_PCCPCH
          }
        },
        activationTime := {
          activateNow := NULL
        },
        trchConfigToFollow := omit    // DEFAULT TRUE
      }
    }
  };
  
  template (value) CommonTimeslotInfo cs_CommonTimeslotInfo_PCCPCH :=
  {
    secondInterleavingMode := frameRelated,
    tfci_Coding := omit,
    puncturingLimit := pl1,
    repetitionPeriodAndLength := { repetitionPeriod1 := NULL }
  };
  
  // -----------------------------------------------------------------------------
  // For BCH transport channel the following parameters are fixed by core spec.(25.212 and 25.302):
  // TTI = 20 ms;
  // TransportBlocks =  1;
  // transport block size = 246 bits;
  // coding = convolutional;
  // coding rate = 1/2;
  // CRCsize = 16;
  // RateMatching = 1 (this parameter is not relevant to BCH, value can be any number between 1 to hiRM)
  // -----------------------------------------------------------------------------
  template (value) U_CPHY_CONFIG_REQ cas_BCH_InfoActNow_FDD(UTRAN_CellId_Type p_CellId) :=
  {
    trchConfig_FDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := tsc_P_CCPCH
      },
      ratType := fdd,
      trchConfigType := {
        nonDch := NULL
      },
      configMessage := {
        activationTime := {
          activateNow := NULL
        },
        ulconnectedTrCHList := omit,
        ulTFCS := omit,
        dlconnectedTrCHList := {
          {
            trchid := tsc_BCH1,
            dl_TransportChannelType := bch,
            transportChannelInfo := {
              tti := {
                tti20 := {
                  {
                    tb_Size := 246,
                    numberOfTbSizeList := {
                      { one := NULL }
                    },
                    logicalChannelList := {
                      configured := NULL
                    }
                  }
                }
              },
              semistaticTF_Information := {
                channelCodingType := {
                  convolutional := half
                },
                rateMatchingAttribute := 1,
                crc_Size := crc16
              }
            }
          }
        },
        dlTFCS := cs_TFCS_Cmpl0(cs_PowerOffsetInfoBelow64k),
        hsDSCHMacdFlows := omit,
        e_DCHMacdFlows := omit,
        ehs_DSCH_Flows := omit,
        ehs_DSCH_CommonFlows := omit,
        e_DCHMacd_CommonFlows := omit
      }
    }
  };
  
  // -----------------------------------------------------------------------------
  // For BCH transport channel the following parameters are fixed by core spec.(25.212 and 25.302):
  // TTI = 20 ms;
  // TransportBlocks =  1;
  // transport block size = 246 bits;
  // coding = convolutional;
  // coding rate = 1/2;
  // CRCsize = 16;
  // RateMatching = 1 (this parameter is not relevant to BCH, value can be any number between 1 to hiRM)
  // -----------------------------------------------------------------------------
  template (value) U_CPHY_CONFIG_REQ cas_BCH_InfoActNow_TDD(UTRAN_CellId_Type p_CellId) :=
  {
    trchConfig_TDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := tsc_P_CCPCH
      },
      ratType := tdd,
      trchConfigType := {
        nonDch := NULL
      },
      configMessage := {
        activationTime := {
          activateNow := NULL
        },
        ulconnectedTrCHList := omit,
        ulTFCS := omit,
        dlconnectedTrCHList := {
          {
            trchid := tsc_BCH1,
            dl_TransportChannelType := bch,
            transportChannelInfo := {
              tfsMode := { commonTransChTFS := cs_BCH_246_TTI_20_TFS_LCR }
            }
          }
        },
        dlTFCS := cs_TFCS_Cmpl0_TDD,
        hsDSCHMacdFlows := omit,
        e_DCHMacdFlows := omit,
        ehs_DSCH_Flows := omit,
        ehs_DSCH_CommonFlows := omit,
        e_DCHMacd_CommonFlows := omit
      }
    }
  };
  
  template (value) CommonTransChTFS  cs_BCH_246_TTI_20_TFS_LCR :=
  {
    tti := {
      tti20 := {
        {
          rlc_Size := {
            tdd := {
              commonTDD_Choice := {
                bitModeRLC_SizeInfo := {
                  sizeType2 :=
                  {
                    part1 := 14,
                    part2 := 6
                  }
                }
              }
            }
          },
          numberOfTbSizeList := {{ one := NULL }},
          logicalChannelList := {configured := NULL}
        }
      }
    },
    semistaticTF_Information := {
      channelCodingType := {convolutional := third},
      rateMatchingAttribute := 1,
      crc_Size := crc16
    }
  };
  
  template U_CPHY_CONFIG_CNF car_CellCfgCnf(template UTRAN_CellId_Type p_CellId) :=
  {
    cellConfig := { cellId := p_CellId }
  };
  
  template (value) U_CPHY_CONFIG_REQ cas_CellCfgReq_FDD(UTRAN_CellId_Type p_CellId,
                                                            integer p_Tcell,
                                                            FrequencyInfo p_FreqInfo,
                                                            integer p_PriScmCode,
                                                            integer p_DL_TxAttenLevel,
                                                            integer p_SfnOffset,
                                                            CellTxPowerLevel p_TotalCellPower,
                                                            FrequencyBandFDD p_FrequencyBandFDD) :=
  {
    cellConfig_FDD := {
      cellId := p_CellId,
      tcell := p_Tcell,
      sfnOffset := p_SfnOffset,
      frequencyInfo := p_FreqInfo,
      primaryScramblingCode_SS := p_PriScmCode,
      cellTxPowerLevel := p_TotalCellPower,
      dLTxAttenuationLevel := p_DL_TxAttenLevel,
      frequencyBandIndicator := p_FrequencyBandFDD
    }
  };
  
  template U_CPHY_CONFIG_CNF car_CellTxPowerModifyCnf(template (present) UTRAN_CellId_Type p_CellId) :=
  {
    txPower := {
      cellId := p_CellId
    }
  };
  
  template (value) U_CPHY_CONFIG_REQ cas_CellTxPowerModifyReq(UTRAN_CellId_Type p_CellId,
                                                                  integer p_DL_TxAttenLevel) :=
  {
    txPower := {
      cellId := p_CellId,
      dLTxAttenuationLevel := p_DL_TxAttenLevel
    }
  };
  
  template (value) U_CPHY_CONFIG_REQ cas_DL_DPCH_SetupInfo_FDD(UTRAN_CellId_Type p_CellId,
                                                                   integer p_PhyChId,
                                                                   template (value) DL_DPCHInfo_r8 p_DL_DPCHInfo,
                                                                   template (value) SS_ActivationTime p_SS_ActTime) :=
  {
    rlSetup_FDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := fdd,
      setupMessage := {
        physicalChannelInfo := {
          dPCHInfo_r5 := {
            r8 := {
              ul_DPCHInfo := omit,
              dl_DPCHInfo := p_DL_DPCHInfo,
              hs_DPCCHInd := omit,
              ss_UL_DPCCH_DRX_Info := omit,
              ss_DRX_Info := omit
            }
          }
        },
        activationTime := p_SS_ActTime,
        trchConfigToFollow := omit    // DEFAULT TRUE
      }
    }
  };
  
  template (value) U_CPHY_CONFIG_REQ cas_DL_DPCH_SetupInfo_TDD(UTRAN_CellId_Type p_CellId,
                                                                   integer p_PhyChId,
                                                                   template (value) DL_DPCHInfo_r8 p_DL_DPCHInfo,
                                                                   template (value) SS_ActivationTime p_SS_ActTime) :=
  {
    rlSetup_TDD := {
      cellId := p_CellId,
      secondaryFrequency := omit,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := tdd,
      setupMessage := {
        physicalChannelInfo := {
          dPCHInfo_r5 := {
            r8 := {
              ul_DPCHInfo := omit,
              dl_DPCHInfo := p_DL_DPCHInfo,
              hs_DPCCHInd := omit,
              ss_UL_DPCCH_DRX_Info := omit,
              ss_DRX_Info := omit
            }
          }
        },
        activationTime := p_SS_ActTime,
        trchConfigToFollow := omit    // DEFAULT TRUE
      }
    }
  };
  
  template (value) U_CPHY_CONFIG_REQ cas_UL_DPCH_SetupInfo_FDD(UTRAN_CellId_Type p_CellId,
                                                                   integer p_PhyChId,
                                                                   template (value) UL_DPCH_Info_r7 p_UL_DPCHInfo,
                                                                   template (value) SS_ActivationTime p_SS_ActTime) :=
  {
    rlSetup_FDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := fdd,
      setupMessage := {
        physicalChannelInfo := {
          dPCHInfo_r5 := {
            r8 := {
              ul_DPCHInfo := p_UL_DPCHInfo,
              dl_DPCHInfo := omit,
              hs_DPCCHInd := omit,
              ss_UL_DPCCH_DRX_Info := omit,
              ss_DRX_Info := omit
            }
          }
        },
        activationTime := p_SS_ActTime,
        trchConfigToFollow := omit    // DEFAULT TRUE
      }
    }
  };
  
  template (value) U_CPHY_CONFIG_REQ cas_CellCfgReq_TDD(UTRAN_CellId_Type p_CellId,
                                                            FrequencyInfo p_FreqInfo,
                                                            CellParametersID p_CellParametersID,
                                                            integer p_DL_TxAttenLevel,
                                                            integer p_SfnOffset,
                                                            CellTxPowerLevel p_TotalCellPower,
                                                            DwPCHInfo p_DwPCHInfo) :=
  {
    cellConfig_TDD := {
      cellId := p_CellId,
      sfnOffset := p_SfnOffset,
      frequencyInfo := p_FreqInfo,
      cellTxPowerLevel := p_TotalCellPower,
      dLTxAttenuationLevel := p_DL_TxAttenLevel,
      cellParametersID := p_CellParametersID,
      timeSlotConfigurationList_LCR := {
        {
          timeSlotLCR := 1,
          timeSlotStatus := active,
          timeSlotDirection := uplink
        },
        {
          timeSlotLCR := 2,
          timeSlotStatus := active,
          timeSlotDirection := uplink
        },
        {
          timeSlotLCR := 3,
          timeSlotStatus := active,
          timeSlotDirection := uplink
        },
        {
          timeSlotLCR := 4,
          timeSlotStatus := active,
          timeSlotDirection := downlink
        },
        {
          timeSlotLCR := 5,
          timeSlotStatus := active,
          timeSlotDirection := downlink
        },
        {
          timeSlotLCR := 6,
          timeSlotStatus := active,
          timeSlotDirection := downlink
        }
      },
      dwPCHInfo := p_DwPCHInfo,
      transmissionDiversityApplied := notApplied,
      secondaryFrequencyInfo := omit,
      upPCHposition := omit
    }
  };

  template (value) U_CPHY_CONFIG_REQ cas_UL_DPCH_SetupInfo_TDD(UTRAN_CellId_Type p_CellId,
                                                                   integer p_PhyChId,
                                                                   template (value) UL_DPCH_Info_r7 p_UL_DPCHInfo,
                                                                   template (value) SS_ActivationTime p_SS_ActTime) :=
  {
    rlSetup_TDD := {
      cellId := p_CellId,
      secondaryFrequency := omit,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := tdd,
      setupMessage := {
        physicalChannelInfo := {
          dPCHInfo_r5 := {
            r8 := {
              ul_DPCHInfo := p_UL_DPCHInfo,
              dl_DPCHInfo := omit,
              hs_DPCCHInd := omit,
              ss_UL_DPCCH_DRX_Info := omit,
              ss_DRX_Info := omit
            }
          }
        },
        activationTime := p_SS_ActTime,
        trchConfigToFollow := omit    // DEFAULT TRUE
      }
    }
  };
  
  template U_CPHY_CONFIG_CNF car_IniCnf :=
  {
    ini := {confirmation := NULL }
  };
  
  template (value) U_CPHY_CONFIG_REQ cas_InitReqDef :=
  {
    ini := defaultRadioEnvironment
  };
  
  template (value) U_CPHY_CONFIG_REQ cas_DCH_148_TTI_10_DL_InfoActNow_FDD(UTRAN_CellId_Type p_CellId,
                                                                              integer p_PhyChId) :=
  {
    trchConfig_FDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := fdd,
      trchConfigType := cs_TrChConfigTypeDCH_NoSHO,
      configMessage := {
        activationTime := {
          activateNow := NULL
        },
        ulconnectedTrCHList := omit,
        ulTFCS := omit,
        dlconnectedTrCHList := {
          {
            trchid := tsc_DL_DCH5,
            dl_TransportChannelType := dch,
            transportChannelInfo := cs_DCH_148_TTI_10_TFS_FDD
          }
        },
        dlTFCS := cs_TFCS_Cmpl0_1_Tx_FDD(cs_PowerOffsetInfoBelow64k),
        hsDSCHMacdFlows := omit,
        e_DCHMacdFlows := omit,
        ehs_DSCH_Flows := omit,
        ehs_DSCH_CommonFlows := omit,
        e_DCHMacd_CommonFlows := omit
      }
    }
  };
  
  template (value) U_CPHY_CONFIG_REQ cas_DCH_148_TTI_10_DL_InfoActNow_TDD(UTRAN_CellId_Type p_CellId,
                                                                              integer p_PhyChId) :=
  {
    trchConfig_TDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := tdd,
      trchConfigType := cs_TrChConfigTypeDCH_NoSHO,
      configMessage := {
        activationTime := {
          activateNow := NULL
        },
        ulconnectedTrCHList := omit,
        ulTFCS := omit,
        dlconnectedTrCHList := {
          {
            trchid := tsc_DL_DCH5,
            dl_TransportChannelType := dch,
            transportChannelInfo := cs_DCH_148_TTI_10_TFS_TDD
          }
        },
        dlTFCS := cs_TFCS_Cmpl0_1_Tx_TDD,
        hsDSCHMacdFlows := omit,
        e_DCHMacdFlows := omit,
        ehs_DSCH_Flows := omit,
        ehs_DSCH_CommonFlows := omit,
        e_DCHMacd_CommonFlows := omit
      }
    }
  };

  template (value) U_CPHY_CONFIG_REQ cas_DCH_148_TTI_10_UL_InfoActNow_FDD(UTRAN_CellId_Type p_CellId,
                                                                              integer p_PhyChId) :=
  {
    trchConfig_FDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := fdd,
      trchConfigType := cs_TrChConfigTypeDCH_NoSHO,
      configMessage := {
        activationTime := {
          activateNow := NULL
        },
        ulconnectedTrCHList := {
          {
            trchid := tsc_UL_DCH5,
            ul_TransportChannelType := dch,
            transportChannelInfo := cs_DCH_148_TTI_10_TFS_FDD
          }
        },
        ulTFCS := cs_TFCS_Cmpl0_1_Rx,
        dlconnectedTrCHList := omit,
        dlTFCS := omit,
        hsDSCHMacdFlows := omit,
        e_DCHMacdFlows := omit,
        ehs_DSCH_Flows := omit,
        ehs_DSCH_CommonFlows := omit,
        e_DCHMacd_CommonFlows := omit
      }
    }
  };
  
  template (value) U_CPHY_CONFIG_REQ cas_DCH_148_TTI_10_UL_InfoActNow_TDD(UTRAN_CellId_Type p_CellId,
                                                                              integer p_PhyChId) :=
  {
    trchConfig_TDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := tdd,
      trchConfigType := cs_TrChConfigTypeDCH_NoSHO,
      configMessage := {
        activationTime := {
          activateNow := NULL
        },
        ulconnectedTrCHList := {
          {
            trchid := tsc_UL_DCH5,
            ul_TransportChannelType := dch,
            transportChannelInfo := cs_DCH_148_TTI_10_TFS_TDD
          }
        },
        ulTFCS := cs_TFCS_Cmpl0_1_Rx,
        dlconnectedTrCHList := omit,
        dlTFCS := omit,
        hsDSCHMacdFlows := omit,
        e_DCHMacdFlows := omit,
        ehs_DSCH_Flows := omit,
        ehs_DSCH_CommonFlows := omit,
        e_DCHMacd_CommonFlows := omit
      }
    }
  };
  
  template (value) U_CPHY_CONFIG_REQ cas_PCH_2_FACH_InfoActNow_FDD(UTRAN_CellId_Type p_CellId,
                                                                       integer p_PhyChId) :=
  {
    trchConfig_FDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := fdd,
      trchConfigType := {
        nonDch := NULL
      },
      configMessage := {
        activationTime := {
          activateNow := NULL
        },
        ulconnectedTrCHList := omit,
        ulTFCS := omit,
        dlconnectedTrCHList := {
          {
            trchid := tsc_PCH1,
            dl_TransportChannelType := pch,
            transportChannelInfo := cs_PCH_TFS_FDD
          },
          {
            trchid := tsc_FACH1,
            dl_TransportChannelType := fach,
            transportChannelInfo := cs_FACH_TFS_FDD
          },
          {
            trchid := tsc_FACH2,
            dl_TransportChannelType := fach,
            transportChannelInfo := cs_FACH_TFS_PS_FDD
          }
        },
        dlTFCS := cs_TFCS_CmplFACH_Tx(cs_PowerOffsetInfoBelow64k),
        hsDSCHMacdFlows := omit,
        e_DCHMacdFlows := omit,
        ehs_DSCH_Flows := omit,
        ehs_DSCH_CommonFlows := omit,
        e_DCHMacd_CommonFlows := omit
      }
    }
  };
  
  template (value) U_CPHY_CONFIG_REQ cas_PCH_1_FACH_InfoActNow_TDD(UTRAN_CellId_Type p_CellId,
                                                                       integer p_PhyChId) :=
  {
    trchConfig_TDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := tdd,
      trchConfigType := {
        nonDch := NULL
      },
      configMessage := {
        activationTime := {
          activateNow := NULL
        },
        ulconnectedTrCHList := omit,
        ulTFCS := omit,
        dlconnectedTrCHList := {
          {
            trchid := tsc_PCH1,
            dl_TransportChannelType := pch,
            transportChannelInfo := cs_PCH_TFS_TDD
          },
          {
            trchid := tsc_FACH1,
            dl_TransportChannelType := fach,
            transportChannelInfo := cs_FACH_TFS_TDD
          }
        },
        dlTFCS := cs_TFCS_SCCPCH_LCR,
        hsDSCHMacdFlows := omit,
        e_DCHMacdFlows := omit,
        ehs_DSCH_Flows := omit,
        ehs_DSCH_CommonFlows := omit,
        e_DCHMacd_CommonFlows := omit
      }
    }
  };
  
  template (value) U_CPHY_CONFIG_REQ cas_PCPICH_Info_FDD(UTRAN_CellId_Type p_CellId,
                                                             DL_TxPower_PCPICH p_TxPower) :=
  {
    rlSetup_FDD :=
    {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := tsc_P_CPICH
      },
      ratType := fdd,
      setupMessage := {
        physicalChannelInfo := {
          primaryCPICHInfo := {
            dl_TxPower_PCPICH := p_TxPower,
            txdiversityIndicator := false,
            mimoAntenna2CPICH := omit,
            dC_SecondaryServingCell := omit // DEFAULT FALSE
          }
        },
        activationTime := {
          activateNow := NULL
        },
        trchConfigToFollow := omit    // DEFAULT TRUE
      }
    }
  };
  
  // -----------------------------------------------------------------------------
  // Value of PI per frame is fixed to 18 (34.108)
  // Value of sndScramCode can be 2 (34.108)
  // -----------------------------------------------------------------------------
  template (value) U_CPHY_CONFIG_REQ cas_PICH_Info_FDD(UTRAN_CellId_Type p_CellId,
                                                           template (value) PICH_Info p_PICH_Info,
                                                           PICH_PowerOffset p_TxPower,
                                                           integer p_SCCPCH_Ass) :=
  {
    rlSetup_FDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := tsc_PICH1
      },
      ratType := fdd,
      setupMessage := {
        physicalChannelInfo := {
          pICHInfo := {
            pichinfo := p_PICH_Info,
            dl_TxPower := p_TxPower,
            sccpchId_associated := p_SCCPCH_Ass
          }
        },
        activationTime := {
          activateNow := NULL
        },
        trchConfigToFollow := omit    // DEFAULT TRUE
      }
    }
  };

  template (value) U_CPHY_CONFIG_REQ cas_PICH_Info_TDD(UTRAN_CellId_Type p_CellId,
                                                           template (value) PICH_Info_LCR_r4 p_PICH_Info,
                                                           PICH_PowerOffset p_TxPower,
                                                           integer p_SCCPCH_Ass) :=
  {
    rlSetup_TDD := {
      cellId := p_CellId,
      secondaryFrequency := omit,
      routingInfo := {
        physicalChannelIdentity := tsc_PICH1
      },
      ratType := tdd,
      setupMessage := {
        physicalChannelInfo := {
          pICHInfo := {
            pichinfo := p_PICH_Info,
            dl_TxPower := p_TxPower,
            sccpchId_associated := p_SCCPCH_Ass
          }
        },
        activationTime := {
          activateNow := NULL
        },
        trchConfigToFollow := omit    // DEFAULT TRUE
      }
    }
  };

  template (value) U_CPHY_CONFIG_REQ cas_PRACH_Info_FDD(UTRAN_CellId_Type p_CellId,
                                                            integer p_PhyChId,
                                                            AvailableSignatures p_Signatures,
                                                            PreambleScramblingCodeWordNumber p_PreScramCodeWord,
                                                            PuncturingLimit p_PuncLimit,
                                                            SF_PRACH p_SF_PRACH,
                                                            AvailableSubChannelNumbers p_SubChNum) :=
  {
    rlSetup_FDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := fdd,
      setupMessage := {
        physicalChannelInfo := {
          pRACHInfo := {
            fdd_tdd := {
              fdd := {
                preambleSignature := p_Signatures,
                spreadingFactorForDataPart := p_SF_PRACH,
                preambleScramblingCode := p_PreScramCodeWord,
                puncturingLimit := p_PuncLimit,
                accessSlot := p_SubChNum
              }
            }
          }
        },
        activationTime := {
          activateNow := NULL
        },
        trchConfigToFollow := omit    // DEFAULT TRUE
      }
    }
  };

  template (value) U_CPHY_CONFIG_REQ cas_PRACH_Info_TDD(UTRAN_CellId_Type p_CellId,
                                                            integer p_PhyChId,
                                                            DL_TxPower p_FPACH_Power) :=
  {
    rlSetup_TDD := {
      cellId := p_CellId,
      secondaryFrequency := omit,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := tdd,
      setupMessage := {
        physicalChannelInfo := {
          pRACHInfo := {
            fdd_tdd := {
              tdd := {
                pRACH_RACH_Info_LCR_r4 := cs_PRACH_RACH_Info_LCR_r4(tsc_PRACH1_ChC, tsc_FPACH1_ChC),
                accessServiceClass_TDD_LCR := cs_AccessServiceClass_TDD_LCR_r4,
                fPACH_Power := p_FPACH_Power
              }
            }
          }
        },
        activationTime := {
          activateNow := NULL
        },
        trchConfigToFollow := omit    // DEFAULT TRUE
      }
    }
  };

  template (value) U_CPHY_CONFIG_REQ cas_PSCH_Info_FDD(UTRAN_CellId_Type p_CellId,
                                                           DL_TxPower p_TxPower) :=
  {
    rlSetup_FDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := tsc_P_SCH
      },
      ratType := fdd,
      setupMessage := {
        physicalChannelInfo := {
          primarySCHInfo := {
            tstdIndicator := false,
            dl_TxPower := p_TxPower
          }
        },
        activationTime := {
          activateNow := NULL
        },
        trchConfigToFollow := omit    // DEFAULT TRUE
      }
    }
  };

  template (value) U_CPHY_CONFIG_REQ cas_SSCH_Info_FDD(UTRAN_CellId_Type p_CellId,
                                                           DL_TxPower p_TxPower) :=
  {
    rlSetup_FDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := tsc_S_SCH
      },
      ratType := fdd,
      setupMessage := {
        physicalChannelInfo := {
          secondarySCHInfo := {
            tstdIndicator := false,
            dl_TxPower := p_TxPower
          }
        },
        activationTime := {
          activateNow := NULL
        },
        trchConfigToFollow := omit    // DEFAULT TRUE
      }
    }
  };

  // =============================================================================
  // For RACH transport channel the following parameters are fixed by core spec.(34.108  cl. 6.10.2.4.4):
  // TTI = 20 ms;
  // two transport format: TransportBlocks = 1, TB size = 168 bits and TransportBlocks = 1, TB size = 360 bits;
  // TransportBlocks = 1, TB size = 240 bits;
  // coding = convolutional;
  // coding rate = 1/2;
  // CRCsize = 16;
  // RateMatching = 1
  // -----------------------------------------------------------------------------
  template (value) U_CPHY_CONFIG_REQ cas_RACH_InfoActNow_FDD(UTRAN_CellId_Type p_CellId,
                                                                 integer p_PhyChId) :=
  {
    trchConfig_FDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := fdd,
      trchConfigType := {
        nonDch := NULL
      },
      configMessage := {
        activationTime := {
          activateNow := NULL
        },
        ulconnectedTrCHList := {
          {
            trchid := tsc_RACH1,
            ul_TransportChannelType := rach,
            transportChannelInfo := cs_RACH_TFS_FDD
          }
        },
        ulTFCS := cs_TFCS_Cmpl0_1_2_Rx,
        dlconnectedTrCHList := omit,
        dlTFCS := omit,
        hsDSCHMacdFlows := omit,
        e_DCHMacdFlows := omit,
        ehs_DSCH_Flows := omit,
        ehs_DSCH_CommonFlows := omit,
        e_DCHMacd_CommonFlows := omit
      }
    }
  };

  template (value) U_CPHY_CONFIG_REQ cas_RACH_InfoActNow_TDD(UTRAN_CellId_Type p_CellId,
                                                                 integer p_PhyChId) :=
  {
    trchConfig_TDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := tdd,
      trchConfigType := {
        nonDch := NULL
      },
      configMessage := {
        activationTime := {
          activateNow := NULL
        },
        ulconnectedTrCHList := {
          {
            trchid := tsc_RACH1,
            ul_TransportChannelType := rach,
            transportChannelInfo := cs_RACH_TFS_TDD
          }
        },
        ulTFCS := cs_TFCS_Cmpl0_1_2_Rx,
        dlconnectedTrCHList := omit,
        dlTFCS := omit,
        hsDSCHMacdFlows := omit,
        e_DCHMacdFlows := omit,
        ehs_DSCH_Flows := omit,
        ehs_DSCH_CommonFlows := omit,
        e_DCHMacd_CommonFlows := omit
      }
    }
  };

  template (value) U_CPHY_CONFIG_REQ cas_SCCPCH_Info_FDD(UTRAN_CellId_Type p_CellId,
                                                             integer p_PhyChId,
                                                             integer p_SndScramCode,
                                                             SF256_AndCodeNumber p_ChannelizationCode,
                                                             SCCPCHSlotFormat p_SlotFormat,
                                                             DL_TxPower p_TxPower,
                                                             integer p_Timing) :=
  {
    rlSetup_FDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := fdd,
      setupMessage := {
        physicalChannelInfo := {
          secondaryCCPCHInfo := {
            scramblingCode := p_SndScramCode,
            dl_ChannelizationCode := p_ChannelizationCode,
            sCCPCHSlotFormat := p_SlotFormat,
            timingOffset := p_Timing,
            positionFixedOrFlexible := flexible,
            sttd_Indicator := false,
            dl_TxPower := p_TxPower,
            powerOffsetOfTFCI_PO1 := tsc_S_CCPCH_PowerOffsetTFCI,
            powerOffsetOfPILOT_PO3 := tsc_S_CCPCH_PowerOffsetPILOT,
            mbms_softCombTimingOffset := omit
          }
        },
        activationTime := {
          activateNow := NULL
        },
        trchConfigToFollow := omit    // DEFAULT TRUE
      }
    }
  };

  template (value) U_CPHY_CONFIG_REQ cas_SCCPCH_Info_TDD(UTRAN_CellId_Type p_CellId,
                                                             integer p_PhyChId,
                                                             DL_TxPower p_TxPower) :=
  {
    rlSetup_TDD := {
      cellId := p_CellId,
      secondaryFrequency := omit,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := tdd,
      setupMessage := {
        physicalChannelInfo := {
          secondaryCCPCHInfo := {
            tstd_Indicator := notApplied,
            sctd_Indicator := notApplied,
            dl_TxPower     := p_TxPower,
            commonTimeSlotInfo := cs_CommonTimeslotInfoSCCPCH,
            channelisationCode := tsc_S_CCPCH1_1P1F_ChC,
            individualTimeslotInfo := cs_IndividualTimeslotInfo_LCR_r4_SCCPCH,
            powerOffsetOfTFCI_PO1 := omit
          }
        },
        activationTime := {
          activateNow := NULL
        },
        trchConfigToFollow := omit    // DEFAULT TRUE
      }
    }
  };

  template (value) TFCS cs_TFCS_Cmpl0(template (omit) PowerOffsetInformation p_PowerOffsetInformation) :=
  {
    normalTFCI_Signalling := {
      complete := {
        ctfcSize := {
          ctfc2Bit := {
            {
              ctfc2 := 0,
              powerOffsetInformation := p_PowerOffsetInformation
            }
          }
        }
      }
    }
  };

  template (value) TFCS cs_TFCS_Cmpl0_TDD :=
  {
    normalTFCI_Signalling := {
      complete := {
        ctfcSize := {
          ctfc2Bit := {
            {
              ctfc2 := 0,
              powerOffsetInformation := {
                gainFactorInformation := {
                  signalledGainFactors := {
                    modeSpecificInfo := {
                      tdd := NULL
                    },
                    gainFactorBetaD := tsc_GainFactorBetaD,
                    referenceTFC_ID := 0
                  }
                },
                powerOffsetPp_m := omit
              }
            }
          }
        }
      }
    }
  };

  template (value) TFCS cs_TFCS_CmplFACH_Tx(template (omit) PowerOffsetInformation p_PowerOffsetInformation) :=
  {
    normalTFCI_Signalling := {
      complete := {
        ctfcSize := {
          ctfc4Bit := {
            {
              ctfc4 := 0,
              powerOffsetInformation := cs_PowerOffsetInfoComputed
            },
            {
              ctfc4 := 1,
              powerOffsetInformation := cs_PowerOffsetInfoComputed
            },
            {
              ctfc4 := 2,
              powerOffsetInformation := cs_PowerOffsetInfoComputed
            },
            {
              ctfc4 := 3,
              powerOffsetInformation := cs_PowerOffsetInfoComputed
            },
            {
              ctfc4 := 4,
              powerOffsetInformation := cs_PowerOffsetInfoComputed
            },
            {
              ctfc4 := 5,
              powerOffsetInformation := cs_PowerOffsetInfoComputed
            },
            {
              ctfc4 := 6,
              powerOffsetInformation := cs_PowerOffsetInfoComputed
            },
            {
              ctfc4 := 8,
              powerOffsetInformation := p_PowerOffsetInformation
            }
          }
        }
      }
    }
  };

  template (value) TFCS cs_TFCS_SCCPCH_LCR :=
  {
    normalTFCI_Signalling := {
      complete := {
        ctfcSize := {
          ctfc4Bit := {
            {
              ctfc4 := 0,
              powerOffsetInformation := omit
            },
            {
              ctfc4 := 1,
              powerOffsetInformation := omit
            },
            {
              ctfc4 := 2,
              powerOffsetInformation := omit
            },
            {
              ctfc4 := 3,
              powerOffsetInformation := omit
            },
            {
              ctfc4 := 4,
              powerOffsetInformation := omit
            },
            {
              ctfc4 := 5,
              powerOffsetInformation := omit
            }
          }
        }
      }
    }
  };

  template (value) TrCHInfo cs_TrChInfoPCH_FACH_PS_FDD :=
  {
    ulconnectedTrCHList := omit,
    ulTFCS := omit,
    dlconnectedTrCHList := {
      {
        trchid := tsc_PCH1,
        transportChannelInfo := cs_PCH_TFS_FDD
      },
      {
        trchid := tsc_FACH1,
        transportChannelInfo := cs_FACH_TFS_FDD
      },
      {
        trchid := tsc_FACH2,
        transportChannelInfo := cs_FACH_TFS_PS_FDD
      }
    },
    dlTFCS := cs_TFCS_CmplFACH_Tx(cs_PowerOffsetInfoBelow64k),     // sent to SS
    hsDSCHMacdFlows := omit,
    ehs_DSCH_Flows := omit,
    ehs_DSCH_CommonFlows := omit
  };

  template (value) TrCHInfo_TDD cs_TrChInfoPCH_FACH_PS_TDD :=
  {
    ulconnectedTrCHList := omit,
    ulTFCS := omit,
    dlconnectedTrCHList := {
      {
        trchid := tsc_PCH1,
        transportChannelInfo := cs_PCH_TFS_TDD
      },
      {
        trchid := tsc_FACH1,
        transportChannelInfo := cs_FACH_TFS_TDD
      }
    },
    dlTFCS := cs_TFCS_SCCPCH_LCR,     // sent to SS
    hsDSCHMacdFlows := omit
  };

  // -----------------------------------------------------------------------------
  // For FDD mode only. map PCCH to PCH and CCCH and BCCH(for BCCH_FACH)
  // To be used for the Cell DCH configuration
  // -----------------------------------------------------------------------------
  template (value) TrCH_LogCHMappingList1 cs_TrLogMappingPCH_FACH_CellDCH :=
  {
    ulconnectedTrCHList := omit,
    dlconnectedTrCHList := {
      {
        trchid := tsc_PCH1,
        trCH_LogCHMappingList := {
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := pch,
                logicalChannelIdentity := tsc_PCCH1,
                logicalChannelType := pCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 1
              }
            },
            rB_Identity := tsc_RB_PCCH,
            cn_DomainIdentity := omit
          }
        }
      },
      {
        trchid := tsc_FACH1,
        trCH_LogCHMappingList := {
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := fach,
                logicalChannelIdentity := tsc_DL_CCCH5,
                logicalChannelType := cCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 1
              }
            },
            rB_Identity := tsc_RB0,
            cn_DomainIdentity := omit
          }
        }
      }
    },
    dlconnectedMACdFlows := omit,
    dlconnectedMAC_ehsFlows := omit,
    dlconnectedMAC_ehsCommonFlows := omit,
    dlconnectedMAC_ehsCommonFlowsDC := omit
  };

  // =============================================================================
  // For FDD mode only (PS). map PCCH to PCH and DCCH1, DCCH2, DCCH3, DCCH4, CCCH, BCCH(for BCCH_FACH) to FACH1, and DTCH to FACH2
  // -----------------------------------------------------------------------------
  template (value) TrCH_LogCHMappingList1 cs_TrLogMappingPCH_FACH_PS_FDD :=
  {
    ulconnectedTrCHList := omit,
    dlconnectedTrCHList := {
      {
        trchid := tsc_PCH1,
        trCH_LogCHMappingList := {
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := pch,
                logicalChannelIdentity := tsc_PCCH1,
                logicalChannelType := pCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 1
              }
            },
            rB_Identity := tsc_RB_PCCH,
            cn_DomainIdentity := omit
          }
        }
      },
      {
        trchid := tsc_FACH1,
        trCH_LogCHMappingList := {
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := fach,
                logicalChannelIdentity := tsc_BCCH6,
                logicalChannelType := bCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 6
              }
            },
            rB_Identity := tsc_RB_BCCH_FACH,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := fach,
                logicalChannelIdentity := tsc_DL_CCCH5,
                logicalChannelType := cCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 1
              }
            },
            rB_Identity := tsc_RB0,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := fach,
                logicalChannelIdentity := tsc_DL_DCCH1,
                logicalChannelType := dCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 1
              }
            },
            rB_Identity := tsc_RB1,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := fach,
                logicalChannelIdentity := tsc_DL_DCCH2,
                logicalChannelType := dCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 2
              }
            },
            rB_Identity := tsc_RB2,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := fach,
                logicalChannelIdentity := tsc_DL_DCCH3,
                logicalChannelType := dCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 3
              }
            },
            rB_Identity := tsc_RB3,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := fach,
                logicalChannelIdentity := tsc_DL_DCCH4,
                logicalChannelType := dCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 4
              }
            },
            rB_Identity := tsc_RB4,
            cn_DomainIdentity := omit
          }
        }
      },
      {
        trchid := tsc_FACH2,
        trCH_LogCHMappingList := {
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := fach,
                logicalChannelIdentity := tsc_DL_DTCH1,
                logicalChannelType := dTCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 8
              }
            },
            rB_Identity := tsc_RB20,
            cn_DomainIdentity := omit
          }
        }
      }
    },
    dlconnectedMACdFlows := omit,
    dlconnectedMAC_ehsFlows := omit,
    dlconnectedMAC_ehsCommonFlows := omit,
    dlconnectedMAC_ehsCommonFlowsDC := omit
  };

  // =============================================================================
  // For LCR TDD mode only (PS). map PCCH to PCH and DCCH1, DCCH2, DCCH3, DCCH4, CCCH, BCCH(for BCCH_FACH) and DTCH to FACH1
  // -----------------------------------------------------------------------------
  template (value) TrCH_LogCHMappingList1 cs_TrLogMappingPCH_FACH_PS_TDD :=
  {
    ulconnectedTrCHList := omit,
    dlconnectedTrCHList := {
      {
        trchid := tsc_PCH1,
        trCH_LogCHMappingList := {
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := pch,
                logicalChannelIdentity := tsc_PCCH1,
                logicalChannelType := pCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 1
              }
            },
            rB_Identity := tsc_RB_PCCH,
            cn_DomainIdentity := omit
          }
        }
      },
      {
        trchid := tsc_FACH1,
        trCH_LogCHMappingList := {
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := fach,
                logicalChannelIdentity := tsc_BCCH6,
                logicalChannelType := bCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 6
              }
            },
            rB_Identity := tsc_RB_BCCH_FACH,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := fach,
                logicalChannelIdentity := tsc_DL_CCCH5,
                logicalChannelType := cCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 1
              }
            },
            rB_Identity := tsc_RB0,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := fach,
                logicalChannelIdentity := tsc_DL_DCCH1,
                logicalChannelType := dCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 1
              }
            },
            rB_Identity := tsc_RB1,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := fach,
                logicalChannelIdentity := tsc_DL_DCCH2,
                logicalChannelType := dCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 2
              }
            },
            rB_Identity := tsc_RB2,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := fach,
                logicalChannelIdentity := tsc_DL_DCCH3,
                logicalChannelType := dCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 3
              }
            },
            rB_Identity := tsc_RB3,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := fach,
                logicalChannelIdentity := tsc_DL_DCCH4,
                logicalChannelType := dCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 4
              }
            },
            rB_Identity := tsc_RB4,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := fach,
                logicalChannelIdentity := tsc_DL_DTCH1,
                logicalChannelType := dCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 8
              }
            },
            rB_Identity := tsc_RB4,
            cn_DomainIdentity := omit
          }
        }
      }
    },
    dlconnectedMACdFlows := omit,
    dlconnectedMAC_ehsFlows := omit,
    dlconnectedMAC_ehsCommonFlows := omit,
    dlconnectedMAC_ehsCommonFlowsDC := omit
  };

  template (value) TrCH_LogCHMappingList1 cs_TrLogMappingRACH2 :=
  {
    ulconnectedTrCHList := {
      {
        trchid := tsc_RACH1,
        trCH_LogCHMappingList := {
          {
            logicalChannel_Mapping := {
              ul_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                ul_TransportChannelType := rach,
                logicalChannelIdentity := tsc_UL_CCCH5,
                logicalChannelType := cCCH
              }
            },
            rB_Identity := tsc_RB0,
            cn_DomainIdentity := omit
          }
        }
      }
    },
    dlconnectedTrCHList := omit,
    dlconnectedMACdFlows := omit,
    dlconnectedMAC_ehsFlows := omit,
    dlconnectedMAC_ehsCommonFlows := omit,
    dlconnectedMAC_ehsCommonFlowsDC := omit
  };

  template U_CPHY_CONFIG_CNF car_RL_ModifyCnf :=
  {
    rlModify := {
      cellId := ?,
      routingInfo := {
        physicalChannelIdentity := ?
      }
    }
  };

  template (value) U_CPHY_CONFIG_REQ cas_RL_RelReq(UTRAN_CellId_Type p_CellId,
                                                       PhysicalChannelIdentity p_PhyCH) :=
  {
    rlRelease := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyCH
      },
      activationTime := {
        activateNow := NULL
      }
    }
  };

  template U_CPHY_CONFIG_CNF car_RL_RelCnf(template UTRAN_CellId_Type p_CellId,
                                               template PhysicalChannelIdentity p_PhyCH) :=
  {
    rlRelease := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyCH
      }
    }
  };
  
  template U_CPHY_CONFIG_CNF car_RL_SetupCnf :=
  {
    rlSetup := {
      cellId := ?,
      routingInfo := {
        physicalChannelIdentity := ?
      }
    }
  };
  
  template (value) U_CPHY_CONFIG_REQ cas_PHY_RelReqDCH_NoSHO(UTRAN_CellId_Type p_CellId,
                                                                 integer p_PhyChId) :=
  {
    trchRelease := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      trchConfigType := {
        dch := normal
      },
      activationTime := {
        activateNow := NULL
      }
    }
  };
  
  template U_CPHY_CONFIG_CNF car_TrChCfgCnf :=
  {
    trchConfig := {
      cellId := ?,
      routingInfo := {
        physicalChannelIdentity := ?
      }
    }
  };

  template U_CPHY_CONFIG_CNF car_PHY_RelCnf( template UTRAN_CellId_Type p_CellId,
                                             template integer           p_PhyChId) :=
  {
    trchRelease := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      }
    }
  };

  template (value) U_CMAC_CONFIG_REQ cas_CMAC_ReconfigInfo_FDD ( UTRAN_CellId_Type                       p_CellId,
                                                                 integer                                 p_PhyChId,
                                                                 template (value) UE_Info                p_UEInfo,
                                                                 template (value) TrCHInfo               p_TrCHInfo,
                                                                 template (value) TrCH_LogCHMappingList1 p_TrCH_LogCHMapping,
                                                                 template (value) SS_ActivationTime      p_ActivationTime ) :=
  {
    config_FDD := {
      cellId := p_CellId,
        routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := fdd,
      configMessage := {
        reconfigure := {
          activationTime := p_ActivationTime,
          uE_Info := p_UEInfo,
          trCHInfo := p_TrCHInfo,
          trCH_LogCHMapping := p_TrCH_LogCHMapping,
          associatedPhychConfigToFollow := omit,
          servingAndSecondaryCellActivation := omit
        }
      }
    }
  };

  template (value) U_CMAC_CONFIG_REQ cas_CMAC_ReconfigInfo_TDD ( UTRAN_CellId_Type                       p_CellId,
                                                                 integer                                 p_PhyChId,
                                                                 template (value) UE_Info                p_UEInfo,
                                                                 template (value) TrCHInfo_TDD           p_TrCHInfo,
                                                                 template (value) TrCH_LogCHMappingList1 p_TrCH_LogCHMapping,
                                                                 template (value) SS_ActivationTime      p_ActivationTime ) :=
  {
    config_TDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := tdd,
      configMessage := {
        reconfigure := {
          activationTime := p_ActivationTime,
          uE_Info := p_UEInfo,
          trCHInfo := p_TrCHInfo,
          trCH_LogCHMapping := p_TrCH_LogCHMapping,
          associatedPhychConfigToFollow := omit
        }
      }
    }
  };

  template (value) U_CMAC_CONFIG_REQ cas_CMAC_CfgInfo_FDD(UTRAN_CellId_Type         p_CellId,
                                                          integer                   p_PhyChId,
                                                          template (value) UE_Info  p_UEInfo,
                                                          template (value) TrCHInfo p_TrCHInfo,
                                                          template (value) TrCH_LogCHMappingList1 p_TrCH_LogCHMapping) :=
  {
    config_FDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := fdd,
      configMessage := {
        setup := {
          activationTime := {
            activateNow := NULL
          },
          uE_Info := p_UEInfo,
          trCHInfo := p_TrCHInfo,
          trCH_LogCHMapping := p_TrCH_LogCHMapping,
          associatedPhychConfigToFollow := omit,
          servingAndSecondaryCellActivation := omit
        }
      }
    }
  };
  
  template (value) U_CMAC_CONFIG_REQ cas_CMAC_CfgInfoAssPhyChFollow_FDD(UTRAN_CellId_Type         p_CellId,
                                                                        integer                   p_PhyChId,
                                                                        template (value) UE_Info  p_UEInfo,
                                                                        template (value) TrCHInfo p_TrCHInfo,
                                                                        template (value) TrCH_LogCHMappingList1 p_TrCH_LogCHMapping) :=
  {
    config_FDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := fdd,
      configMessage := {
        setup := {
          activationTime := {
            activateNow := NULL
          },
          uE_Info := p_UEInfo,
          trCHInfo := p_TrCHInfo,
          trCH_LogCHMapping := p_TrCH_LogCHMapping,
          associatedPhychConfigToFollow := { tsc_PICH1 },
          servingAndSecondaryCellActivation := omit
        }
      }
    }
  };

  template (value) U_CMAC_CONFIG_REQ cas_CMAC_CfgInfoAssPhyChFollow_TDD(UTRAN_CellId_Type             p_CellId,
                                                                        integer                       p_PhyChId,
                                                                        template (value) UE_Info      p_UEInfo,
                                                                        template (value) TrCHInfo_TDD p_TrCHInfo,
                                                                        template (value) TrCH_LogCHMappingList1 p_TrCH_LogCHMapping) :=
  {
    config_TDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := tdd,
      configMessage := {
        setup := {
          activationTime := {
            activateNow := NULL
          },
          uE_Info := p_UEInfo,
          trCHInfo := p_TrCHInfo,
          trCH_LogCHMapping := p_TrCH_LogCHMapping,
          associatedPhychConfigToFollow := omit
        }
      }
    }
  };
  
  template (value) U_CMAC_CONFIG_REQ cas_CMAC_CfgInfo_TDD(UTRAN_CellId_Type p_CellId,
                                                          integer p_PhyChId,
                                                          template (value) UE_Info p_UEInfo,
                                                          template (value) TrCHInfo_TDD p_TrCHInfo,
                                                          template (value) TrCH_LogCHMappingList1 p_TrCH_LogCHMapping) :=
  {
    config_TDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := tdd,
      configMessage := {
        setup := {
          activationTime := {
            activateNow := NULL
          },
          uE_Info := p_UEInfo,
          trCHInfo := p_TrCHInfo,
          trCH_LogCHMapping := p_TrCH_LogCHMapping,
          associatedPhychConfigToFollow := omit
        }
      }
    }
  };

  template (value) U_CMAC_CONFIG_REQ cas_CMAC_MACes_Release_REQ :=
  {
    configMACes := {
      cellId := utran_CellDedicated,
      configMessage := {
        release := { activateNow := NULL }
      }
    }
  };

  template (value) U_CMAC_CONFIG_REQ cas_CMAC_MACe_Release_FDD_REQ(integer p_NodeB_Id) :=
  {
    configMACe_FDD := {
      nodeB_Id := p_NodeB_Id,
      configMessage := {
        release := { activateNow := NULL }
      }
    }
  };

  template (value) U_CMAC_CONFIG_REQ cas_CMAC_MACe_Release_TDD_REQ(integer p_NodeB_Id) :=
  {
    configMACe_TDD := {
      nodeB_Id := p_NodeB_Id,
      configMessage := {
        release := { activateNow := NULL }
      }
    }
  };

  template (value) U_CMAC_CONFIG_REQ cas_MAC_FDD_Rel(UTRAN_CellId_Type p_CellId,
                                                     integer p_PhyChId) :=
  {
    config_FDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := fdd,
      configMessage := {
        release := {
          activateNow := NULL
        }
      }
    }
  };

  template (value) U_CMAC_CONFIG_REQ cas_MAC_TDD_Rel(UTRAN_CellId_Type p_CellId,
                                                     integer p_PhyChId) :=
  {
    config_TDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := tdd,
      configMessage := {
        release := {
          activateNow := NULL
        }
      }
    }
  };

  template U_CMAC_CONFIG_CNF car_CMAC_MACes_Config_CNF :=
  {
    configMACes := {
      cellId := utran_CellDedicated
    }
  };

  template U_CMAC_CONFIG_CNF car_CMAC_MACe_Config_CNF(template integer p_NodeB_Id) :=
  {
    configMACe := {
      nodeB_Id := p_NodeB_Id
    }
  };

  template U_CMAC_CONFIG_CNF car_CMAC_CfgCnf :=
  {
    config := {
      cellId := ?,
      routingInfo := {
        physicalChannelIdentity := ?
      }
    }
  };

  template (value) U_CRLC_CONFIG_REQ cas_RLC_SuspendRB(UTRAN_CellId_Type  p_CellId,
                                                       integer            p_RB_Id,
                                                       RLC_SequenceNumber p_RLC_SeqNum) :=
  {
    suspend := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      n := p_RLC_SeqNum
    }
  };

  template (value) U_CRLC_CONFIG_REQ cas_ResumeRB(UTRAN_CellId_Type p_CellId,
                                                  integer           p_RB_Id) :=
  {
    resume := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      }
    }
  };

  template U_CRLC_CONFIG_CNF car_ResumeRB(template UTRAN_CellId_Type p_CellId,
                                          template integer           p_RB_Id) :=
  {
    resume := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      }
    }
  };

  template U_CRLC_CONFIG_CNF car_SuspendRB(template UTRAN_CellId_Type p_CellId,
                                           template integer           p_RB_Id) :=
  {
    suspend := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      vt := ?
    }
  };

  template U_CRLC_CONFIG_CNF car_CRLC_CfgCnf :=
  {
    config := {
      cellId := ?,
      routingInfo := {
        rB_Identity := ?
      }
    }
  };

  template (value) U_CRLC_CONFIG_REQ cas_RB_PCCH_Info_FDD(UTRAN_CellId_Type                 p_CellId,
                                                          integer                           p_RB_Id,
                                                          template (value) RB_LogCH_Mapping p_LogChMapping) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := fdd,
      configMessage := {
        setup := {
          sS_rlc_Info := omit,
          sS_rlc_Info_r8 := {
           r8 := {
            sS_ul_RLC_Mode := omit,
            sS_dl_RLC_Mode := {
              dl_PayloadSize := 240,
              dl_RLCModeInfo := {
                ul_TM_RLC_Mode := {
                  transmissionRLC_Discard := omit,
                  segmentationIndication := false
                }
              },
              dl_UM_RLC_LI_size := omit,
              dl_UM_outOfSeqDelivery := omit,
              dl_RLC_PDU_size := omit
            },
            rlc_OneSidedReEst := omit,       // DEFAULT FALSE
            altE_bitInterpretation := omit,   // DEFAULT false
            useSpecialValueOfHEField := omit, // DEFAULT false
            uM_SN_DeliveryMode := omit // DEFAULT nonConfigured
            }
          },
          rB_LogCH_Mapping := p_LogChMapping
        }
      },
      activationTime := omit
    }
  };
  
  template (value) U_CRLC_CONFIG_REQ cas_RB_PCCH_Info_TDD(UTRAN_CellId_Type p_CellId,
                                                          integer p_RB_Id,
                                                          template (value) RB_LogCH_Mapping p_LogChMapping) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := tdd,
      configMessage := {
        setup := {
          sS_rlc_Info := omit,
          sS_rlc_Info_r8 := {
           r8 := {
            sS_ul_RLC_Mode := omit,
            sS_dl_RLC_Mode := {
              dl_PayloadSize := 240,
              dl_RLCModeInfo := {
                ul_TM_RLC_Mode := {
                  transmissionRLC_Discard := omit,
                  segmentationIndication := false
                }
              },
              dl_UM_RLC_LI_size := omit,
              dl_UM_outOfSeqDelivery := omit,
              dl_RLC_PDU_size := omit
            },
            rlc_OneSidedReEst := omit,       // DEFAULT FALSE
            altE_bitInterpretation := omit,   // DEFAULT false
            useSpecialValueOfHEField := omit, // DEFAULT false
            uM_SN_DeliveryMode := omit // DEFAULT nonConfigured
            }
          },
          rB_LogCH_Mapping := p_LogChMapping
        }
      },
      activationTime := omit
    }
  };
  
  template (value) U_CRLC_CONFIG_REQ cas_RB_AM_Info_SRB_Fixed_FDD(UTRAN_CellId_Type p_CellId,
                                                                  integer p_RB_Id,
                                                                  template (value) RB_LogCH_Mapping p_LogChMapping,
                                                                  template (value) OctetModeRLC_SizeInfoType1 p_RLC_Size) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := fdd,
      configMessage := {
        setup := {
          sS_rlc_Info := omit,
          sS_rlc_Info_r8 := {
           r8 := {
            sS_ul_RLC_Mode := {
              dl_AM_RLC_Mode := cds_DL_AM_RLC_SRB
            },
            sS_dl_RLC_Mode := {
              dl_PayloadSize := omit,
              dl_RLCModeInfo := {
                ul_AM_RLC_Mode := cds_UL_AM_RLC_SRB
              },
              dl_UM_RLC_LI_size := omit,
              dl_UM_outOfSeqDelivery := omit,
              dl_RLC_PDU_size := { fixedSize := p_RLC_Size}
            },
            rlc_OneSidedReEst := omit, // DEFAULT false
            altE_bitInterpretation := omit, // DEFAULT false
            useSpecialValueOfHEField := omit, // DEFAULT false
            uM_SN_DeliveryMode := omit // DEFAULT nonConfigured
            }
          },
          rB_LogCH_Mapping := p_LogChMapping
        }
      },
      activationTime := omit
    }
  };
  
  template (value) U_CRLC_CONFIG_REQ cas_RB_AM_Info_SRB_Fixed_TDD(UTRAN_CellId_Type p_CellId,
                                                                  integer p_RB_Id,
                                                                  template (value) RB_LogCH_Mapping p_LogChMapping,
                                                                  template (value) OctetModeRLC_SizeInfoType1 p_RLC_Size) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := tdd,
      configMessage := {
        setup := {
          sS_rlc_Info := omit,
          sS_rlc_Info_r8 := {
           r8 := {
            sS_ul_RLC_Mode := {
              dl_AM_RLC_Mode := cds_DL_AM_RLC_SRB
            },
            sS_dl_RLC_Mode := {
              dl_PayloadSize := omit,
              dl_RLCModeInfo := {
                ul_AM_RLC_Mode := cds_UL_AM_RLC_SRB
              },
              dl_UM_RLC_LI_size := omit,
              dl_UM_outOfSeqDelivery := omit,
              dl_RLC_PDU_size := {fixedSize := p_RLC_Size}
            },
            rlc_OneSidedReEst := omit, // DEFAULT false
            altE_bitInterpretation := omit, // DEFAULT false
            useSpecialValueOfHEField := omit, // DEFAULT false
            uM_SN_DeliveryMode := omit // DEFAULT nonConfigured
            }
          },
          rB_LogCH_Mapping := p_LogChMapping
        }
      },
      activationTime := omit
    }
  };
  
  template (value) U_CRLC_CONFIG_REQ cas_CRLC_RB_RelReq_FDD(UTRAN_CellId_Type p_CellId,
                                                            integer p_RB_Id) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := fdd,
      configMessage := {
        release := NULL
      },
      activationTime := omit
    }
  };
  
  template (value) U_CRLC_CONFIG_REQ cas_CRLC_RB_RelReq_TDD(UTRAN_CellId_Type p_CellId,
                                                            integer p_RB_Id) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := tdd,
      configMessage := {
        release := NULL
      },
      activationTime := omit
    }
  };
  
  // =============================================================================
  // dl_PayloadSize = TB_Size - 12 = 136
  // -----------------------------------------------------------------------------
  template (value) U_CRLC_CONFIG_REQ cas_RB_UM_Info_FDD(UTRAN_CellId_Type p_CellId,
                                                        integer p_RB_Id,
                                                        template (value) RB_LogCH_Mapping p_LogChMapping) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := fdd,
      configMessage := {
        setup := {
          sS_rlc_Info := omit,
          sS_rlc_Info_r8 := {
           r8 := {
            sS_ul_RLC_Mode := {
              dl_UM_RLC_Mode := {
                dl_UM_RLC_LI_size := size7,
                dl_Reception_Window_Size := omit
              }
            },
            sS_dl_RLC_Mode := {
              dl_PayloadSize := 136,
              dl_RLCModeInfo := {
                ul_UM_RLC_Mode := {
                  transmissionRLC_Discard := {
                    timerBasedNoExplicit := dt100
                  }
                }
              },
              dl_UM_RLC_LI_size := size7,
              dl_UM_outOfSeqDelivery := omit,
              dl_RLC_PDU_size := omit
            },
            rlc_OneSidedReEst := omit,       // DEFAULT false
            altE_bitInterpretation := omit,   // DEFAULT false
            useSpecialValueOfHEField := omit, // DEFAULT false
            uM_SN_DeliveryMode := omit // DEFAULT nonConfigured
            }
          },
          rB_LogCH_Mapping := p_LogChMapping
        }
      },
      activationTime := omit
    }
  };

  template (value) U_CRLC_CONFIG_REQ cas_RB_UM_Info_TDD(UTRAN_CellId_Type p_CellId,
                                                        integer p_RB_Id,
                                                        template (value) RB_LogCH_Mapping p_LogChMapping) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := tdd,
      configMessage := {
        setup := {
          sS_rlc_Info := omit,
          sS_rlc_Info_r8 := {
           r8 := {
            sS_ul_RLC_Mode := {
              dl_UM_RLC_Mode := {
                dl_UM_RLC_LI_size := size7,
                dl_Reception_Window_Size := omit
              }
            },
            sS_dl_RLC_Mode := {
              dl_PayloadSize := 136,
              dl_RLCModeInfo := {
                ul_UM_RLC_Mode := {
                  transmissionRLC_Discard := {
                    timerBasedNoExplicit := dt100
                  }
                }
              },
              dl_UM_RLC_LI_size := size7,
              dl_UM_outOfSeqDelivery := omit,
              dl_RLC_PDU_size := omit
            },
            rlc_OneSidedReEst := omit,       // DEFAULT false
            altE_bitInterpretation := omit,   // DEFAULT false
            useSpecialValueOfHEField := omit, // DEFAULT false
            uM_SN_DeliveryMode := omit // DEFAULT nonConfigured
            }
          },
          rB_LogCH_Mapping := p_LogChMapping
        }
      },
      activationTime := omit
    }
  };

  template (value) U_CRLC_CONFIG_REQ cas_RB_TM_DL_InfoNoSeg_FDD(UTRAN_CellId_Type                 p_CellId,
                                                                integer                           p_RB_Id,
                                                                template (omit) integer           p_PayloadSize,
                                                                template (value) RB_LogCH_Mapping p_LogChMapping) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := fdd,
      configMessage := {
        setup := {
          sS_rlc_Info := omit,
          sS_rlc_Info_r8 := {
           r8 := {
            sS_ul_RLC_Mode := omit,
            sS_dl_RLC_Mode := {
              dl_PayloadSize := p_PayloadSize,
              dl_RLCModeInfo := {
                ul_TM_RLC_Mode := {
                  transmissionRLC_Discard := omit,
                  segmentationIndication := false
                }
              },
              dl_UM_RLC_LI_size := omit,
              dl_UM_outOfSeqDelivery := omit,
              dl_RLC_PDU_size := omit
            },
            rlc_OneSidedReEst := omit,       // DEFAULT FALSE
            altE_bitInterpretation := omit,   // DEFAULT false
            useSpecialValueOfHEField := omit, // DEFAULT false
            uM_SN_DeliveryMode := omit // DEFAULT nonConfigured
            }
          },
          rB_LogCH_Mapping := p_LogChMapping
        }
      },
      activationTime := omit
    }
  };

  template (value) U_CRLC_CONFIG_REQ cas_RB_TM_DL_InfoNoSeg_TDD(UTRAN_CellId_Type                 p_CellId,
                                                                integer                           p_RB_Id,
                                                                template (omit) integer           p_PayloadSize,
                                                                template (value) RB_LogCH_Mapping p_LogChMapping) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := tdd,
      configMessage := {
        setup := {
          sS_rlc_Info := omit,
          sS_rlc_Info_r8 := {
           r8 := {
            sS_ul_RLC_Mode := omit,
            sS_dl_RLC_Mode := {
              dl_PayloadSize := p_PayloadSize,
              dl_RLCModeInfo := {
                ul_TM_RLC_Mode := {
                  transmissionRLC_Discard := omit,
                  segmentationIndication := false
                }
              },
              dl_UM_RLC_LI_size := omit,
              dl_UM_outOfSeqDelivery := omit,
              dl_RLC_PDU_size := omit
            },
            rlc_OneSidedReEst := omit,       // DEFAULT false
            altE_bitInterpretation := omit,   // DEFAULT false
            useSpecialValueOfHEField := omit, // DEFAULT false
            uM_SN_DeliveryMode := omit // DEFAULT nonConfigured
            }
          },
          rB_LogCH_Mapping := p_LogChMapping
        }
      },
      activationTime := omit
    }
  };

  template (value) U_CRLC_CONFIG_REQ cas_RB_TM_UL_Info_FDD(UTRAN_CellId_Type p_CellId,
                                                               integer p_RB_Id,
                                                               template (omit) integer p_PayloadSize,
                                                               template (value) RB_LogCH_Mapping p_LogChMapping) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := fdd,
      configMessage := {
        setup := {
          sS_rlc_Info := omit,
          sS_rlc_Info_r8 := {
           r8 := {
            sS_ul_RLC_Mode := {
              dl_TM_RLC_Mode := {
                segmentationIndication := false
              }
            },
            sS_dl_RLC_Mode := {
              dl_PayloadSize := p_PayloadSize,
              dl_RLCModeInfo := {
                ul_TM_RLC_Mode := {
                  transmissionRLC_Discard := omit,
                  segmentationIndication := false
                }
              },
              dl_UM_RLC_LI_size := omit,
              dl_UM_outOfSeqDelivery := omit,
              dl_RLC_PDU_size := omit
            },
            rlc_OneSidedReEst := omit,       // DEFAULT FALSE
            altE_bitInterpretation := omit,   // DEFAULT false
            useSpecialValueOfHEField := omit, // DEFAULT false
            uM_SN_DeliveryMode := omit // DEFAULT nonConfigured
            }
          },
          rB_LogCH_Mapping := p_LogChMapping
        }
      },
      activationTime := omit
    }
  };

  template (value) U_CRLC_CONFIG_REQ cas_RB_TM_UL_Info_TDD(UTRAN_CellId_Type p_CellId,
                                                               integer p_RB_Id,
                                                               template (omit) integer p_PayloadSize,
                                                               template (value) RB_LogCH_Mapping p_LogChMapping) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := tdd,
      configMessage := {
        setup := {
          sS_rlc_Info := omit,
          sS_rlc_Info_r8 := {
           r8 := {
            sS_ul_RLC_Mode := {
              dl_TM_RLC_Mode := {
                segmentationIndication := false
              }
            },
            sS_dl_RLC_Mode := {
              dl_PayloadSize := p_PayloadSize,
              dl_RLCModeInfo := {
                ul_TM_RLC_Mode := {
                  transmissionRLC_Discard := omit,
                  segmentationIndication := false
                }
              },
              dl_UM_RLC_LI_size := omit,
              dl_UM_outOfSeqDelivery := omit,
              dl_RLC_PDU_size := omit
            },
            rlc_OneSidedReEst := omit,       // DEFAULT FALSE
            altE_bitInterpretation := omit,   // DEFAULT false
            useSpecialValueOfHEField := omit, // DEFAULT false
            uM_SN_DeliveryMode := omit // DEFAULT nonConfigured
            }
          },
          rB_LogCH_Mapping := p_LogChMapping
        }
      },
      activationTime := omit
    }
  };

  template (value) U_CRLC_CONFIG_REQ cas_RB_UM_DL_Info_FDD(UTRAN_CellId_Type p_CellId,
                                                               integer p_RB_Id,
                                                               template (value) RB_LogCH_Mapping p_LogChMapping) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := fdd,
      configMessage := {
        setup := {
          sS_rlc_Info := omit,
          sS_rlc_Info_r8 := {
           r8 := {
            sS_ul_RLC_Mode := omit,
            sS_dl_RLC_Mode := {
              dl_PayloadSize := 152,
              dl_RLCModeInfo := {
                ul_UM_RLC_Mode := {
                  transmissionRLC_Discard := {
                    timerBasedNoExplicit := dt100
                  }
                }
              },
              dl_UM_RLC_LI_size := omit,
              dl_UM_outOfSeqDelivery := omit,
              dl_RLC_PDU_size := omit
            },
            rlc_OneSidedReEst := omit,       // DEFAULT FALSE
            altE_bitInterpretation := omit,   // DEFAULT false
            useSpecialValueOfHEField := omit, // DEFAULT false
            uM_SN_DeliveryMode := omit // DEFAULT nonConfigured
            }
          },
          rB_LogCH_Mapping := p_LogChMapping
        }
      },
      activationTime := omit
    }
  };

  template (value) U_CRLC_CONFIG_REQ cas_RB_UM_DL_Info_TDD(UTRAN_CellId_Type p_CellId,
                                                               integer p_RB_Id,
                                                               template (value) RB_LogCH_Mapping p_LogChMapping) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := tdd,
      configMessage := {
        setup := {
          sS_rlc_Info := omit,
          sS_rlc_Info_r8 := {
           r8 := {
            sS_ul_RLC_Mode := omit,
            sS_dl_RLC_Mode := {
              dl_PayloadSize := 152,
              dl_RLCModeInfo := {
                ul_UM_RLC_Mode := {
                  transmissionRLC_Discard := {
                    timerBasedNoExplicit := dt100
                  }
                }
              },
              dl_UM_RLC_LI_size := omit,
              dl_UM_outOfSeqDelivery := omit,
              dl_RLC_PDU_size := omit
            },
            rlc_OneSidedReEst := omit,       // DEFAULT FALSE
            altE_bitInterpretation := omit,   // DEFAULT false
            useSpecialValueOfHEField := omit, // DEFAULT false
            uM_SN_DeliveryMode := omit // DEFAULT nonConfigured
            }
          },
          rB_LogCH_Mapping := p_LogChMapping
        }
      },
      activationTime := omit
    }
  };

  template (value) U_CRLC_CONFIG_REQ cas_RB_AM_Info_RAB_FDD(UTRAN_CellId_Type p_CellId,
                                                                integer p_RB_Id,
                                                                template (value) RB_LogCH_Mapping p_LogChMapping,
                                                                template (value) OctetModeRLC_SizeInfoType1 p_RLC_Size) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := fdd,
      configMessage := {
        setup := {
          sS_rlc_Info := omit,
          sS_rlc_Info_r8 := {
           r8 := {
            sS_ul_RLC_Mode := {
              dl_AM_RLC_Mode := cs_DL_AM_RLC
            },
            sS_dl_RLC_Mode := {
              dl_PayloadSize := omit,
              dl_RLCModeInfo := {
                ul_AM_RLC_Mode := cs_UL_AM_RLC
              },
              dl_UM_RLC_LI_size := omit,
              dl_UM_outOfSeqDelivery := omit,
              dl_RLC_PDU_size := { fixedSize := p_RLC_Size}
            },
            rlc_OneSidedReEst := omit,       // DEFAULT FALSE
            altE_bitInterpretation := omit,   // DEFAULT false
            useSpecialValueOfHEField := omit, // DEFAULT false
            uM_SN_DeliveryMode := omit // DEFAULT nonConfigured
            }
          },
          rB_LogCH_Mapping := p_LogChMapping
        }
      },
      activationTime := omit
    }
  };

  template (value) U_CRLC_CONFIG_REQ cas_RB_AM_Info_RAB_TDD(UTRAN_CellId_Type p_CellId,
                                                                integer p_RB_Id,
                                                                template (value) RB_LogCH_Mapping p_LogChMapping,
                                                                template (value) OctetModeRLC_SizeInfoType1 p_RLC_Size) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := tdd,
      configMessage := {
        setup := {
          sS_rlc_Info := omit,
          sS_rlc_Info_r8 := {
           r8 := {
            sS_ul_RLC_Mode := {
              dl_AM_RLC_Mode := cs_DL_AM_RLC
            },
            sS_dl_RLC_Mode := {
              dl_PayloadSize := omit,
              dl_RLCModeInfo := {
                ul_AM_RLC_Mode := cs_UL_AM_RLC
              },
              dl_UM_RLC_LI_size := omit,
              dl_UM_outOfSeqDelivery := omit,
              dl_RLC_PDU_size := { fixedSize := p_RLC_Size}
            },
            rlc_OneSidedReEst := omit,       // DEFAULT FALSE
            altE_bitInterpretation := omit,   // DEFAULT false
            useSpecialValueOfHEField := omit, // DEFAULT false
            uM_SN_DeliveryMode := omit // DEFAULT nonConfigured
            }
          },
          rB_LogCH_Mapping := p_LogChMapping
        }
      },
      activationTime := omit
    }
  };

  template (value) U_CRLC_CONFIG_REQ cas_RB_AM_ReconfMapping ( UTRAN_CellId_Type p_CellId,
                                                               integer           p_RB_Id,
                                                               RatType           p_RatType,
                                                               template (value) RB_LogCH_Mapping p_LogChMapping ) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := p_RatType,
      configMessage := {
        reconfigure := {
          sS_rlc_Info      := omit,
          sS_rlc_Info_r8   := omit,
          rB_LogCH_Mapping := p_LogChMapping
        }
      },
      activationTime := omit
    }
  };

  template (value) U_CRLC_CONFIG_REQ cas_RB_BCCH_Info_FDD(UTRAN_CellId_Type p_CellId,
                                                              integer p_RB_Id,
                                                              template (value) RB_LogCH_Mapping p_LogChMapping) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := fdd,
      configMessage := {
        setup := {
          sS_rlc_Info := omit,
          sS_rlc_Info_r8 := {
           r8 := {
            sS_ul_RLC_Mode := omit,
            sS_dl_RLC_Mode := {
              dl_PayloadSize := 246,
              dl_RLCModeInfo := {
                ul_TM_RLC_Mode := {
                  transmissionRLC_Discard := omit,
                  segmentationIndication := false
                }
              },
              dl_UM_RLC_LI_size := omit,
              dl_UM_outOfSeqDelivery := omit,
              dl_RLC_PDU_size := omit
            },
            rlc_OneSidedReEst := omit,       // DEFAULT FALSE
            altE_bitInterpretation := omit,  // DEFAULT false
            useSpecialValueOfHEField := omit, // DEFAULT false
            uM_SN_DeliveryMode := omit // DEFAULT nonConfigured
            }
          },
          rB_LogCH_Mapping := p_LogChMapping
        }
      },
      activationTime := omit
    }
  };

  template (value) U_CRLC_CONFIG_REQ cas_RB_BCCH_Info_TDD(UTRAN_CellId_Type p_CellId,
                                                              integer p_RB_Id,
                                                              template (value) RB_LogCH_Mapping p_LogChMapping) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := tdd,
      configMessage := {
        setup := {
          sS_rlc_Info := omit,
          sS_rlc_Info_r8 := {
           r8 := {
            sS_ul_RLC_Mode := omit,
            sS_dl_RLC_Mode := {
              dl_PayloadSize := 246,
              dl_RLCModeInfo := {
                ul_TM_RLC_Mode := {
                  transmissionRLC_Discard := omit,
                  segmentationIndication := false
                }
              },
              dl_UM_RLC_LI_size := omit,
              dl_UM_outOfSeqDelivery := omit,
              dl_RLC_PDU_size := omit
            },
            rlc_OneSidedReEst := omit,       // DEFAULT FALSE
            altE_bitInterpretation := omit,  // DEFAULT false
            useSpecialValueOfHEField := omit, // DEFAULT false
            uM_SN_DeliveryMode := omit // DEFAULT nonConfigured
            }
          },
          rB_LogCH_Mapping := p_LogChMapping
        }
      },
      activationTime := omit
    }
  };

  template (value) AdditionalPRACH_TF_and_TFCS_CCCH_List cs_AddPRACH_TF_TFS_CCCH_FDD :=
  {
    {
      additionalPRACH_TF_and_TFCS_CCCH_IEs :=
      {
        powerOffsetInformation := {
          gainFactorInformation := {
            signalledGainFactors := {
              modeSpecificInfo := {
                fdd := {
                  gainFactorBetaC := 11
                }
              },
              gainFactorBetaD := 15,
              referenceTFC_ID := 0
            }
          },
          powerOffsetPp_m := 0
        },
        dynamicTFInformationCCCH := {
          octetModeRLC_SizeInfoType2 := {
            sizeType1:= 24 // Actual size = (sizeType1 * 8) + 48
          }
        }
      }
    }
  };

  template (value) AdditionalPRACH_TF_and_TFCS_CCCH_List cs_AddPRACH_TF_TFS_CCCH_TDD :=
  {
    {
      additionalPRACH_TF_and_TFCS_CCCH_IEs :=
      {
        powerOffsetInformation := {
          gainFactorInformation := {
            signalledGainFactors := {
              modeSpecificInfo := {
                tdd := NULL
              },
              gainFactorBetaD := 15,
              referenceTFC_ID := 0
            }
          },
          powerOffsetPp_m := 0
        },
        dynamicTFInformationCCCH := {
          octetModeRLC_SizeInfoType2 := {
            sizeType1:= 24 // Actual size = (sizeType1 * 8) + 48
          }
        }
      }
    }
  };

  template (value) AICH_Info cs_AICH_Info :=
  {
    channelisationCode256 := tsc_AICH1_ChC,
    sttd_Indicator := false,
    aich_TransmissionTiming := e0
  };
  
  template (value) OctetModeRLC_SizeInfoType1 cs_OctetModeRLC_Size144 :=
  {
    sizeType1 := 16 //144 : 128 payload size + 16
  };
  
  template (value) OctetModeRLC_SizeInfoType1 cs_OctetModeRLC_Size336 :=
  {
    sizeType2 := {  // Actual size = (32 * part1) + 272 + (part2 * 8)
      part1 := 2,
      part2 := omit
    }
  };
  
  template (value) DL_AM_RLC_Mode_r7 cds_DL_AM_RLC_SRB modifies cs_DL_AM_RLC :=
  {
    receivingWindowSize := rw32
  };
  
  template (value) DL_AM_RLC_Mode_r7 cs_DL_AM_RLC :=
  {
    dl_RLC_PDU_size := {
      fixedSize := cs_OctetModeRLC_Size144
      },
    inSequenceDelivery := true,
    receivingWindowSize := rw128,
    dl_RLC_StatusInfo := {
      timerStatusProhibit := tsp200,
      dummy := omit,
      missingPDU_Indicator := true,
      timerStatusPeriodic := omit
    }
  };
  
  template (value) DL_CommonInformation_r8 cs_DL_CommonInfoDCH_SRB_FDD(SF512_AndPilot p_Sf,
                                                                       PositionFixedOrFlexible p_FixedFlexible,
                                                                       boolean p_TFCI_Existence) :=
  {
    dl_dpchInfoCommon := {
      dl_DPCH_InfoCommon := {
        cfnHandling := { initialise := NULL },
        modeSpecificInfo := {
          fdd := {
            dl_DPCH_PowerControlInfo := {
              modeSpecificInfo := {
                fdd := {
                  dpc_Mode := singleTPC
                }
              }
            },
            powerOffsetPilot_pdpdch := tsc_DPCH_PowerOffsetPILOT,
            dl_rate_matching_restriction := omit,
            spreadingFactorAndPilot := p_Sf,
            positionFixedOrFlexible := p_FixedFlexible,
            tfci_Existence := p_TFCI_Existence
          }
        },
        mac_d_HFN_initial_value := omit
      }
    },
    modeSpecificInfo := {
      fdd := {
        defaultDPCH_OffsetValue := tsc_DefaultDPCH_OffsetValue,
        dpch_CompressedModeInfo := omit,
        tx_DiversityMode := noDiversity
      }
    },
    mac_hsResetIndicator := omit,
    postVerificationPeriod := omit
  };

  template (value) DL_CommonInformation_r8 cs_DL_CommonInfoDCH_SRB_TDD :=
  {
    dl_dpchInfoCommon := {
      dl_DPCH_InfoCommon := {
        cfnHandling := { initialise := NULL },
        modeSpecificInfo := {
          tdd := {
            dl_DPCH_PowerControlInfo := {
              modeSpecificInfo := {
                tdd := {
                  tpc_StepSizeTDD := tsc_TPC_StepSize_TDD
                }
              }
            }
          }
        },
        mac_d_HFN_initial_value := omit
      }
    },
    modeSpecificInfo := {
      tdd := {
        tddOption := {
          tdd128 := {
            tstd_Indicator := false
          }
        },
        defaultDPCH_OffsetValue := tsc_DefaultDPCH_OffsetValue_TDD
      }
    },
    mac_hsResetIndicator := omit,
    postVerificationPeriod := omit
  };

  template (value) DL_DPCHInfo_r8 cs_DL_DPCH_SRB_StandAloneDPCH_FDD(template (omit) SecondaryScramblingCode p_SecondaryScramblingCode) :=
  {
    dl_CommonInformation := cs_DL_CommonInfoDCH_SRB_FDD(tsc_DL_DPCH1_SFP_SRB, fixed, false),
    dl_Dpch_InfoPerRL := {
      dl_DPCH_InfoPerRL := cs_DL_DPCH_InfoPerRL_SRB_FDD( tsc_DL_DPCH1_ChC_SRB, p_SecondaryScramblingCode )
    },
    rl_Information := cs_RL_InfoDef
  };

  template (value) DL_DPCHInfo_r8 cs_DL_DPCH_SRB_StandAloneDPCH_TDD :=
  {
    dl_CommonInformation := cs_DL_CommonInfoDCH_SRB_TDD,
    dl_Dpch_InfoPerRL := {
      dl_DPCH_InfoPerRL := cs_DL_DPCH_InfoPerRL_SRB_TDD
    },
    rl_Information := cs_RL_InfoDef
  };

  template (value) DL_DPCH_InfoPerRL_r7 cs_DL_DPCH_InfoPerRL_SRB_FDD(SF512_AndCodeNumber p_SpreadingFactorDPCH,
                                                                     template (omit) SecondaryScramblingCode p_SecScramblingCodeDPCH) :=
  {
    fdd := {
      pCPICH_UsageForChannelEst := mayBeUsed,
      dpch_FrameOffset := (( (tsc_DefaultDPCH_OffsetValue*512 ) mod 38400)/256 ),
      // DPCH-FrameOffset = DefaultDPCH-OffsetValueFDD MOD 38400
      // Actual value DPCH-FrameOffset = IE value * 256
      // Actual value DefaultDPCH-OffsetValueFDD = IE value * 512,
      secondaryCPICH_Info := omit,
      dl_ChannelisationCodeList := {
        {
          secondaryScramblingCode := p_SecScramblingCodeDPCH,
          sf_AndCodeNumber := p_SpreadingFactorDPCH,
          scramblingCodeChange := omit
        }
      },
    tpc_CombinationIndex := tsc_TPC_CombinationIndex,
      powerOffsetTPC_pdpdch := omit,
      closedLoopTimingAdjMode := omit
    }
  };

  template (value) DL_DPCH_InfoPerRL_r7 cs_DL_DPCH_InfoPerRL_SRB_TDD := {
    tdd := {
      dl_CCTrChListToEstablish := {
        {
          tfcs_ID := 1,
          timeInfo := {
            activationTime := omit,
            durationTimeInfo := omit
          },
          commonTimeslotInfo := {
            secondInterleavingMode := frameRelated,
            tfci_Coding     := tfci_bits_4,
            puncturingLimit := pl1,
            repetitionPeriodAndLength := { repetitionPeriod1:= NULL }
          },
          tddOption := {
            tdd128 := {
              dl_CCTrCH_TimeslotsCodes := {
                firstIndividualTimeslotInfo := {
                  timeslotNumber := 4,
                  tfci_Existence := true,
                  midambleShiftAndBurstType := {
                    midambleAllocationMode := {
                      defaultMidamble := NULL
                    },
                    midambleConfiguration := 8
                  },
                  modulation := mod_QPSK,
                  ss_TPC_Symbols := one,
                  additionalSS_TPC_Symbols := omit
                },
                dl_TS_ChannelisationCodesShort := {
                  codesRepresentation := {
                    bitmap := tsc_DL_DPCH1_ChC_SRB_TDD
                  }
                },
                moreTimeslots := {
                  noMore := NULL
                }
              }
            }
          },
          ul_CCTrChTPCList := omit
        }
      },
      dl_CCTrChListToRemove := omit
    }
  };

  template (value) DL_DPCH_InfoPerRL_r7 cs_DL_DPCH_InfoPerRL_Speech_TDD := {
    tdd := {
      dl_CCTrChListToEstablish := {
        {
          tfcs_ID := 1,
          timeInfo := {
            activationTime := omit,
            durationTimeInfo := omit
          },
          commonTimeslotInfo := {
            secondInterleavingMode := frameRelated,
            tfci_Coding     := tfci_bits_4,
            puncturingLimit := pl0_48,
            repetitionPeriodAndLength := { repetitionPeriod1:= NULL }
          },
          tddOption := {
            tdd128 := {
              dl_CCTrCH_TimeslotsCodes := {
                firstIndividualTimeslotInfo := {
                  timeslotNumber := 4,
                  tfci_Existence := true,
                  midambleShiftAndBurstType := {
                    midambleAllocationMode := {
                      defaultMidamble := NULL
                    },
                    midambleConfiguration := 8
                  },
                  modulation := mod_QPSK,
                  ss_TPC_Symbols := one,
                  additionalSS_TPC_Symbols := omit
                },
                dl_TS_ChannelisationCodesShort := {
                  codesRepresentation := {
                    bitmap := tsc_DL_DPCH1_ChC_Speech_TDD
                  }
                },
                moreTimeslots := {
                  noMore := NULL
                }
              }
            }
          },
          ul_CCTrChTPCList := omit
        }
      },
      dl_CCTrChListToRemove := omit
    }
  };

  template (value) CommonOrDedicatedTFS cs_DCH_148_TTI_10_TFS_FDD :=
  {
    tti := {
      tti10 := {
        {
          tb_Size := 148,
          numberOfTbSizeList := {
            { zero := NULL },
            { one := NULL }
          },
          logicalChannelList := {
            allSizes := NULL
          }
        }
      }
    },
    semistaticTF_Information := {
      channelCodingType := {
        convolutional := third
      },
      rateMatchingAttribute := 160,     // dummy value, value is not needed for 13.6 kbps
      crc_Size := crc16
    }
  };

  template (value) CommonOrDedicatedTFS_TDD cs_DCH_148_TTI_10_TFS_TDD :=
  {
    tfsMode := {dedicatedTransChTFS := cs_DCH_148_TTI_10_TFS_UE}
  };

  template (value) DedicatedTransChTFS cs_DCH_148_TTI_10_TFS_UE :=
  {
    tti := {
      tti10 := {
        {
          rlc_Size := {
            bitMode := {
              sizeType2:= {
                part1 := 2,
                part2 := omit
              }
            }
          },
          numberOfTbSizeList := {
            { zero := NULL },
            { one := NULL }
          },
          logicalChannelList := {
            allSizes := NULL
          }
        }
      }
    },
    semistaticTF_Information := {
      channelCodingType := {
        convolutional := third
      },
      rateMatchingAttribute := 165,     // dummy value, value is not needed for 13.6 kbps
      crc_Size := crc16
    }
  };

  template (value) CommonOrDedicatedTFS cs_FACH_TFS_FDD :=
  {
    tti := {
      tti10 := {
        {
          tb_Size := 168,
          numberOfTbSizeList := { {zero := NULL},
                                  {one := NULL},
                                  {small := 2} },
          logicalChannelList := {allSizes := NULL}
        }
      }
    },
    semistaticTF_Information :=
    {
      channelCodingType := {convolutional := half},
      rateMatchingAttribute := 220,
      crc_Size := crc16
    }
  };

  template (value) CommonOrDedicatedTFS_TDD cs_FACH_TFS_TDD :=
  {
    tfsMode := { commonTransChTFS := cs_FACH_TFS_UE_TDD}
  };

  template (value) CommonTransChTFS cs_FACH_TFS_UE :=
  {
    tti := {
      tti10 := {
        {
          rlc_Size := {
            fdd := {
                octetModeRLC_SizeInfoType2 := {
                  sizeType1:= 15
                }
              }
          },
          numberOfTbSizeList := { {zero := NULL},
                                  {one := NULL},
                                  {small := 2} },
          logicalChannelList := {allSizes := NULL}
        }
      }
    },
    semistaticTF_Information :=
    {
      channelCodingType := {convolutional := half},
      rateMatchingAttribute := 220,
      crc_Size := crc16
    }
  };

  template (value) CommonTransChTFS cs_FACH_TFS_PS_UE :=
  {
    tti := {
      tti10 := {
        {
          rlc_Size := {
            fdd := {
                octetModeRLC_SizeInfoType2 := {
                  sizeType2 := 3
                }
              }
          },
          numberOfTbSizeList := { {zero := NULL},
                                  {one := NULL}},
          logicalChannelList := {allSizes := NULL}
        }
      }
    },
    semistaticTF_Information := {
      channelCodingType := {turbo := NULL},
      rateMatchingAttribute := 130,
      crc_Size := crc16
    }
  };
  
  template (value) CommonOrDedicatedTFS cs_FACH_TFS_PS_FDD :=
  {
    tti := {
      tti10 := {
        {
          tb_Size := 360,
          numberOfTbSizeList := { {zero := NULL},
                                  {one := NULL} },
          logicalChannelList := {allSizes := NULL}
        }
      }
    },
    semistaticTF_Information :=
    {
      channelCodingType := {turbo := NULL},
      rateMatchingAttribute := 130,
      crc_Size := crc16
    }
  };

  template (value) CommonOrDedicatedTFS cs_PCH_TFS_FDD :=
  {
    tti := {
      tti10 := {
        {
          tb_Size := 240,
          numberOfTbSizeList := { {zero := NULL},
                                  {one := NULL} },
          logicalChannelList := {allSizes := NULL}
        }
      }
    },
    semistaticTF_Information :=
    {
      channelCodingType := {convolutional := half},
      rateMatchingAttribute := 230,
      crc_Size := crc16
    }
  };

  template (value) CommonOrDedicatedTFS_TDD cs_PCH_TFS_TDD :=
  {
    tfsMode := { commonTransChTFS := cs_PCH_TFS_UE_TDD}
  };

  template (value) CommonTransChTFS cs_PCH_TFS_UE :=
  {
    tti := {
      tti10 := {
        {
          rlc_Size := {
            fdd := {
                octetModeRLC_SizeInfoType2 := {
                  sizeType1 := 24
                }
            }
          },
          numberOfTbSizeList := { {zero := NULL},
                                  {one := NULL} },
          logicalChannelList := {allSizes := NULL}
        }
      }
    },
    semistaticTF_Information := {
      channelCodingType := {convolutional := half},
      rateMatchingAttribute := 230,
      crc_Size := crc16
    }
  };

  template (value) CommonOrDedicatedTFS cs_RACH_TFS_FDD :=
  {
    tti := {
      tti20 := {
        {
          tb_Size := 168,
          numberOfTbSizeList := {
            { one := NULL }
          },
          logicalChannelList := {
            explicitList := {
              { rb_Identity := tsc_RB1,
                logChOfRb := omit },
              { rb_Identity := tsc_RB2,
                logChOfRb := omit },
              { rb_Identity := tsc_RB3,
                logChOfRb := omit },
              { rb_Identity := tsc_RB4,
                logChOfRb := omit }
            }
          }
        },
        {
          tb_Size := 360,
          numberOfTbSizeList := {
            { one := NULL }
          },
          logicalChannelList := {
            configured := NULL
          }
        },
        {
          tb_Size := 240,
          numberOfTbSizeList := {
            { one := NULL }
          },
          logicalChannelList := {
            explicitList := {
              { rb_Identity := tsc_RB0,
                logChOfRb := omit }
            }
          }
        }
      }
    },
    semistaticTF_Information := {
      channelCodingType := {
        convolutional := half
      },
      rateMatchingAttribute := 150,
      crc_Size := crc16
    }
  };

  template (value) CommonOrDedicatedTFS_TDD cs_RACH_TFS_TDD :=
  {
    tfsMode := {
      commonTransChTFS_LCR := cs_RACH_TFS_LCR
    }
  };

  template (value) PowerOffsetInformation cs_PowerOffsetInfoBelow64k :=
  {
    gainFactorInformation := {
      signalledGainFactors := {
        modeSpecificInfo := {
          fdd := {
            gainFactorBetaC := tsc_GainFactorBetaC_Below64k
          }
        },
        gainFactorBetaD := tsc_GainFactorBetaD,
        referenceTFC_ID := 0
      }
    },
    powerOffsetPp_m := omit
  };

  template (value) PowerOffsetInformation cs_PowerOffsetInfoComputed :=
  {
    gainFactorInformation := {
      computedGainFactors := 0
    },
    powerOffsetPp_m := omit
  };

  template (value) IntegrityProtectionModeInfo_r7 cs_IntegrityProtectStart(bitstring p_Integrityprotnumber,
                                                                           IntegrityProtectionAlgorithm_r7 p_Alg) :=
  {
    integrityProtectionModeCommand := {
      startIntegrityProtection := {
        integrityProtInitNumber := p_Integrityprotnumber
      }
    },
    integrityProtectionAlgorithm := p_Alg
  };

  template (value) CipheringModeCommand cs_Null_CipheringModeCommand :=
  {
    dummy := NULL
  };

  template (value) RL_Information cs_RL_InfoDef :=
  {
    powerOffsetOfTFCI_PO1 := tsc_DPCH_PowerOffsetTFCI,
    powerOffsetOfTPC_PO2 := tsc_DPCH_PowerOffsetTPC,
    powerOffsetOfPILOT_PO3 := tsc_DPCH_PowerOffsetPILOT,
    dl_TxPower := tsc_DL_TxPower_DPCH,
    dl_TxPowerMax := 15,
    dl_TxPowerMin := -35,
    cfnTgtSfnFrameOffset := omit
  };

  template (value) TrChConfigType cs_TrChConfigTypeDCH_NoSHO :=
  {
    dch := normal
  };

  template (value) UL_AM_RLC_Mode cds_UL_AM_RLC_SRB modifies cs_UL_AM_RLC :=
  {
    transmissionWindowSize := tw32,
    max_RST := rst1
  };

  template (value) UL_AM_RLC_Mode cs_UL_AM_RLC :=
  {
    transmissionRLC_Discard := {
      noDiscard := dat15
    },
    transmissionWindowSize := tw128,
    timerRST := tr500,
    max_RST := rst4,
    pollingInfo := {
      timerPollProhibit := tpp200,
      timerPoll := tp200,
      poll_PDU := omit,
      poll_SDU := sdu1,
      lastTransmissionPDU_Poll := true,
      lastRetransmissionPDU_Poll := true,
      pollWindow := pw99,
      timerPollPeriodic := omit
    }
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_1 :=
  {
    frequencyBandIndicator := fdd2100
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_10 :=
  {
    frequencyBandIndicator2 := bandX
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_11 :=
  {
    frequencyBandIndicator2 := bandXI
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_12 :=
  {
    frequencyBandIndicator2 := bandXII
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_13 :=
  {
    frequencyBandIndicator2 := bandXIII
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_14 :=
  {
    frequencyBandIndicator2 := bandXIV
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_15 :=
  {
    frequencyBandIndicator2 := bandXV
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_16 :=
  {
    frequencyBandIndicator2 := bandXVI
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_17 :=
  {
    frequencyBandIndicator2 := bandXVII
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_18 :=
  {
    frequencyBandIndicator2 := bandXVIII
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_19 :=
  {
    frequencyBandIndicator2 := bandXIX
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_2 :=
  {
    frequencyBandIndicator := fdd1900
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_20 :=
  {
    frequencyBandIndicator2 := bandXX
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_21 :=
  {
    frequencyBandIndicator2 := bandXXI
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_22 :=
  {
    frequencyBandIndicator2 := bandXXII
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_3 :=
  {
    frequencyBandIndicator := fdd1800
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_4 :=
  {
    frequencyBandIndicator := bandIV
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_5 :=
  {
    frequencyBandIndicator := bandV
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_6 :=
  {
    frequencyBandIndicator := bandVI
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_7 :=
  {
    frequencyBandIndicator := bandVII
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_8 :=
  {
    frequencyBandIndicator2 := bandVIII
  };

  template (value) FrequencyBandFDD cs_RadioFrequencyBandFDD_9 :=
  {
    frequencyBandIndicator2 := bandIX
  };

  template (value) PICH_Info cs_PichInfo_FDD :=
  {
    fdd := {
      channelisationCode256 := tsc_PICH1_ChC,
      pi_CountPerFrame := e18,
      sttd_Indicator := false
    }
  };

  template (value) PICH_Info_LCR_r4 cs_PichInfo_TDD :=
  {
    timeslot := 0,
    pichChannelisationCodeList_LCR_r4 := {
      tsc_PICH1_ChC_TDD,
      tsc_PICH2_ChC
    },
    midambleShiftAndBurstType := {
      midambleAllocationMode := { defaultMidamble := NULL },
      midambleConfiguration := 4
    },
    repetitionPeriodLengthOffset := { rpp64_2 := 0},
    pagingIndicatorLength := pi4,
    n_GAP := f4,
    n_PCH := 2
  };

  template (value) RB_LogCH_Mapping cs_RB_LogCH_Mapping(template (omit) LogicalChannelIdentity p_LogChUL,
                                                        template (omit) LogicalChannelIdentity p_LogChDL) :=
  {
    uLlogicalChannelIdentity := p_LogChUL,
    dLlogicalChannelIdentity := p_LogChDL,
    logicalChannelType := omit,
    cn_DomainIdentity := omit
  };

  template (value) CommonTransChTFS cs_RACH_TFS_UE_FDD :=
  {
    tti := {
      tti20 := {
        {
          rlc_Size := {
            fdd := {
              octetModeRLC_SizeInfoType2 := {
                sizeType1 := 15
              }
            }
          },
          numberOfTbSizeList := {
            {
              one := NULL
            }
          },
          logicalChannelList := {
            configured := NULL
          }
        },
        {
          rlc_Size := {
            fdd := {
              octetModeRLC_SizeInfoType2 := {
                sizeType2 := 3
              }
            }
          },
          numberOfTbSizeList := {
            {
              one := NULL
            }
          },
          logicalChannelList := {
            configured := NULL
          }
        }
      }
    },
    semistaticTF_Information := {
      channelCodingType := {
        convolutional := half
      },
      rateMatchingAttribute := 150,
      crc_Size := crc16
    }
  };

  template (value) CommonTransChTFS_LCR cs_RACH_TFS_UE_TDD :=
  {
    tti := {
      tti10 := {
        {
          rlc_Size := {
            tdd := {
              commonTDD_Choice := {
                bitModeRLC_SizeInfo := {
                  sizeType2 := {
                    part1 := 5,
                    part2 := 2
                  }
                }
              }
            }
          },
          numberOfTbSizeList := {
            {
              one := NULL
            }
          },
          logicalChannelList := {
            configured := NULL
          }
        }
      }
    },
    semistaticTF_Information := {
      channelCodingType := {
        convolutional := half
      },
      rateMatchingAttribute := 110,
      crc_Size := crc16
    }
  };

  template (value) TFCS cs_TFCS_Cmpl0_1_Rx :=
  {
    normalTFCI_Signalling := {
      complete := {
        ctfcSize := {
          ctfc2Bit := {
            {
              ctfc2 := 0,
              powerOffsetInformation := omit
            },
            {
              ctfc2 := 1,
              powerOffsetInformation := omit
            }
          }
        }
      }
    }
  };

  template (value) TFCS cs_TFCS_Cmpl0_1_2_Rx :=
  {
    normalTFCI_Signalling := {
      complete := {
        ctfcSize := {
          ctfc2Bit := {
            {
              ctfc2 := 0,
              powerOffsetInformation := omit
            },
            {
              ctfc2 := 1,
              powerOffsetInformation := omit
            },
            {
              ctfc2 := 2,
              powerOffsetInformation := omit
            }
          }
        }
      }
    }
  };

  template (value) TFCS cs_TFCS_Cmpl0_1_Tx_FDD(template (omit) PowerOffsetInformation p_PowerOffsetInformation) :=
  {
    normalTFCI_Signalling := {
      complete := {
        ctfcSize := {
          ctfc2Bit := {
            {
              ctfc2 := 0,
              powerOffsetInformation := cs_PowerOffsetInfoComputed
            },
            {
              ctfc2 := 1,
              powerOffsetInformation := p_PowerOffsetInformation
            }
          }
        }
      }
    }
  };

  template (value) TFCS cs_TFCS_Cmpl0_1_Tx_TDD :=
  {
    normalTFCI_Signalling := {
      complete := {
        ctfcSize := {
          ctfc2Bit := {
            {
              ctfc2 := 0,
              powerOffsetInformation := omit
            },
            {
              ctfc2 := 1,
              powerOffsetInformation := omit
            }
          }
        }
      }
    }
  };

  template (value) TrCHInfo cs_TrChInfoBCH1_FDD :=
  {
    ulconnectedTrCHList := omit,
    ulTFCS := omit,
    dlconnectedTrCHList := {
      {
        trchid := tsc_BCH1,
        transportChannelInfo := {
          tti := {
            tti20 := {
              {
                tb_Size := 246,
                numberOfTbSizeList := {
                  { one := NULL }
                },
                logicalChannelList := {
                  configured := NULL
                }
              }
            }
          },
          semistaticTF_Information := {
            channelCodingType := {
              convolutional := half
            },
            rateMatchingAttribute := 1,
            crc_Size := crc16
          }
        }
      }
    },
    dlTFCS := cs_TFCS_Cmpl0(cs_PowerOffsetInfoBelow64k),
    hsDSCHMacdFlows := omit,
    ehs_DSCH_Flows := omit,
    ehs_DSCH_CommonFlows := omit
  };

  template (value) TrCHInfo_TDD cs_TrChInfoBCH1_TDD :=
  {
    ulconnectedTrCHList := omit,
    ulTFCS := omit,
    dlconnectedTrCHList := {
      {
        trchid := tsc_BCH1,
        transportChannelInfo := {
          tfsMode := {
            commonTransChTFS := {
              tti := {
                tti20 := {
                  {
                    rlc_Size := {
                      tdd := {
                        commonTDD_Choice := {
                          bitModeRLC_SizeInfo := {
                            sizeType2 := {
                              part1 := 14,
                              part2 := 6
                            }
                          }
                        }
                      }
                    },
                    numberOfTbSizeList := {
                      {
                        one := NULL
                      }
                    },
                    logicalChannelList := {
                      configured := NULL
                    }
                  }
                }
              },
              semistaticTF_Information := {
                channelCodingType := {
                  convolutional := half
                },
                rateMatchingAttribute := 1,
                crc_Size := crc16
              }
            }
          }
        }
      }
    },
    dlTFCS := cs_TFCS_Cmpl0_TDD,
    hsDSCHMacdFlows := omit
  };

  template (value) TrCHInfo cs_TrChInfoDL_13_6_StandAlone_FDD :=
  {
    ulconnectedTrCHList := omit,
    ulTFCS := omit,
    dlconnectedTrCHList := {
      {
        trchid := tsc_DL_DCH5,
        transportChannelInfo := cs_DCH_148_TTI_10_TFS_FDD
      }
    },
    dlTFCS := cs_TFCS_Cmpl0_1_Tx_FDD(cs_PowerOffsetInfoBelow64k),
    hsDSCHMacdFlows := omit,
    ehs_DSCH_Flows := omit,
    ehs_DSCH_CommonFlows := omit
  };

  template (value) TrCHInfo_TDD cs_TrChInfoDL_13_6_StandAlone_TDD :=
  {
    ulconnectedTrCHList := omit,
    ulTFCS := omit,
    dlconnectedTrCHList := {
      {
        trchid := tsc_DL_DCH5,
        transportChannelInfo := cs_DCH_148_TTI_10_TFS_TDD
      }
    },
    dlTFCS := cs_TFCS_Cmpl0_1_Tx_TDD,
    hsDSCHMacdFlows := omit
  };

  template (value) TrCHInfo cs_TrChInfoUL_13_6_StandAlone_FDD :=
  {
    ulconnectedTrCHList := {
      {
        trchid := tsc_UL_DCH5,
        transportChannelInfo := cs_DCH_148_TTI_10_TFS_FDD
      }
    },
    ulTFCS := cs_TFCS_Cmpl0_1_Rx,     // sent to SS
    dlconnectedTrCHList := omit,
    dlTFCS := omit,
    hsDSCHMacdFlows := omit,
    ehs_DSCH_Flows := omit,
    ehs_DSCH_CommonFlows := omit
  };

  template (value) TrCHInfo_TDD cs_TrChInfoUL_13_6_StandAlone_TDD :=
  {
    ulconnectedTrCHList := {
      {
        trchid := tsc_UL_DCH5,
        transportChannelInfo := cs_DCH_148_TTI_10_TFS_TDD
      }
    },
    ulTFCS := cs_TFCS_Cmpl0_1_Rx,     // sent to SS
    dlconnectedTrCHList := omit,
    dlTFCS := omit,
    hsDSCHMacdFlows := omit
  };

  template (value) TrCHInfo cs_TrChInfoRACH1_FDD :=
  {
    ulconnectedTrCHList := {
      {
        trchid := tsc_RACH1,
        transportChannelInfo := cs_RACH_TFS_FDD
      }
    },
    ulTFCS := cs_TFCS_Cmpl0_1_2_Rx,     // sent to SS
    dlconnectedTrCHList := omit,
    dlTFCS := omit,
    hsDSCHMacdFlows := omit,
    ehs_DSCH_Flows := omit,
    ehs_DSCH_CommonFlows := omit
  };

  template (value) TrCHInfo_TDD cs_TrChInfoRACH1_TDD :=
  {
    ulconnectedTrCHList := {
      {
        trchid := tsc_RACH1,
        transportChannelInfo := cs_RACH_TFS_TDD
      }
    },
    ulTFCS := cs_TFCS_Cmpl0_1_2_Rx,     // sent to SS
    dlconnectedTrCHList := omit,
    dlTFCS := omit,
    hsDSCHMacdFlows := omit
  };

  template (value) TrCH_LogCHMappingList1 cs_TrLogMappingBCH1 :=
  {
    ulconnectedTrCHList := omit,
    dlconnectedTrCHList := {
      {
        trchid := tsc_BCH1,
        trCH_LogCHMappingList := {
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := bch,
                logicalChannelIdentity := tsc_BCCH1,
                logicalChannelType := bCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 1
              }
            },
            rB_Identity := tsc_RB_BCCH,
            cn_DomainIdentity := omit
          }
        }
      }
    },
    dlconnectedMACdFlows := omit,
    dlconnectedMAC_ehsFlows := omit,
    dlconnectedMAC_ehsCommonFlows := omit,
    dlconnectedMAC_ehsCommonFlowsDC := omit
  };

  template (value) TrCH_LogCHMappingList1 cs_TrLogMappingDL_4DCCH :=
  {
    ulconnectedTrCHList := omit,
    dlconnectedTrCHList := {
      {
        trchid := tsc_DL_DCH5,
        trCH_LogCHMappingList := {
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := dch,
                logicalChannelIdentity := tsc_DL_DCCH1,
                logicalChannelType := dCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 1
              }
            },
            rB_Identity := tsc_RB1,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := dch,
                logicalChannelIdentity := tsc_DL_DCCH2,
                logicalChannelType := dCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 2
              }
            },
            rB_Identity := tsc_RB2,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := dch,
                logicalChannelIdentity := tsc_DL_DCCH3,
                logicalChannelType := dCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 3
              }
            },
            rB_Identity := tsc_RB3,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              dl_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                dl_TransportChannelType := dch,
                logicalChannelIdentity := tsc_DL_DCCH4,
                logicalChannelType := dCCH,
                rlc_SizeList := {
                  configured := NULL
                },
                mac_LogicalChannelPriority := 4
              }
            },
            rB_Identity := tsc_RB4,
            cn_DomainIdentity := omit
          }
        }
      }
    },
    dlconnectedMACdFlows := omit,
    dlconnectedMAC_ehsFlows := omit,
    dlconnectedMAC_ehsCommonFlows := omit,
    dlconnectedMAC_ehsCommonFlowsDC := omit
  };

  template (value) TrCH_LogCHMappingList1 cs_TrLogMappingUL_4DCCH :=
  {
    ulconnectedTrCHList := {
      {
      trchid := tsc_UL_DCH5,
      trCH_LogCHMappingList := {
          {
            logicalChannel_Mapping := {
              ul_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                ul_TransportChannelType := dch,
                logicalChannelIdentity := tsc_UL_DCCH1,
                logicalChannelType := dCCH
              }
            },
            rB_Identity := tsc_RB1,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              ul_LogicalChannelMapping := {
              macHeaderManipulation := normalMacHeader,
              ul_TransportChannelType := dch,
              logicalChannelIdentity := tsc_UL_DCCH2,
              logicalChannelType := dCCH
              }
            },
            rB_Identity := tsc_RB2,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              ul_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                ul_TransportChannelType := dch,
                logicalChannelIdentity := tsc_UL_DCCH3,
                logicalChannelType := dCCH
              }
            },
            rB_Identity := tsc_RB3,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              ul_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                ul_TransportChannelType := dch,
                logicalChannelIdentity := tsc_UL_DCCH4,
                logicalChannelType := dCCH
              }
            },
            rB_Identity := tsc_RB4,
            cn_DomainIdentity := omit
          }
        }
      }
    },
    dlconnectedTrCHList := omit,
    dlconnectedMACdFlows := omit,
    dlconnectedMAC_ehsFlows := omit,
    dlconnectedMAC_ehsCommonFlows := omit,
    dlconnectedMAC_ehsCommonFlowsDC := omit
  };

  template (value) TrCH_LogCHMappingList1 cds_TrLogMappingUL_4DCCH_RRC_RB3 modifies cs_TrLogMappingUL_4DCCH :=
  {
    ulconnectedTrCHList := {
    [0] :=
      {
        trCH_LogCHMappingList := {
          [2] := {
            rB_Identity := tsc_RB3_DCCH_RRC
          }
        }
      }
    }
  }

  template (value) TrCH_LogCHMappingList1 cs_TrLogMappingRACH_DTCH :=
  {
    ulconnectedTrCHList := {
      {
        trchid := tsc_RACH1,
        trCH_LogCHMappingList := {
          {
            logicalChannel_Mapping := {
              ul_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                ul_TransportChannelType := rach,
                logicalChannelIdentity := tsc_UL_CCCH5,
                logicalChannelType := cCCH
              }
            },
            rB_Identity := tsc_RB0,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              ul_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                ul_TransportChannelType := rach,
                logicalChannelIdentity := tsc_UL_DCCH1,
                logicalChannelType := dCCH
              }
            },
            rB_Identity := tsc_RB1,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              ul_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                ul_TransportChannelType := rach,
                logicalChannelIdentity := tsc_UL_DCCH2,
                logicalChannelType := dCCH
              }
            },
            rB_Identity := tsc_RB2,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              ul_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                ul_TransportChannelType := rach,
                logicalChannelIdentity := tsc_UL_DCCH3,
                logicalChannelType := dCCH
              }
            },
            rB_Identity := tsc_RB3,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              ul_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                ul_TransportChannelType := rach,
                logicalChannelIdentity := tsc_UL_DCCH4,
                logicalChannelType := dCCH
              }
            },
            rB_Identity := tsc_RB4,
            cn_DomainIdentity := omit
          },
          {
            logicalChannel_Mapping := {
              ul_LogicalChannelMapping := {
                macHeaderManipulation := normalMacHeader,
                ul_TransportChannelType := rach,
                logicalChannelIdentity := tsc_UL_DTCH1,
                logicalChannelType := dTCH
              }
            },
            rB_Identity := tsc_RB20,
            cn_DomainIdentity := omit
          }
        }
      }
    },
    dlconnectedTrCHList := omit,
    dlconnectedMACdFlows := omit,
    dlconnectedMAC_ehsFlows := omit,
    dlconnectedMAC_ehsCommonFlows := omit,
    dlconnectedMAC_ehsCommonFlowsDC := omit
  };

  // =============================================================================
  // p_SRNCId: BITSTRING (SIZE (12))
  // p_SRNTI: BITSTRING (SIZE (20))
  // p_CRNTI: BITSTRING (SIZE (16))
  // -----------------------------------------------------------------------------
  template (value) UE_Info cs_UE_Info(template (omit) U_RNTI    p_U_RNTI,
                                      template (omit) bitstring p_CRNTI) :=
  {
    u_RNTI := p_U_RNTI,
    c_RNTI := p_CRNTI
  };

  template (value) UL_DPCH_Info_r7 cs_UL_DPCH_13_6_StandAlone_FDD(UL_ScramblingCode p_UL_ScramblingCode) :=
  {
    ul_DPCH_PowerControlInfo := {
      fdd := {
        dpcch_PowerOffset := tsc_DPCCH_PowerOffset,
        pc_Preamble := 1,
        sRB_delay := 7,
        powerControlAlgorithm := {
          algorithm1 := tsc_TpcStepSize_FDD
        },
        deltaACK := omit,
        deltaNACK := omit,
        ack_NACK_repetition_factor := omit,
        harq_Preamble_Mode := 0     // FFS INTEGER (0..1 )
      }
    },
    modeSpecificInfo := {
      fdd := {
        scramblingCodeType := longSC,
        scramblingCode := p_UL_ScramblingCode,
        dpdchPresence := {
          present_ := {
            numberOfDPDCH := omit,    // DEFAULT: 1
            spreadingFactor := tsc_UL_DPDCH_SF_SRB,
            tfci_Existence := true,
            numberOfFBI_Bits := omit,
            numberOfTPC_Bits := omit,
            puncturingLimit := pl1
          }
        }
      }
    }
  };

  template (value) UL_DPCH_Info_r7 cs_UL_DPCH_13_6_StandAlone_TDD := cs_UL_DPCH_Info_1TS_TDD (1, 0,  tfci_bits_8, pl0_64,1, tsc_UL_DPCH1_ChC_SRB_13_6);

  template (value) UL_DPCH_Info_r7 cs_UL_DPCH_Speech_TDD := cs_UL_DPCH_Info_1TS_TDD (1, 0,  tfci_bits_16, pl0_48,1, tsc_UL_DPCH1_ChC_Speech);

  template (value) UL_DPCH_Info_r7 cs_UL_DPCH_Info_1TS_TDD(TFCS_IdentityPlain p_TFCS_ID,
                                                           ActivationTime p_ActivationTime,
                                                           TFCI_Coding p_TFCI_Coding,
                                                           PuncturingLimit p_PuncturingLimit,
                                                           TimeslotNumber_LCR_r4 p_TimeslotNumber_UL,
                                                           UL_TS_ChannelisationCode p_UL_TS_ChannelisationCode ) :=
  {
    ul_DPCH_PowerControlInfo := {
      tdd := {
        ul_TargetSIR := tsc_UL_TargetSIR,  // 48
        ul_OL_PC_Signalling := {
          individuallySignalled := {
            tddOption := {
              tdd128 := {
                beaconPLEst := omit,
                tpc_StepSize := tsc_TPC_StepSize_TDD
              }
            },
            primaryCCPCH_TX_Power := tsc_PrimaryCCPCH_TX_Power  // 12
          }
        }
      }
    },
    modeSpecificInfo := {
      tdd := {
        ul_TimingAdvance := {
          enabled := {
            tddOption := {
              tdd128:= {
                ul_SynchronisationParameters := {
                  stepSize := tsc_SS_StepSize_TDD,
                  frequency := tsc_SS_Frequency
                },
                synchronisationParameters := omit
              }
            }
          }
        },
        ul_CCTrCHList := {
          {
            tfcs_ID := p_TFCS_ID,
            ul_TargetSIR := tsc_UL_TargetSIR,
            timeInfo := {
              activationTime := p_ActivationTime,
              durationTimeInfo := omit
            },
            commonTimeslotInfo := {
              secondInterleavingMode := frameRelated,
              tfci_Coding := p_TFCI_Coding,
              puncturingLimit := p_PuncturingLimit,
              repetitionPeriodAndLength := {repetitionPeriod1:= NULL}
            },
            tddOption := {
              tdd128 := {
                ul_CCTrCH_TimeslotsCodes := {
                  dynamicSFusage := false,
                  firstIndividualTimeslotInfo := {
                    timeslotNumber := p_TimeslotNumber_UL,
                    tfci_Existence := true,
                    midambleShiftAndBurstType := {
                      midambleAllocationMode := { defaultMidamble := NULL},
                      midambleConfiguration := 4
                    },
                    modulation := mod_QPSK,
                    ss_TPC_Symbols := one,
                    additionalSS_TPC_Symbols := omit
                  },
                  ul_TS_ChannelisationCodeList := {
                    {
                      ul_TS_Channelisation_Code := p_UL_TS_ChannelisationCode,
                      plcch_info := omit
                    }
                  },
                  moreTimeslots := {noMore:= NULL}
                }
              }
            }
          }
        },
        ul_CCTrCHListToRemove := omit
      }
    }
  };

  template (value) U_CMAC_CONFIG_REQ cas_SchedulNow(UTRAN_CellId_Type p_CellId,
                                                    integer           p_REP,
                                                    integer           p_POS,
                                                    RatType           p_RatType ) :=
   {
     sysInfo := {
       cellId := p_CellId,
       routingInfo := {rB_Identity := tsc_RB_BCCH},
       ratType := p_RatType,
       configMessage := {
         sg_REP := p_REP,
           sg_POS := p_POS,
         bcch_ModificationTime := omit
       }
     }
   };
  
  template (value) U_CMAC_CONFIG_REQ cas_SchedulLater(UTRAN_CellId_Type     p_CellId,
                                                      integer               p_REP,
                                                      integer               p_POS,
                                                      BCCH_ModificationTime p_Timing,
                                                      RatType               p_RatType ) :=
  {
    sysInfo := {
      cellId := p_CellId,
      routingInfo := {rB_Identity := tsc_RB_BCCH},
      ratType := p_RatType,
      configMessage := {
        sg_REP := p_REP,
        sg_POS := p_POS,
        bcch_ModificationTime := p_Timing
       }
    }
  };
  
  template U_CMAC_CONFIG_CNF car_SysInfoCfgCnf(UTRAN_CellId_Type p_CellId,
                                               integer           p_RB_Identity) :=
  {
    sysInfo := {
       cellId := p_CellId,
       routingInfo := {rB_Identity := p_RB_Identity}
     }
  };

  template (value) RLC_TR_DATA_REQ cas_TR_DataReq(UTRAN_CellId_Type p_CellId,
                                                  integer           p_RB,
                                                  template (value) BCCH_BCH_Message p_Message) :=
  {
    cellId := p_CellId,
    routingInfo := {rB_Identity := p_RB},
    tM_message := {bCCH_BCH_Message := p_Message}
  };

  template (value) BCCH_BCH_Message cs_SIB_MsgNoSegment :=
  {
    message_ := {
      sfn_Prime := 0,
      payload := {noSegment := NULL}
    }
  };
  
  template (value) BCCH_BCH_Message cs_SIB_MsgLastCmplList1 (SIB_Type p_SIBType1,
                                                             integer  p_SegIndex1,
                                                             SIB_Data_variable p_SIBData1,
                                                             SIB_Type          p_SIBType2,
                                                             SIB_Data_variable p_SIBData2 ) :=
  {
    message_ := {
      sfn_Prime := 0,
      payload := {
        lastAndComplete := {
          lastSegmentShort := {
            sib_Type := p_SIBType1,
            segmentIndex := p_SegIndex1,
            sib_Data_variable := p_SIBData1
          },
          completeSIB_List :={
            {
              sib_Type := p_SIBType2,
              sib_Data_variable := p_SIBData2
            }
          }
        }
      }
    }
  };
  
  template (value) BCCH_BCH_Message cs_SIB_MsgCmpl (SIB_Type p_SIBType,
                                                    bitstring p_SIBData ) :=
  {
    message_ := {
      sfn_Prime := 0,
      payload := {
        completeSIB := {
          sib_Type := p_SIBType,
          sib_Data_fixed := p_SIBData
        }
      }
    }
  };
  
  template (value) BCCH_BCH_Message cs_SIB_MsgCmplList1 (SIB_Type p_SIBType,
                                                         SIB_Data_variable p_SIBData ) :=
  {
    message_ := {
      sfn_Prime := 0,
      payload := {
        completeSIB_List := {
          {
            sib_Type := p_SIBType,
            sib_Data_variable := p_SIBData
          }
        }
      }
    }
  };
  
  template (value) BCCH_BCH_Message cs_SIB_MsgCmplList2 (SIB_Type p_SIBType1,
                                                         SIB_Data_variable p_SIBData1,
                                                         SIB_Type p_SIBType2,
                                                         SIB_Data_variable p_SIBData2 ) :=
  {
    message_ := {
      sfn_Prime := 0,
      payload := {
        completeSIB_List := {
          {
            sib_Type := p_SIBType1,
            sib_Data_variable := p_SIBData1
          },
          {
            sib_Type := p_SIBType2,
            sib_Data_variable := p_SIBData2
          }
        }
      }
    }
  };
  
  template (value) BCCH_BCH_Message cs_SIB_MsgLast (SIB_Type p_SIBType,
                                                    integer p_SegIndex,
                                                    SIB_Data_fixed p_SIBData) :=
  {
    message_ := {
      sfn_Prime := 0,
      payload := {
        lastSegment := {
          sib_Type := p_SIBType,
          segmentIndex := p_SegIndex,
          sib_Data_fixed := p_SIBData
        }
      }
    }
  };
  
  template (value) BCCH_BCH_Message cs_SIB_MsgLastShort (SIB_Type p_SIBType,
                                                         integer p_SegIndex,
                                                         SIB_Data_variable p_SIBData ) :=
  {
    message_ := {
      sfn_Prime := 0,
      payload := {
        lastSegmentShort := {
          sib_Type := p_SIBType,
          segmentIndex := p_SegIndex,
          sib_Data_variable := p_SIBData
        }
      }
    }
  };
  
  template (value) BCCH_BCH_Message cs_SIB_MsgFirst(SIB_Type p_SIBType,
                                                    integer p_SegCount,
                                                    SIB_Data_fixed p_SIBData) :=
  {
    message_ := {
      sfn_Prime := 0,  // place holder
      payload := {
        firstSegment := {
          sib_Type := p_SIBType,
          seg_Count := p_SegCount,
          sib_Data_fixed := p_SIBData
        }
      }
    }
  };

  template (value) BCCH_BCH_Message cs_SIB_MsgSubsequent(SIB_Type p_SIBType,
                                                         integer p_SegIndex,
                                                         SIB_Data_fixed p_SIBData) :=
  {
    message_ := {
      sfn_Prime := 0,
      payload := {
        subsequentSegment := {
          sib_Type := p_SIBType,
          segmentIndex := p_SegIndex,
          sib_Data_fixed := p_SIBData
        }
      }
    }
  };
  
  template (value) SchedulingInformation cs_SB1_Schedul1 :=
  {
    scheduling := {
      segCount := 1,
      sib_Pos := {rep16 := 1},
      sib_PosOffsetInfo := omit
    }
  };
  
  template (value) SchedulingInformation cs_SIB5_Schedul1 :=
  {
    scheduling := {
      segCount := 1,
      sib_Pos := {rep64 := 19},
      sib_PosOffsetInfo := omit
    }
  };
  
  template (value) SchedulingInformation cs_SIB5_Schedul2 :=
  {
    scheduling := {
      segCount := 2,
      sib_Pos := {rep64 := 19},
      sib_PosOffsetInfo := {so4}
    }
  };
  
  template (value) SchedulingInformation cs_SIB5_Schedul3 :=
  {
    scheduling := {
      segCount := 3,
      sib_Pos := {rep64 := 19},
      sib_PosOffsetInfo := {so4, so2}
    }
  };
  
  template (value) SchedulingInformation cs_SIB5_Schedul4 :=
  {
    scheduling := {
      segCount := 4,
      sib_Pos := {rep64 := 19},
      sib_PosOffsetInfo := {so4, so2, so2}
    }
  };

  template (value) SchedulingInformation cs_SIB6_Schedul1 :=
  {
    scheduling := {
      segCount := 1,
      sib_Pos := {rep64 := 3},
      sib_PosOffsetInfo := omit
    }
  };
  
  template (value) SchedulingInformation cs_SIB6_Schedul2 :=
  {
    scheduling := {
      segCount := 2,
      sib_Pos := {rep64 := 3},
      sib_PosOffsetInfo := {so4}
    }
  };
  
  template (value) SchedulingInformation cs_SIB6_Schedul3 :=
  {
    scheduling := {
      segCount := 3,
      sib_Pos := {rep64 := 3},
      sib_PosOffsetInfo := {so4, so2}
    }
  };
  
  template (value) SchedulingInformation cs_SIB6_Schedul4 :=
  {
    scheduling := {
      segCount := 4,
      sib_Pos := {rep64 := 3},
      sib_PosOffsetInfo := {so4, so2, so2}
    }
  };
  
  template (value) SchedulingInformation cs_SIB11_Schedul1 :=
  {
    scheduling := {
      segCount := 1,
      sib_Pos := {rep64 := 29},
      sib_PosOffsetInfo := omit
    }
  };
  
  template (value) SchedulingInformation cs_SIB11_Schedul2 :=
  {
    scheduling := {
      segCount := 2,
      sib_Pos := {rep64 := 29},
      sib_PosOffsetInfo := {so2}
    }
  };
  
  template (value) SchedulingInformation cs_SIB11_Schedul3 :=
  {
    scheduling := {
      segCount := 3,
      sib_Pos := {rep64 := 29},
      sib_PosOffsetInfo := {so2, so2}
    }
  };
  
  template (value) SchedulingInformation cs_SIB19_Schedul1 :=
  {
    scheduling := {
      segCount := 1,
      sib_Pos := {rep64 := 14},
      sib_PosOffsetInfo := omit
    }
  };
  
  template (value) SchedulingInformation cs_SIB19_Schedul2 :=
  {
    scheduling := {
      segCount := 2,
      sib_Pos := {rep64 := 14},
      sib_PosOffsetInfo := {so2}
    }
  };
  
  template (value) SchedulingInformation cs_SIB16_Schedul1 :=
  {
    scheduling := {
      segCount := 1,
      sib_Pos := {rep128 := 35},
      sib_PosOffsetInfo := omit
    }
  };
  
  template (value) SchedulingInformation cs_SIB16_Schedul2 :=
  {
    scheduling := {
      segCount := 2,
      sib_Pos := {rep128 := 35},
      sib_PosOffsetInfo := {so4}
    }
  };
  
  template (value) SchedulingInformation cs_SIB16_Schedul3 :=
  {
    scheduling := {
      segCount := 3,
      sib_Pos := {rep128 := 35},
      sib_PosOffsetInfo := {so4, so2}
    }
  };
  
  template (value) SchedulingInformation cs_SIB16_Schedul4 :=
  {
    scheduling := {
      segCount := 4,
      sib_Pos := {rep128 := 35},
      sib_PosOffsetInfo := {so4, so2, so2}
    }
  };
  
  template (value) SchedulingInformation cs_SIB16_Schedul5 :=
  {
    scheduling := {
      segCount := 5,
      sib_Pos := {rep128 := 35},
      sib_PosOffsetInfo := {so4, so2, so2, so24}
    }
  };
  
  template (value) SchedulingInformation cs_SIB16_Schedul6 :=
  {
    scheduling := {
      segCount := 6,
      sib_Pos := {rep128 := 35},
      sib_PosOffsetInfo := {so4, so2, so2, so24, so4}
    }
  };
  
  template (value) SchedulingInformation cs_SIB16_Schedul7 :=
  {
    scheduling := {
      segCount := 7,
      sib_Pos := {rep128 := 35},
      sib_PosOffsetInfo := {so4, so2, so2, so24, so4, so2}
    }
  };
  
  template (value) SchedulingInformation cs_SIB16_Schedul8 :=
  {
    scheduling := {
      segCount := 8,
      sib_Pos := {rep128 := 35},
      sib_PosOffsetInfo := {so4, so2, so2, so24, so4, so2, so2}
    }
  };
  
  template (value) SchedulingInformation cs_SIB5_Schedul1_LongNeighCellInfo :=
  {
    scheduling := {
      segCount := 1,
      sib_Pos := {rep64 := 18},
      sib_PosOffsetInfo := omit
    }
  };
  
  template (value) SchedulingInformation cs_SIB5_Schedul2_LongNeighCellInfo :=
  {
    scheduling := {
      segCount := 2,
      sib_Pos := {rep64 := 18},
      sib_PosOffsetInfo := {so2}
    }
  };
  
  template (value) SchedulingInformation cs_SIB5_Schedul3_LongNeighCellInfo :=
  {
    scheduling := {
      segCount := 3,
      sib_Pos := {rep64 := 18},
      sib_PosOffsetInfo := {so2, so4}
    }
  };
  
  template (value) SchedulingInformation cs_SIB5_Schedul4_LongNeighCellInfo :=
  {
    scheduling := {
      segCount := 4,
      sib_Pos := {rep64 := 18},
      sib_PosOffsetInfo := {so2, so4, so2}
    }
   };

  template (value) SchedulingInformation cs_SIB6_Schedul1_LongNeighCellInfo :=
  {
    scheduling := {
      segCount := 1,
      sib_Pos := {rep64 := 2},
      sib_PosOffsetInfo := omit
    }
  };
  
  template (value) SchedulingInformation cs_SIB6_Schedul2_LongNeighCellInfo :=
  {
    scheduling := {
      segCount := 2,
      sib_Pos := {rep64 := 2},
      sib_PosOffsetInfo := {so2}
    }
  };
  
  template (value) SchedulingInformation cs_SIB6_Schedul3_LongNeighCellInfo :=
  {
    scheduling := {
      segCount := 3,
      sib_Pos := {rep64 := 2},
      sib_PosOffsetInfo := {so2, so4}
    }
  };
  
  template (value) SchedulingInformation cs_SIB6_Schedul4_LongNeighCellInfo :=
  {
    scheduling := {
      segCount := 4,
      sib_Pos := {rep64 := 2},
      sib_PosOffsetInfo := {so2, so4, so2}
    }
   };
  
  template (value) SchedulingInformation cs_SIB11_Schedul1_LongNeighCellInfo :=
  {
    scheduling := {
      segCount := 1,
      sib_Pos := {rep64 := 26},
      sib_PosOffsetInfo := omit
    }
  };
  
  
  template (value) SchedulingInformation cs_SIB11_Schedul2_LongNeighCellInfo :=
  {
    scheduling := {
      segCount := 2,
      sib_Pos := {rep64 := 26},
      sib_PosOffsetInfo := {so2}
    }
  };
  
  template (value) SchedulingInformation cs_SIB11_Schedul3_LongNeighCellInfo :=
  {
    scheduling := {
      segCount := 3,
      sib_Pos := {rep64 := 26},
      sib_PosOffsetInfo := {so2, so4}
    }
  };
  
  template (value) SchedulingInformation cs_SIB11_Schedul4_LongNeighCellInfo :=
  {
    scheduling := {
      segCount := 4,
      sib_Pos := {rep64 := 26},
      sib_PosOffsetInfo := {so2, so4, so2}
    }
  };
  
  template (value) SchedulingInformation cs_SIB19_Schedul1_LongNeighCellInfo :=
  {
    scheduling := {
      segCount := 1,
      sib_Pos := {rep128 := 46},
      sib_PosOffsetInfo := omit
    }
  };
  
  template (value) SchedulingInformation cs_SIB19_Schedul2_LongNeighCellInfo :=
  {
    scheduling := {
      segCount := 2,
      sib_Pos := {rep128 := 46},
      sib_PosOffsetInfo := {so30}
    }
  };
  
  template (value) SchedulingInformation cs_SIB19_Schedul3_LongNeighCellInfo :=
  {
    scheduling := {
      segCount := 3,
      sib_Pos := {rep128 := 46},
      sib_PosOffsetInfo := {so30, so2}
    }
  };

  template (value) U_CRLC_CONFIG_REQ cas_CRLC_DL_IntegrityActivateReq(UTRAN_CellId_Type p_CellId,
                                                                          CN_DomainIdentity p_Domain,
                                                                          template (value) IntegrityProtectionModeInfo_r7 p_IntegrityProtectionModeInfo) :=
  {
    integrity := {
      cellId := p_CellId,
      cn_DomainIdentity := p_Domain,
      integrityActivationInfo := {
        integrityProtectionModeInfo_r7 := p_IntegrityProtectionModeInfo
      }
    }
  };
  
  template (value) U_CRLC_CONFIG_REQ cas_CRLC_UL_IntegrityActivateReq(UTRAN_CellId_Type p_CellId,
                                                                          CN_DomainIdentity p_Domain,
                                                                          template (value) IntegrityProtActivationInfoList p_IntegrityProtActivationInfo) :=
  {
    integrity := {
      cellId := p_CellId,
      cn_DomainIdentity := p_Domain,
      integrityActivationInfo := {
        ul_IntegProtActivationInfo := p_IntegrityProtActivationInfo
      }
    }
  };
  
  template U_CRLC_CONFIG_CNF car_CRLC_IntegrityActivateCnf(UTRAN_CellId_Type p_CellId) :=
  {
    integrity := {
      cellId := p_CellId
    }
  };
  
  template (value) U_CRLC_CONFIG_REQ cas_CRLC_UL_CipherActReq(UTRAN_CellId_Type p_CellId,
                                                                  CN_DomainIdentity p_CN_Domain,
                                                                  template (value) RB_ActivationTimeInfoList p_RB_ActivationTimeInfoList,
                                                                  RLC_IncMode p_IncMode) :=
  {
    cipher := {
      cellId := p_CellId,
      ratType := fdd,
      cn_DomainIdentity := p_CN_Domain,
      ciphActivationInfo := {
        rb_UL_CipheringActivationTimeInfo := p_RB_ActivationTimeInfoList
      },
      incHFN := p_IncMode
    }
  };
  
  template (value) U_CRLC_CONFIG_REQ cas_CRLC_DL_CipherActReq(UTRAN_CellId_Type p_CellId,
                                                                  CN_DomainIdentity p_CN_Domain,
                                                                  integer p_RB_Id,
                                                                  CipheringModeCommand_r7 p_CipherMode,
                                                                  RLC_SequenceNumber p_N,
                                                                  RLC_IncMode p_IncMode) :=
  {
    cipher := {
      cellId := p_CellId,
      ratType := fdd,
      cn_DomainIdentity := p_CN_Domain,
      ciphActivationInfo := {
        cipheringModeInfo_r7 := {
          cipheringModeCommand := p_CipherMode,
          activationTimeForDPCH := omit,
          rb_DL_CiphActivationTimeInfo := {
            cs_RB_ActTimeInfo(p_RB_Id, p_N)
          }
        }
      },
      incHFN := p_IncMode
    }
  };
  
  template U_CRLC_CONFIG_CNF car_CRLC_CipherActCnf(UTRAN_CellId_Type p_CellId) :=
  {
    cipher := {
      cellId := p_CellId
    }
  };
  
  template U_CMAC_CONFIG_CNF car_CMAC_SecurityModeCfgCnf(UTRAN_CellId_Type p_CellId) :=
  {
    secMode := {
      cellId := p_CellId
    }
  };
  
  template (value) U_CMAC_CONFIG_REQ cas_CMAC_SecurityModeCfgReq( UTRAN_CellId_Type p_CellId,
                                                                      CN_DomainIdentity p_Domain,
                                                                      template (omit) HyperFrameNumber p_Hfn,
                                                                      template (omit) KeyCiphering p_KC,
                                                                      template (omit) IntegrityKey p_IK,
                                                                      template (omit) GSM_CipheringKey p_GSM_ck) :=
  {
    secMode := {
      cellId := p_CellId,
      macCipheringInfo := {
        cn_DomainIdentity := p_Domain,
        startValue := p_Hfn,
        cipheringKey := p_KC,
        integrityKey := p_IK,
        gsmCipheringKey := p_GSM_ck
      }
    }
  };

  template U_CRLC_CONFIG_CNF car_CRLC_SecurityModeCfgCnf(UTRAN_CellId_Type p_CellId) :=
  {
    secMode := {
      cellId := p_CellId
    }
  };
  
  template (value) U_CRLC_CONFIG_REQ cas_CRLC_SecurityModeCfgReq(UTRAN_CellId_Type p_CellId,
                                                                     CN_DomainIdentity p_Domain,
                                                                     template (omit) HyperFrameNumber p_Hfn,
                                                                     template (omit) KeyCiphering p_KC,
                                                                     template (omit) IntegrityKey p_Ik,
                                                                     template (omit) GSM_CipheringKey p_GSM_ck) :=
  {
    secMode := {
      cellId := p_CellId,
      rlcSecurityInfo := {
        cn_DomainIdentity := p_Domain,
        startValue := p_Hfn,
        cipheringKey := p_KC,
        integrityKey := p_Ik,
        gsmCipheringKey := p_GSM_ck
      }
    }
  };
  
  template (value) U_CRLC_CONFIG_REQ cas_GetRLC_SeqNum(UTRAN_CellId_Type p_CellId,
                                                           integer p_RB_Id) :=
  {
    seqNo := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      }
    }
  };
  
  template U_CRLC_CONFIG_CNF car_GetRLC_SeqNum(UTRAN_CellId_Type p_CellId,
                                                   integer p_RB_Id) :=
  {
    seqNo := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      count_C_MSB_UL := ?,
      count_C_LSB_UL := ?,
      count_C_MSB_DL := ?,
      count_C_LSB_DL := ?
    }
  };

  template (value) DL_DCCH_Message cs_108_RRC_SecModeCmd(IntegrityCheckInfo p_IntegrityCheckInfo,
                                                         template (value) SecurityModeCommand p_SecModeCmd) :=
  {
    integrityCheckInfo := p_IntegrityCheckInfo,
    message_ := {
      securityModeCommand := p_SecModeCmd
    }
  };
  
  template (value) U_CRLC_CONFIG_REQ cas_CRLC_ContinueRLC_Ack_REQ(UTRAN_CellId_Type p_CellId,
                                                                      integer p_RbId) :=
  {
    prohibit := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RbId
      },
      mode := continue_
    }
  };
  
  template (value) U_CRLC_CONFIG_REQ cas_CRLC_ProhibitRLC_Ack_REQ(UTRAN_CellId_Type p_CellId,
                                                                      integer p_RbId) :=
  {
    prohibit := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RbId
      },
      mode := prohibit
    }
  };
  
  template U_CRLC_CONFIG_CNF car_CRLC_ProhibitRLC_Ack_CNF(UTRAN_CellId_Type p_CellId,
                                                              integer p_RbId) :=
  {
    prohibit := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RbId
      },
      supportflag := *
    }
  };
  
  template (value) U_CRLC_CONFIG_REQ cas_CRLC_RRC_MessageSN_REQ(UTRAN_CellId_Type p_CellId,
                                                                    integer p_RBId) :=
  {
    rrcMsgSN := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RBId
      }
    }
  };

  template U_CRLC_CONFIG_CNF car_CRLC_RRC_MessageSN_CNF(template UTRAN_CellId_Type p_CellId,
                                                            template integer p_RBId) :=
  {
    rrcMsgSN := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RBId
      },
      count_I_MSB_UL := ?,
      count_I_LSB_UL := ?,
      count_I_MSB_DL := ?,
      count_I_LSB_DL := ?
    }
  };
  
  template (value) U_CRLC_CONFIG_REQ cas_DL_CRLC_SetRRC_MSN_REQ(UTRAN_CellId_Type p_CellID,
                                                                    integer p_RBID,
                                                                    RRC_SequenceNumber p_DL_MSN) :=
  {
    setRRCmsgSN := {
      cellId := p_CellID,
      routingInfo := {
        rB_Identity := p_RBID
      },
      count_I_LSB_UL := omit,
      count_I_LSB_DL := p_DL_MSN
    }
  };
  
  template U_CRLC_CONFIG_CNF car_CRLC_SetRRC_MSN_CNF(UTRAN_CellId_Type p_CellID,
                                                         integer p_RBID) :=
  {
    setRRCmsgSN := {
      cellId := p_CellID,
      routingInfo := {
        rB_Identity := p_RBID
      }
    }
  };
  
  template (value) U_CMAC_CONFIG_REQ cas_CMAC_DL_CipherActReq(UTRAN_CellId_Type p_CellId,
                                                                  integer p_PhyChId,
                                                                  CipheringModeCommand_r7 p_CipherMode,
                                                                  integer p_ActTimeDPCH,
                                                                  Increment_Mode p_IncrDcr) :=
  {
    cipher := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := fdd,
      cn_DomainIdentity := cs_domain, // the domain is hard coded as no TM RAB in PS domain
      cipheringModeInfo := omit,
      cipheringModeInfo_r7 := {
        cipheringModeCommand := p_CipherMode,
        activationTimeForDPCH := p_ActTimeDPCH,
        rb_DL_CiphActivationTimeInfo := omit
      },
      incHFN := p_IncrDcr
    }
  };

  template (value) U_CMAC_CONFIG_REQ cas_CMAC_UL_CipherActReq(UTRAN_CellId_Type p_CellId,
                                                                  integer p_PhyChId,
                                                                  CipheringModeCommand_r7 p_CipherMode,
                                                                  integer p_ActTimeDPCH,
                                                                  Increment_Mode p_IncrDcr) :=
  {
    cipher := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      },
      ratType := fdd,
      cn_DomainIdentity := cs_domain, // domain hard coded as no TM RAB in PS Domain
      cipheringModeInfo := omit,
      cipheringModeInfo_r7 := {
        cipheringModeCommand := p_CipherMode,
        activationTimeForDPCH := p_ActTimeDPCH,
        rb_DL_CiphActivationTimeInfo := omit
      },
      incHFN := p_IncrDcr
    }
  };
  
  template U_CMAC_CONFIG_CNF car_CMAC_CipherActCnf(UTRAN_CellId_Type p_CellId,
                                                       integer p_PhyChId) :=
  {
    cipher := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhyChId
      }
    }
  };
  
  template (value) SecurityModeCommand cs_RRC_SecModeCmdCiphInt(RRC_TransactionIdentifier p_RRC_Ti,
                                                                CipheringModeCommand_r7 p_CipheringModeCommand,
                                                                template (value) RB_ActivationTimeInfoList p_RB_ActivationTimeInfoList,
                                                                template (omit) integer p_ActTimeDPCH,
                                                                CN_DomainIdentity p_CN_Domain,
                                                                template (value) IntegrityProtectionModeInfo_r7 p_IntegrityMode,
                                                                bitstring p_SecurityCapability,
                                                                template (omit) InterRAT_UE_SecurityCapList p_SystemSpecCap,
                                                                bitstring p_IntegrProtAlgCap) :=
  {
    later_than_r3 := {
      rrc_TransactionIdentifier := p_RRC_Ti,
      criticalExtensions := {
        r7 := {
          securityModeCommand_r7 := {
            securityCapability := {
              cipheringAlgorithmCap := p_SecurityCapability,
              integrityProtectionAlgorithmCap := p_IntegrProtAlgCap
            },
            cipheringModeInfo := {
              cipheringModeCommand := p_CipheringModeCommand,
              activationTimeForDPCH := p_ActTimeDPCH,
              rb_DL_CiphActivationTimeInfo := p_RB_ActivationTimeInfoList
            },
            integrityProtectionModeInfo := p_IntegrityMode,
            cn_DomainIdentity := p_CN_Domain,
            ue_SystemSpecificSecurityCap := p_SystemSpecCap
          },
          securityModeCommand_r7_add_ext := omit,
          nonCriticalExtensions := omit
        }
      }
    }
  };
  
  template (value) SecurityModeCommand cs_RRC_SecModeCmdInt(RRC_TransactionIdentifier p_RRC_Ti,
                                                            CN_DomainIdentity p_CN_Domain,
                                                            IntegrityProtectionModeInfo_r7 p_IntegrityMode,
                                                            bitstring p_SecurityCapability,
                                                            template (omit) InterRAT_UE_SecurityCapList p_SystemSpecCap,
                                                            bitstring p_IntegrProtAlgCap) :=
  {
    later_than_r3 := {
      rrc_TransactionIdentifier := p_RRC_Ti,
      criticalExtensions := {
        r7 := {
          securityModeCommand_r7 := {
            securityCapability := {
              cipheringAlgorithmCap := p_SecurityCapability,
              integrityProtectionAlgorithmCap := p_IntegrProtAlgCap
            },
            cipheringModeInfo := omit,
            integrityProtectionModeInfo := p_IntegrityMode,
            cn_DomainIdentity := p_CN_Domain,
            ue_SystemSpecificSecurityCap := p_SystemSpecCap
          },
          securityModeCommand_r7_add_ext := omit,
          nonCriticalExtensions := omit
        }
      }
    }
  };
  
  template UL_DCCH_Message cr_108_RRC_SecModeCmpl(RRC_TransactionIdentifier p_RRC_Ti,
                                                  template RB_ActivationTimeInfoList p_RB_ActivationTimeInfoList) :=
  {
    integrityCheckInfo := *,
    message_:= {
      securityModeComplete := {
        rrc_TransactionIdentifier := p_RRC_Ti,
        ul_IntegProtActivationInfo := ?,
        rb_UL_CiphActivationTimeInfo := p_RB_ActivationTimeInfoList,
        laterNonCriticalExtensions := *
      }
    }
  };
  
  template RLC_AM_DATA_IND car_RRC_SecModeFail(UTRAN_CellId_Type p_CellId,
                                               integer p_RB,
                                               template UL_DCCH_Message p_Pdu) :=
  {
    cellId := p_CellId,
    routingInfo := {
      rB_Identity := p_RB
    },
    integrityResult := ?,
    aM_message := {
      uL_DCCH_Message := p_Pdu
    }
  };
  
  template UL_DCCH_Message cr_108_SecModeFail(RRC_TransactionIdentifier p_RRC_Ti,
                                              template FailureCauseWithProtErr p_FailureCauseWithProtErr) :=
  {
    integrityCheckInfo := *,
    message_ := {
      securityModeFailure := {
        rrc_TransactionIdentifier := p_RRC_Ti,
        failureCause := p_FailureCauseWithProtErr,
        laterNonCriticalExtensions := *
      }
    }
  };
  
  template (value) InterRAT_UE_SecurityCapList cs_UE_SysSpecCap(bitstring p_SysSpecCap) :=
  {
    {
      gsm := {
        gsmSecurityCapability := p_SysSpecCap
      }
    }
  };
  
  template (value) RB_ActivationTimeInfoList cs_RB_ActTimeInfoListSRBs(RLC_SequenceNumber p_RLC_SN1,
                                                                       RLC_SequenceNumber p_RLC_SN2,
                                                                       RLC_SequenceNumber p_RLC_SN3,
                                                                       RLC_SequenceNumber p_RLC_SN4) :=
  {
    cs_RB_ActTimeInfo( tsc_RB1, p_RLC_SN1 ),
    cs_RB_ActTimeInfo( tsc_RB2, p_RLC_SN2 ),
    cs_RB_ActTimeInfo( tsc_RB3, p_RLC_SN3 ),
    cs_RB_ActTimeInfo( tsc_RB4, p_RLC_SN4 )
  };
  
  template (value) RB_ActivationTimeInfoList cs_RB_ActTimeInfoListSRBs_20(RLC_SequenceNumber p_RLC_SN1,
                                                                          RLC_SequenceNumber p_RLC_SN2,
                                                                          RLC_SequenceNumber p_RLC_SN3,
                                                                          RLC_SequenceNumber p_RLC_SN4,
                                                                          RLC_SequenceNumber p_RLC_SN20) :=
  {
    cs_RB_ActTimeInfo( tsc_RB1, p_RLC_SN1 ),
    cs_RB_ActTimeInfo( tsc_RB2, p_RLC_SN2 ),
    cs_RB_ActTimeInfo( tsc_RB3, p_RLC_SN3 ),
    cs_RB_ActTimeInfo( tsc_RB4, p_RLC_SN4 ),
    cs_RB_ActTimeInfo( tsc_RB20, p_RLC_SN20 )
  };
  
  template (value) RB_ActivationTimeInfoList cs_RB_ActTimeInfoListSRBs_20_21(RLC_SequenceNumber p_RLC_SN1,
                                                                             RLC_SequenceNumber p_RLC_SN2,
                                                                             RLC_SequenceNumber p_RLC_SN3,
                                                                             RLC_SequenceNumber p_RLC_SN4,
                                                                             RLC_SequenceNumber p_RLC_SN20,
                                                                             RLC_SequenceNumber p_RLC_SN21) :=
  {
    cs_RB_ActTimeInfo( tsc_RB1, p_RLC_SN1 ),
    cs_RB_ActTimeInfo( tsc_RB2, p_RLC_SN2 ),
    cs_RB_ActTimeInfo( tsc_RB3, p_RLC_SN3 ),
    cs_RB_ActTimeInfo( tsc_RB4, p_RLC_SN4 ),
    cs_RB_ActTimeInfo( tsc_RB20, p_RLC_SN20 ),
    cs_RB_ActTimeInfo( tsc_RB21, p_RLC_SN21 )
  };
  
  template (value) RB_ActivationTimeInfoList cs_RB_ActTimeInfoListSRBs_20_22(RLC_SequenceNumber p_RLC_SN1,
                                                                             RLC_SequenceNumber p_RLC_SN2,
                                                                             RLC_SequenceNumber p_RLC_SN3,
                                                                             RLC_SequenceNumber p_RLC_SN4,
                                                                             RLC_SequenceNumber p_RLC_SN20,
                                                                             RLC_SequenceNumber p_RLC_SN22) :=
  {
    cs_RB_ActTimeInfo( tsc_RB1, p_RLC_SN1 ),
    cs_RB_ActTimeInfo( tsc_RB2, p_RLC_SN2 ),
    cs_RB_ActTimeInfo( tsc_RB3, p_RLC_SN3 ),
    cs_RB_ActTimeInfo( tsc_RB4, p_RLC_SN4 ),
    cs_RB_ActTimeInfo( tsc_RB20, p_RLC_SN20 ),
    cs_RB_ActTimeInfo( tsc_RB22, p_RLC_SN22 )
  };
  
  template (value) RB_ActivationTimeInfoList cs_RB_ActTimeInfoListSRBs_21(RLC_SequenceNumber p_RLC_SN1,
                                                                          RLC_SequenceNumber p_RLC_SN2,
                                                                          RLC_SequenceNumber p_RLC_SN3,
                                                                          RLC_SequenceNumber p_RLC_SN4,
                                                                          RLC_SequenceNumber p_RLC_SN21) :=
  {
    cs_RB_ActTimeInfo( tsc_RB1, p_RLC_SN1 ),
    cs_RB_ActTimeInfo( tsc_RB2, p_RLC_SN2 ),
    cs_RB_ActTimeInfo( tsc_RB3, p_RLC_SN3 ),
    cs_RB_ActTimeInfo( tsc_RB4, p_RLC_SN4 ),
    cs_RB_ActTimeInfo( tsc_RB21, p_RLC_SN21 )
  };
  
  template (value) RB_ActivationTimeInfoList cs_RB_ActTimeInfoListSRBs_22(RLC_SequenceNumber p_RLC_SN1,
                                                                          RLC_SequenceNumber p_RLC_SN2,
                                                                          RLC_SequenceNumber p_RLC_SN3,
                                                                          RLC_SequenceNumber p_RLC_SN4,
                                                                          RLC_SequenceNumber p_RLC_SN25) :=
  {
    cs_RB_ActTimeInfo( tsc_RB1, p_RLC_SN1 ),
    cs_RB_ActTimeInfo( tsc_RB2, p_RLC_SN2 ),
    cs_RB_ActTimeInfo( tsc_RB3, p_RLC_SN3 ),
    cs_RB_ActTimeInfo( tsc_RB4, p_RLC_SN4 ),
    cs_RB_ActTimeInfo( tsc_RB22, p_RLC_SN25 )
  };
  
  template (value) RB_ActivationTimeInfoList cs_RB_ActTimeInfoListSRBs_25(RLC_SequenceNumber p_RLC_SN1,
                                                                          RLC_SequenceNumber p_RLC_SN2,
                                                                          RLC_SequenceNumber p_RLC_SN3,
                                                                          RLC_SequenceNumber p_RLC_SN4,
                                                                          RLC_SequenceNumber p_RLC_SN25) :=
  {
    cs_RB_ActTimeInfo( tsc_RB1, p_RLC_SN1 ),
    cs_RB_ActTimeInfo( tsc_RB2, p_RLC_SN2 ),
    cs_RB_ActTimeInfo( tsc_RB3, p_RLC_SN3 ),
    cs_RB_ActTimeInfo( tsc_RB4, p_RLC_SN4 ),
    cs_RB_ActTimeInfo( tsc_RB25, p_RLC_SN25 )
  };
  
  template (value) RB_ActivationTimeInfoList cs_RB_ActTimeInfoListSRBs_25_17(RLC_SequenceNumber p_RLC_SN1,
                                                                             RLC_SequenceNumber p_RLC_SN2,
                                                                             RLC_SequenceNumber p_RLC_SN3,
                                                                             RLC_SequenceNumber p_RLC_SN4,
                                                                             RLC_SequenceNumber p_RLC_SN25,
                                                                             RLC_SequenceNumber p_RLC_SN17) :=
  {
    cs_RB_ActTimeInfo( tsc_RB1, p_RLC_SN1 ),
    cs_RB_ActTimeInfo( tsc_RB2, p_RLC_SN2 ),
    cs_RB_ActTimeInfo( tsc_RB3, p_RLC_SN3 ),
    cs_RB_ActTimeInfo( tsc_RB4, p_RLC_SN4 ),
    cs_RB_ActTimeInfo( tsc_RB25, p_RLC_SN25 ),
    cs_RB_ActTimeInfo( tsc_RB17, p_RLC_SN17 )
  };
  
  template (value) RB_ActivationTimeInfo cs_RB_ActTimeInfo(integer p_RB_Id,
                                                           RLC_SequenceNumber p_N) :=
  {
    rb_Identity := p_RB_Id,
    rlc_SequenceNumber := p_N
  };
  
  template (value) IntegrityProtActivationInfoList cs_RestRB_IntegrityProtActivationInfoList(RRC_MessageSequenceNumber p_SN0,
                                                                                             RRC_MessageSequenceNumber p_SN1,
                                                                                             RRC_MessageSequenceNumber p_SN3,
                                                                                             RRC_MessageSequenceNumber p_SN4) :=
  {
    {
      rb_Identity := tsc_RB0,
      rrc_MessageSequenceNumber := p_SN0
    },
    {
      rb_Identity := tsc_RB1,
      rrc_MessageSequenceNumber := p_SN1
    },
    {
      rb_Identity := tsc_RB3,
      rrc_MessageSequenceNumber := p_SN3
    },
    {
      rb_Identity := tsc_RB4,
      rrc_MessageSequenceNumber := p_SN4
    }
  };
  
  template (value) IntegrityProtActivationInfoList cs_RB2_IntegrityProtActivationInfoList(RRC_MessageSequenceNumber p_RRCSN) :=
  {
    {
    rb_Identity := tsc_RB2,
    rrc_MessageSequenceNumber := p_RRCSN
    }
  };
  
  template (value) IntegrityProtectionModeInfo_r7 cs_IntegrityProtectModify_P(RRC_MessageSequenceNumber p_P1,
                                                                              RRC_MessageSequenceNumber p_P2,
                                                                              RRC_MessageSequenceNumber p_P3,
                                                                              RRC_MessageSequenceNumber p_P4,
                                                                              RRC_MessageSequenceNumber p_P5,
                                                                              IntegrityProtectionAlgorithm_r7 p_IntegrityAlg) :=
  {
    integrityProtectionModeCommand := {
      modify := {
        dl_IntegrityProtActivationInfo := {
          rrc_MessageSequenceNumberList := {
            p_P1,
            p_P2,
            p_P3,
            p_P4,
            p_P5
          }     // fixed reasonnable value
        }
      }
    },
    integrityProtectionAlgorithm := p_IntegrityAlg
  };
  
  template (value) CipheringModeCommand_r7 cs_CipheringModeCmdOn(CipheringAlgorithm_r7 p_CipheringAlgorithm) :=
  {
    startRestart := p_CipheringAlgorithm
  };
  
  template (value) IntegrityCheckInfo cs_IntegrityCheckInfo0 :=
  {
    messageAuthenticationCode := '00000000000000000000000000000000'B,
    rrc_MessageSequenceNumber := 0
  };
  
  template (value) U_CPHY_CONFIG_REQ cas_GetFrameNum(UTRAN_CellId_Type p_CellId,
                                                         PhysicalChannelIdentity p_PhysicalChannelIdentity) :=
  {
    frameNo := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhysicalChannelIdentity
      }
    }
  };

  template U_CPHY_CONFIG_CNF car_GetFrameNum(UTRAN_CellId_Type p_CellId,
                                                 PhysicalChannelIdentity p_PhysicalChannelIdentity) :=
  {
    frameNo := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhysicalChannelIdentity
      },
      frameNumber := ?
    }
  };
  
  template RLC_TR_DATA_IND car_RRC_ConnReq(template (present) UTRAN_CellId_Type p_CellId,
                                           template (present) integer p_RB_Id,
                                           template (present) UL_CCCH_Message p_Pdu) :=
  {
    cellId := p_CellId,
    routingInfo := {
      rB_Identity := p_RB_Id
    },
    tM_message := {
      uL_CCCH_Message := p_Pdu
    }
  };
  
  template UL_CCCH_Message cr_108_RRC_ConnReq_r6(template (present) EstablishmentCause p_EstCause) :=
  {
    integrityCheckInfo := omit,
    message_ := {
      rrcConnectionRequest := {
        initialUE_Identity := ({imsi := ?}, {tmsi_and_LAI := ?}, {p_TMSI_and_RAI := ?}, {imei := ?}),
        establishmentCause := p_EstCause,
        protocolErrorIndicator := noError,
        measuredResultsOnRACH := *,
        v3d0NonCriticalExtensions := {
          rRCConnectionRequest_v3d0ext := ?,
          v4b0NonCriticalExtensions := {
            rrcConnectionRequest_v4b0ext := {
              accessStratumReleaseIndicator := rel_6
            },
            v590NonCriticalExtensions := *
          }
        }
      }
    }
  };
  
  template UL_CCCH_Message cdr_RRC_ConnReq_r8OrLater(template (present) EstablishmentCause               p_EstCause,
                                                     template (present) RRCConnectionRequest_v860ext_IEs p_RRCConnectionRequest_v860ext_IEs := ?)
  modifies cr_108_RRC_ConnReq_r6 :=
  {
    message_ := {
      rrcConnectionRequest := {
        v3d0NonCriticalExtensions := {
          v4b0NonCriticalExtensions := {
            rrcConnectionRequest_v4b0ext := {
              accessStratumReleaseIndicator := ?
            },
            v590NonCriticalExtensions :=           {
              rrcConnectionRequest_v590ext := ?,
              v690NonCriticalExtensions := {
                rrcConnectionRequest_v690ext := ?,
                v6b0NonCriticalExtensions := {
                  rrcConnectionRequest_v6b0ext := ?,
                  v6e0NonCriticalExtensions := {
                    rrcConnectionRequest_v6e0ext := {
                      supportForFDPCH := true_
                    },
                    v770NonCriticalExtensions := {
                      rrcConnectionRequest_v770ext := ?,
                      v7b0NonCriticalExtensions := {
                        rrcConnectionRequest_v7b0ext := ?,
                        v860NonCriticalExtensions := {
                          rrcConnectionRequest_v860ext := p_RRCConnectionRequest_v860ext_IEs,
                          v7e0NonCriticalExtensions := {
                            rrcConnectionRequest_v7e0ext := ?,  /* @sic R5s100135 sic@ */
                            nonCriticalExtensions := *
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  };

  template RRCConnectionRequest_v860ext_IEs cr_RRCConnReq_v860ext ( template (present) boolean p_SupportEUTRA_FDD := ?,
                                                                    template (present) boolean p_SupportEUTRA_TDD := ? ) := {
    supportOfCommonEDCH   := *,
    multiCellSupport      := *,
    pre_redirectionInfo   := {
      supportEUTRA_FDD := p_SupportEUTRA_FDD,
      supportEUTRA_TDD := p_SupportEUTRA_TDD
    },
    supportOfMACiis       := *,
    supportOfSPSOperation := true_
  }
  
  template UL_CCCH_Message cr_RRC_RrcConnReqAny :=
  {
    integrityCheckInfo := omit,
    message_ := {
      rrcConnectionRequest := {
        initialUE_Identity := ?,
        establishmentCause := ?,
        protocolErrorIndicator := noError,
        measuredResultsOnRACH := *,
        v3d0NonCriticalExtensions := *
      }
    }
  };
  
  template (value) DL_CCCH_Message cs_108_RRC_ConnSetupFACH_r8_FDD(InitialUE_Identity p_InitUEId,
                                                                   RRC_TransactionIdentifier p_RRC_Ti,
                                                                   U_RNTI p_U_RNTI_New,
                                                                   C_RNTI p_CRNTI_New) :=
  {
    integrityCheckInfo := omit,
    message_ := {
      rrcConnectionSetup := {
        later_than_r3 := {
          initialUE_Identity := p_InitUEId,
          rrc_TransactionIdentifier := p_RRC_Ti,
          criticalExtensions := {
            criticalExtensions := {
              criticalExtensions := {
                criticalExtensions := {
                  criticalExtensions := {
                    r8 := {
                      rrcConnectionSetup_r8 := {
                        activationTime := omit,
                        new_U_RNTI := p_U_RNTI_New,
                        new_c_RNTI := p_CRNTI_New,
                        new_H_RNTI := omit,
                        newPrimary_E_RNTI := omit,
                        newSecondary_E_RNTI := omit,
                        rrc_StateIndicator := cell_FACH,
                        utran_DRX_CycleLengthCoeff := {
                          drx_CycleLengthCoefficient := 9,
                          drx_CycleLengthCoefficient2 := omit,
                          timeForDRXCycle2 := omit
                        },
                        capabilityUpdateRequirement := {
                          ue_RadioCapabilityFDDUpdateRequirement_FDD := true,
                          ue_RadioCapabilityTDDUpdateRequirement_TDD384 := false,
                          ue_RadioCapabilityTDDUpdateRequirement_TDD768 := false,
                          ue_RadioCapabilityTDDUpdateRequirement_TDD128 := false,
                          systemSpecificCapUpdateReqList := {
                            gsm
                          }
                        },
                        supportForChangeOfUE_Capability := false,
                        defaultConfigForCellFACH := omit,
                        specificationMode := {
                          complete := {
                            srb_InformationSetupList := {
                              cs_SRB_InfoSetupUM_FACH_r8(omit, tsc_UL_DCCH1, 1, 1, tsc_DL_DCCH1),
                              cs_SRB_InfoSetupAM_FACH_r8(omit,tsc_UL_DCCH2, 2, 2, tsc_DL_DCCH2),
                              cs_SRB_InfoSetupAM_FACH_r8(omit, tsc_UL_DCCH3, 3, 3, tsc_DL_DCCH3),
                              cs_SRB_InfoSetupAM_FACH_r8(omit, tsc_UL_DCCH4, 4, 4, tsc_DL_DCCH4)
                            },
                            ul_CommonTransChInfo := cs_UL_CommTrChInfoDCCH_13_6k_r4_FDD,
                            ul_AddReconfTransChInfoList := cs_UL_AddReconfTransChInfoListDCCH_3_4k_r8,
                            dl_CommonTransChInfo := cs_DL_CommonTransChInfoSameAsUL_r4_FDD,
                            dl_AddReconfTransChInfoList := cs_DL_AddReconfTransChInfoListDCCH_SRB_r7
                          }
                        },
                        frequencyInfo := omit,
                        multi_frequencyInfo := omit,
                        dtx_drx_TimingInfo := omit,
                        dtx_drx_Info := omit,
                        hs_scch_LessInfo := omit,
                        maxAllowedUL_TX_Power := omit,
                        ul_DPCH_Info := omit,
                        ul_EDCH_Information := omit,
                        dl_HSPDSCH_Information := omit,
                        dl_CommonInformation := omit,
                        dl_InformationPerRL_List := omit,
                        dl_SecondaryCellInfoFDD := omit,
                        sps_Information_TDD128 := omit
                      },
                      rrcConnectionSetup_r8_add_ext := omit,
                      v7d0NonCriticalExtensions := omit                     /* @sic R5s100135 sic@ */
/*                       v7d0NonCriticalExtensions  := {  */
/*                         rrcConnectionSetup_v7d0ext := { */
/*                           ul_EDCH_Information := omit                    /\* @sic R5s100135 sic@ *\/ */
/*                         }, */
/*                         v890NonCriticalExtensions := { */
/*                           rrcConnectionSetup_v890ext := { */
/*                             dl_SecondaryCellInfoFDD_v890ext := omit,     /\* @sic R5s100135 sic@ *\/ */
/*                             dl_HSPDSCH_Information := omit               /\* @sic R5s100135 sic@ *\/ */
/*                           }, */
/*                           nonCriticalExtensions := omit */
/*                         } */
/*                       } */
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  };
  
  template (value) DL_CCCH_Message cs_108_RRC_ConnSetupFACH_r8_TDD(InitialUE_Identity p_InitUEId,
                                                                   RRC_TransactionIdentifier p_RRC_Ti,
                                                                   U_RNTI p_U_RNTI_New,
                                                                   C_RNTI p_CRNTI_New) :=
  {
    integrityCheckInfo := omit,
    message_ := {
      rrcConnectionSetup := {
        later_than_r3 := {
          initialUE_Identity := p_InitUEId,
          rrc_TransactionIdentifier := p_RRC_Ti,
          criticalExtensions := {
            criticalExtensions := {
              criticalExtensions := {
                criticalExtensions := {
                  criticalExtensions := {
                    r8 := {
                      rrcConnectionSetup_r8 := {
                        activationTime := omit,
                        new_U_RNTI := p_U_RNTI_New,
                        new_c_RNTI := p_CRNTI_New,
                        new_H_RNTI := omit,
                        newPrimary_E_RNTI := omit,
                        newSecondary_E_RNTI := omit,
                        rrc_StateIndicator := cell_FACH,
                        utran_DRX_CycleLengthCoeff := {
                          drx_CycleLengthCoefficient := 9,
                          drx_CycleLengthCoefficient2 := omit,
                          timeForDRXCycle2 := omit
                        },
                        capabilityUpdateRequirement := {
                          ue_RadioCapabilityFDDUpdateRequirement_FDD := false,
                          ue_RadioCapabilityTDDUpdateRequirement_TDD384 := false,
                          ue_RadioCapabilityTDDUpdateRequirement_TDD768 := false,
                          ue_RadioCapabilityTDDUpdateRequirement_TDD128 := true,
                          systemSpecificCapUpdateReqList := {
                            gsm
                          }
                        },
                        supportForChangeOfUE_Capability := false,
                        defaultConfigForCellFACH := omit,
                        specificationMode := {
                          complete := {
                            srb_InformationSetupList := {
                              cs_SRB_InfoSetupUM_FACH_r8(omit, tsc_UL_DCCH1, 1, 1, tsc_DL_DCCH1),
                              cs_SRB_InfoSetupAM_FACH_r8(omit,tsc_UL_DCCH2, 2, 2, tsc_DL_DCCH2),
                              cs_SRB_InfoSetupAM_FACH_r8(omit, tsc_UL_DCCH3, 3, 3, tsc_DL_DCCH3),
                              cs_SRB_InfoSetupAM_FACH_r8(omit, tsc_UL_DCCH4, 4, 4, tsc_DL_DCCH4)
                            },
                            ul_CommonTransChInfo := cs_UL_CommTrChInfoDCCH_13_6k_r4_TDD,
                            ul_AddReconfTransChInfoList := cs_UL_AddReconfTransChInfoListDCCH_3_4k_r8,
                            dl_CommonTransChInfo := cs_DL_CommonTransChInfoSameAsUL_r4_TDD,
                            dl_AddReconfTransChInfoList := cs_DL_AddReconfTransChInfoListDCCH_SRB_r7
                          }
                        },
                        frequencyInfo := omit,
                        multi_frequencyInfo := omit,
                        dtx_drx_TimingInfo := omit,
                        dtx_drx_Info := omit,
                        hs_scch_LessInfo := omit,
                        maxAllowedUL_TX_Power := omit,
                        ul_DPCH_Info := omit,
                        ul_EDCH_Information := omit,
                        dl_HSPDSCH_Information := omit,
                        dl_CommonInformation := omit,
                        dl_InformationPerRL_List := omit,
                        dl_SecondaryCellInfoFDD := omit,
                        sps_Information_TDD128 := omit
                      },
                      rrcConnectionSetup_r8_add_ext := omit,
                      v7d0NonCriticalExtensions := omit                     /* @sic R5s100135 sic@ */
/*                       v7d0NonCriticalExtensions  := {  */
/*                         rrcConnectionSetup_v7d0ext := { */
/*                           ul_EDCH_Information := omit                    /\* @sic R5s100135 sic@ *\/ */
/*                         }, */
/*                         v890NonCriticalExtensions := { */
/*                           rrcConnectionSetup_v890ext := { */
/*                             dl_SecondaryCellInfoFDD_v890ext := omit,     /\* @sic R5s100135 sic@ *\/ */
/*                             dl_HSPDSCH_Information := omit               /\* @sic R5s100135 sic@ *\/ */
/*                           }, */
/*                           nonCriticalExtensions := omit */
/*                         } */
/*                       } */
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  };
  
  template (value) DL_CCCH_Message cs_108_RRC_ConnSetupDCH_r8_FDD(InitialUE_Identity p_InitUEId,
                                                                  RRC_TransactionIdentifier p_RRC_Ti,
                                                                  PrimaryScramblingCode p_PrmbScrmCode,
                                                                  U_RNTI p_U_RNTI_New,
                                                                  UL_ScramblingCode p_UL_ScramblingCode) :=
  {
    integrityCheckInfo := omit,
    message_ := {
      rrcConnectionSetup := {
        later_than_r3 := {
          initialUE_Identity := p_InitUEId,
          rrc_TransactionIdentifier := p_RRC_Ti,
          criticalExtensions := {
            criticalExtensions := {
              criticalExtensions := {
                criticalExtensions := {
                  criticalExtensions := {
                    r8 := {
                      rrcConnectionSetup_r8 := {
                        activationTime := omit,
                        new_U_RNTI := p_U_RNTI_New,
                        new_c_RNTI := omit,
                        new_H_RNTI := omit,
                        newPrimary_E_RNTI := omit,
                        newSecondary_E_RNTI := omit,
                        rrc_StateIndicator := cell_DCH,
                        utran_DRX_CycleLengthCoeff := {
                          drx_CycleLengthCoefficient := 9,
                          drx_CycleLengthCoefficient2 := omit,
                          timeForDRXCycle2 := omit
                        },
                        capabilityUpdateRequirement := {
                          ue_RadioCapabilityFDDUpdateRequirement_FDD := true,
                          ue_RadioCapabilityTDDUpdateRequirement_TDD384 := false,
                          ue_RadioCapabilityTDDUpdateRequirement_TDD768 := false,
                          ue_RadioCapabilityTDDUpdateRequirement_TDD128 := false,
                          systemSpecificCapUpdateReqList := {
                            gsm
                          }
                        },
                        supportForChangeOfUE_Capability := false,
                        defaultConfigForCellFACH := omit,
                        specificationMode := {
                          complete := {
                            srb_InformationSetupList := {
                              cs_SRB_InfoSetupUM_DCH_r8( tsc_UL_DCCH1, 1, 1, tsc_DL_DCCH1),
                              cs_SRB_InfoSetupAM_DCH_r8( tsc_UL_DCCH2, 2, 2, tsc_DL_DCCH2),
                              cs_SRB_InfoSetupAM_DCH_r8( tsc_UL_DCCH3, 3, 3, tsc_DL_DCCH3),
                              cs_SRB_InfoSetupAM_DCH_r8( tsc_UL_DCCH4, 4, 4, tsc_DL_DCCH4)
                            },
                            ul_CommonTransChInfo := cs_UL_CommTrChInfoDCCH_13_6k_r4_FDD,
                            ul_AddReconfTransChInfoList := cs_UL_AddReconfTransChInfoListDCCH_13_6k_r8,
                            dl_CommonTransChInfo := cs_DL_CommonTransChInfoSameAsUL_r4_FDD,
                            dl_AddReconfTransChInfoList := cs_DL_AddReconfTransChInfoListDCCH_SRB_r7
                          }
                        },
                        frequencyInfo := omit,
                        multi_frequencyInfo := omit,
                        dtx_drx_TimingInfo := omit,
                        dtx_drx_Info := omit,
                        hs_scch_LessInfo := omit,
                        maxAllowedUL_TX_Power := omit,
                        ul_DPCH_Info := cs_UL_DPCH_13_6_StandAlone_FDD(p_UL_ScramblingCode),
                        ul_EDCH_Information := omit,
                        dl_HSPDSCH_Information := omit,
                        dl_CommonInformation := cs_DL_CommonInfoDCH_SRB_FDD(tsc_DL_DPCH1_SFP_SRB, fixed, false),
                        dl_InformationPerRL_List := cs_DL_InfoPerRL_DPCH_Offset_r8(p_PrmbScrmCode, tsc_DL_DPCH1_2ndScrC, tsc_DL_DPCH1_ChC_SRB),
                        dl_SecondaryCellInfoFDD := omit,
                        sps_Information_TDD128 := omit
                      },
                      rrcConnectionSetup_r8_add_ext := omit,
                      v7d0NonCriticalExtensions := omit                     /* @sic R5s100135 sic@ */
/*                       v7d0NonCriticalExtensions  := {  */
/*                         rrcConnectionSetup_v7d0ext := { */
/*                           ul_EDCH_Information := omit                    /\* @sic R5s100135 sic@ *\/ */
/*                         }, */
/*                         v890NonCriticalExtensions := { */
/*                           rrcConnectionSetup_v890ext := { */
/*                             dl_SecondaryCellInfoFDD_v890ext := omit,     /\* @sic R5s100135 sic@ *\/ */
/*                             dl_HSPDSCH_Information := omit               /\* @sic R5s100135 sic@ *\/ */
/*                           }, */
/*                           nonCriticalExtensions := omit */
/*                         } */
/*                       } */
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  };
  
  template (value) DL_CCCH_Message cs_108_RRC_ConnSetupDCH_r8_TDD(InitialUE_Identity p_InitUEId,
                                                                  RRC_TransactionIdentifier p_RRC_Ti,
                                                                  U_RNTI p_U_RNTI_New,
                                                                  CellParametersID p_CellParametersID) :=
  {
    integrityCheckInfo := omit,
    message_ := {
      rrcConnectionSetup := {
        later_than_r3 := {
          initialUE_Identity := p_InitUEId,
          rrc_TransactionIdentifier := p_RRC_Ti,
          criticalExtensions := {
            criticalExtensions := {
              criticalExtensions := {
                criticalExtensions := {
                  criticalExtensions := {
                    r8 := {
                      rrcConnectionSetup_r8 := {
                        activationTime := omit,
                        new_U_RNTI := p_U_RNTI_New,
                        new_c_RNTI := omit,
                        new_H_RNTI := omit,
                        newPrimary_E_RNTI := omit,
                        newSecondary_E_RNTI := omit,
                        rrc_StateIndicator := cell_DCH,
                        utran_DRX_CycleLengthCoeff := {
                          drx_CycleLengthCoefficient := 9,
                          drx_CycleLengthCoefficient2 := omit,
                          timeForDRXCycle2 := omit
                        },
                        capabilityUpdateRequirement := {
                          ue_RadioCapabilityFDDUpdateRequirement_FDD := false,
                          ue_RadioCapabilityTDDUpdateRequirement_TDD384 := false,
                          ue_RadioCapabilityTDDUpdateRequirement_TDD768 := false,
                          ue_RadioCapabilityTDDUpdateRequirement_TDD128 := true,
                          systemSpecificCapUpdateReqList := {
                            gsm
                          }
                        },
                        supportForChangeOfUE_Capability := false,
                        defaultConfigForCellFACH := omit,
                        specificationMode := {
                          complete := {
                            srb_InformationSetupList := {
                              cs_SRB_InfoSetupUM_DCH_r8( tsc_UL_DCCH1, 1, 1, tsc_DL_DCCH1),
                              cs_SRB_InfoSetupAM_DCH_r8( tsc_UL_DCCH2, 2, 2, tsc_DL_DCCH2),
                              cs_SRB_InfoSetupAM_DCH_r8( tsc_UL_DCCH3, 3, 3, tsc_DL_DCCH3),
                              cs_SRB_InfoSetupAM_DCH_r8( tsc_UL_DCCH4, 4, 4, tsc_DL_DCCH4)
                            },
                            ul_CommonTransChInfo := cs_UL_CommTrChInfoDCCH_13_6k_r4_TDD,
                            ul_AddReconfTransChInfoList := cs_UL_AddReconfTransChInfoListDCCH_13_6k_r8,
                            dl_CommonTransChInfo := cs_DL_CommonTransChInfoSameAsUL_r4_TDD,
                            dl_AddReconfTransChInfoList := cs_DL_AddReconfTransChInfoListDCCH_SRB_r7
                          }
                        },
                        frequencyInfo := omit,
                        multi_frequencyInfo := omit,
                        dtx_drx_TimingInfo := omit,
                        dtx_drx_Info := omit,
                        hs_scch_LessInfo := omit,
                        maxAllowedUL_TX_Power := omit,
                        ul_DPCH_Info := cs_UL_DPCH_13_6_StandAlone_TDD,
                        ul_EDCH_Information := omit,
                        dl_HSPDSCH_Information := omit,
                        dl_CommonInformation := cs_DL_CommonInfoDCH_SRB_TDD,
                        dl_InformationPerRL_List := cs_DL_InformationPerRL_r8_TDD ( p_CellParametersID, cs_DL_DPCH_InfoPerRL_SRB_TDD ),
                        dl_SecondaryCellInfoFDD := omit,
                        sps_Information_TDD128 := omit
                      },
                      rrcConnectionSetup_r8_add_ext := omit,
                      v7d0NonCriticalExtensions := omit                     /* @sic R5s100135 sic@ */
/*                       v7d0NonCriticalExtensions  := {  */
/*                         rrcConnectionSetup_v7d0ext := { */
/*                           ul_EDCH_Information := omit                    /\* @sic R5s100135 sic@ *\/ */
/*                         }, */
/*                         v890NonCriticalExtensions := { */
/*                           rrcConnectionSetup_v890ext := { */
/*                             dl_SecondaryCellInfoFDD_v890ext := omit,     /\* @sic R5s100135 sic@ *\/ */
/*                             dl_HSPDSCH_Information := omit               /\* @sic R5s100135 sic@ *\/ */
/*                           }, */
/*                           nonCriticalExtensions := omit */
/*                         } */
/*                       } */
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  };
  
  template (value) DL_CCCH_Message cs_108_RRC_ConnRelCCCH_r5(template (value) U_RNTI p_U_rnti,
                                                             RRC_TransactionIdentifier p_RRC_Ti) :=
  {
    integrityCheckInfo := omit,
    message_ := {
      rrcConnectionRelease := {
        later_than_r3 := {
          u_RNTI := p_U_rnti,
          rrc_TransactionIdentifier := p_RRC_Ti,
          criticalExtensions := {
            criticalExtensions := {
              groupIdentity := omit,     // ??
              criticalExtensions := {
                r5 := {
                  rrcConnectionRelease_CCCH_r5 := {
                    rrcConnectionRelease := {
                      n_308 := omit,
                      releaseCause := normalEvent,
                      rplmn_information := omit
                    }
                  },
                  rrcConnectionRelease_CCCH_r5_add_ext := omit, // ??
                  v690NonCriticalExtensions := omit
                }
              }
            }
          }
        }
      }
    }
  };
  
  template (value) DL_DCCH_Message cs_108_RRC_ConnRelDCCH_r4(IntegrityCheckInfo p_IntegrityCheckInfo,
                                                             RRC_TransactionIdentifier p_RRC_Ti,
                                                             template (omit) integer p_N308) :=
  {
    integrityCheckInfo := p_IntegrityCheckInfo,
    message_ := {
      rrcConnectionRelease := {
        later_than_r3 := {
          rrc_TransactionIdentifier := p_RRC_Ti,
          criticalExtensions := {
            r4 := {
              rrcConnectionRelease_r4 := {
                n_308 := p_N308,
                releaseCause := normalEvent,
                rplmn_information := omit
              },
              v4d0NonCriticalExtensions := omit
            }
          }
        }
      }
    }
  };
  
  template UL_DCCH_Message cr_108_RRC_ConnRelCmpl(RRC_TransactionIdentifier p_RRC_Ti) :=
  {
    integrityCheckInfo := *,
    message_ := {
      rrcConnectionReleaseComplete := {
        rrc_TransactionIdentifier := p_RRC_Ti,
        errorIndication := *,
        laterNonCriticalExtensions := *
      }
    }
  };
  
  template (value) SRB_InformationSetup_r8 cs_SRB_InfoSetupAM_DCH_r8(LogicalChannelIdentity p_Ul_lgchId,
                                                                     MAC_LogicalChannelPriority p_MAC_lgch_prtDCH,
                                                                     MAC_LogicalChannelPriority p_MAC_lgch_prtRACH,
                                                                     LogicalChannelIdentity p_Dl_lgchId) :=
  {
    rb_Identity := omit,
    rlc_InfoChoice := {
      rlc_Info := {
        ul_RLC_Mode := {
          ul_AM_RLC_Mode := cds_UL_AM_RLC_SRB
        },
        dl_RLC_Mode := {
          dl_AM_RLC_Mode := cds_DL_AM_RLC_SRB_r7
        },
        rlc_OneSidedReEst := false,
        altE_bitInterpretation := omit,
        useSpecialValueOfHEField := omit
      }
    },
    rb_MappingInfo := {
      cs_RB_MappingOptionSRB_DCH_DCH_r8(p_Ul_lgchId, p_MAC_lgch_prtDCH, p_Dl_lgchId),
      cs_RB_MappingOptionSRB_RACH_FACH_r8(p_Ul_lgchId, p_MAC_lgch_prtRACH, p_Dl_lgchId)
    }
  };
  
  template (value) SRB_InformationSetup_r8 cs_SRB_InfoSetupUM_DCH_r8(LogicalChannelIdentity p_Ul_lgchId,
                                                                     MAC_LogicalChannelPriority p_MAC_lgch_prtDCH,
                                                                     MAC_LogicalChannelPriority p_MAC_lgch_prtRACH,
                                                                     LogicalChannelIdentity p_Dl_lgchId) :=
  {
    rb_Identity := omit,
    rlc_InfoChoice := {
      rlc_Info := {
        ul_RLC_Mode := {
          ul_UM_RLC_Mode := {
            transmissionRLC_Discard := omit
          }
        },
        dl_RLC_Mode := {
          dl_UM_RLC_Mode := {
            dl_UM_RLC_LI_size := size7,
            dl_Reception_Window_Size := size32
          }
        },
        rlc_OneSidedReEst := false,
        altE_bitInterpretation := omit,
        useSpecialValueOfHEField := omit
      }
    },
    rb_MappingInfo := {
      cs_RB_MappingOptionSRB_DCH_DCH_r8( p_Ul_lgchId, p_MAC_lgch_prtDCH, p_Dl_lgchId),
      cs_RB_MappingOptionSRB_RACH_FACH_r8( p_Ul_lgchId, p_MAC_lgch_prtRACH, p_Dl_lgchId)
    }
  };
  
  template (value) SRB_InformationSetup_r8 cs_SRB_InfoSetupAM_FACH_r8(template (omit) RB_Identity p_RB_Id,
                                                                      LogicalChannelIdentity p_Ul_lgchId,
                                                                      MAC_LogicalChannelPriority p_MAC_lgch_prtDCH,
                                                                      MAC_LogicalChannelPriority p_MAC_lgch_prt,
                                                                      LogicalChannelIdentity p_Dl_lgchId) :=
  {
    rb_Identity := p_RB_Id,
    rlc_InfoChoice := {
      rlc_Info := {
        ul_RLC_Mode := {
          ul_AM_RLC_Mode := cds_UL_AM_RLC_SRB
        },
        dl_RLC_Mode := {
          dl_AM_RLC_Mode := cds_DL_AM_RLC_SRB_r7
        },
        rlc_OneSidedReEst := false,
        altE_bitInterpretation := omit,
        useSpecialValueOfHEField := omit
      }
    },
    rb_MappingInfo := {
      {
        ul_LogicalChannelMappings := {
          oneLogicalChannel := {
            ul_TrCH_Type := {
              dch_rach_usch := {
                ul_TransportChannelType := {
                  rach := NULL
                },
                logicalChannelIdentity := p_Ul_lgchId,
                rlc_SizeList := {
                  explicitList := {
                    {
                      rlc_SizeIndex := 1
                    }
                  }
                }
              }
            },
            mac_LogicalChannelPriority := p_MAC_lgch_prt
          }
        },
        dl_LogicalChannelMappingList := {
          {
            dl_TransportChannelType := {
              fach := NULL
            },
            logicalChannelIdentity := p_Dl_lgchId
          }
        }
      },
      {
        ul_LogicalChannelMappings := {
          oneLogicalChannel := {
            ul_TrCH_Type := {
              dch_rach_usch := {
                ul_TransportChannelType := {
                  dch := tsc_UL_DCH5
                },
                logicalChannelIdentity := p_Ul_lgchId,
                rlc_SizeList := {
                  configured := NULL
                }
              }
            },
            mac_LogicalChannelPriority := p_MAC_lgch_prtDCH
          }
        },
        dl_LogicalChannelMappingList := {
          {
            dl_TransportChannelType := {
              dch := tsc_DL_DCH5
            },
            logicalChannelIdentity := p_Dl_lgchId
          }
        }
      }
    }
  };
  
  template (value) SRB_InformationSetup_r8 cs_SRB_InfoSetupUM_FACH_r8(template (omit) RB_Identity p_RB_Id,
                                                                      LogicalChannelIdentity p_Ul_lgchId,
                                                                      MAC_LogicalChannelPriority p_MAC_lgch_prtDCH,
                                                                      MAC_LogicalChannelPriority p_MAC_lgch_prt,
                                                                      LogicalChannelIdentity p_Dl_lgchId ) :=
  {
    rb_Identity := p_RB_Id,
    rlc_InfoChoice := {
      rlc_Info := {
        ul_RLC_Mode := {
          ul_UM_RLC_Mode := {
            transmissionRLC_Discard := {
              timerBasedNoExplicit := dt50
            }
          }
        },
        dl_RLC_Mode := {
          dl_UM_RLC_Mode := {
            dl_UM_RLC_LI_size := size7,
            dl_Reception_Window_Size := size32
          }
        },
        rlc_OneSidedReEst := false,
        altE_bitInterpretation := omit,
        useSpecialValueOfHEField := omit
      }
    },
    rb_MappingInfo := {
      {
        ul_LogicalChannelMappings := {
          oneLogicalChannel := {
            ul_TrCH_Type := {
              dch_rach_usch := {
                ul_TransportChannelType := {
                  rach := NULL
                },
                logicalChannelIdentity := p_Ul_lgchId,
                rlc_SizeList := {
                  explicitList := {
                    {
                      rlc_SizeIndex := 1
                    }
                  }
                }
              }
            },
            mac_LogicalChannelPriority := p_MAC_lgch_prt
          }
        },
        dl_LogicalChannelMappingList := {
          {
          dl_TransportChannelType := {
            fach := NULL
          },
          logicalChannelIdentity := p_Dl_lgchId
          }
        }
      },
      {
        ul_LogicalChannelMappings := {
          oneLogicalChannel := {
            ul_TrCH_Type := {
              dch_rach_usch := {
                ul_TransportChannelType := {
                  dch := tsc_UL_DCH5
                },
                logicalChannelIdentity := p_Ul_lgchId,
                rlc_SizeList := {
                  configured := NULL
              }
              }
            },
            mac_LogicalChannelPriority := p_MAC_lgch_prtDCH
          }
        },
        dl_LogicalChannelMappingList := {
          {
            dl_TransportChannelType := {
              dch := tsc_DL_DCH5
            },
            logicalChannelIdentity := p_Dl_lgchId
          }
        }
      }
    }
  };
  
  template UL_DCCH_Message cr_108_RRC_ConnSetupCmpl ( template (present) RRC_TransactionIdentifier p_RRC_Ti,
                                                      template (present) STARTList p_STARTList) :=
  {
    integrityCheckInfo := omit,
    message_ := {
      rrcConnectionSetupComplete := {
        rrc_TransactionIdentifier := p_RRC_Ti,
        startList := p_STARTList,
        ue_RadioAccessCapability := *,
        ue_RATSpecificCapability := *,
        v370NonCriticalExtensions := *
      }
    }
  };
  
  template (value) RLC_UM_DATA_REQ cas_RRC_ConnSetup ( UTRAN_CellId_Type p_CellId,
                                                       integer p_RB_Id,
                                                       template (value) DL_CCCH_Message p_Pdu ) :=
  {
    cellId := p_CellId,
    routingInfo := {
      rB_Identity := p_RB_Id
    },
    uM_message := {
      dL_CCCH_Message := p_Pdu
    },
    specialLI := true
  };
  
  template (value) RLC_UM_DATA_REQ cas_RRC_ConnRelDCCH(UTRAN_CellId_Type p_CellId,
                                                       integer p_RB_Id,
                                                       template (value) DL_DCCH_Message p_Pdu) :=
  {
    cellId := p_CellId,
    routingInfo := {
      rB_Identity := p_RB_Id
    },
    uM_message := {
      dL_DCCH_Message := p_Pdu
    },
    specialLI := false
  };
  
  template (value) RLC_UM_DATA_REQ cas_RRC_ConnRelCCCH(UTRAN_CellId_Type p_CellId,
                                                       integer p_RB_Id,
                                                       template (value) DL_CCCH_Message p_Pdu) :=
  {
    cellId := p_CellId,
    routingInfo := {
      rB_Identity := p_RB_Id
    },
    uM_message := {
      dL_CCCH_Message := p_Pdu
    },
    specialLI := true
  };
  
  template RLC_UM_DATA_IND car_RRC_ConnRelCmplUM(template (present) UTRAN_CellId_Type p_CellId,
                                                 template (present) integer p_RB_Id,
                                                 template (present) UL_DCCH_Message p_Pdu) :=
  {
    cellId := p_CellId,
    routingInfo := {
      rB_Identity := p_RB_Id
    },
    integrityResult := ?,
    uM_message := {
      uL_DCCH_Message := p_Pdu
    }
  };
  
  template (value) DL_AM_RLC_Mode_r7 cds_DL_AM_RLC_SRB_r7 modifies cs_DL_AM_RLC_r7 :=
  {
    receivingWindowSize :=   rw32
  };
  
  template (value) DL_AM_RLC_Mode_r7 cs_DL_AM_RLC_r7 :=
  {
    dl_RLC_PDU_size := {
      fixedSize := cs_OctetModeRLC_Size144
    },
    inSequenceDelivery := true,
    receivingWindowSize := rw128,
    dl_RLC_StatusInfo := {
      timerStatusProhibit := tsp200,
      // timerEPC OMIT
      dummy := omit,
      missingPDU_Indicator := true,
      timerStatusPeriodic := omit
    }
  };

  template (value) UL_AddReconfTransChInfoList_r8 cs_UL_AddReconfTransChInfoListDCCH_3_4k_r8 :=
  {
    {
      dch_usch := {
        ul_TransportChannelType := dch,
        transportChannelIdentity := tsc_UL_DCH5,
        transportFormatSet := {
          dedicatedTransChTFS := cs_DCH_148_TFS_UE_UL
        }
      }
    }
  };
  
  template (value) DL_AddReconfTransChInformation_r7 cs_DL_AddReconfTransChInfo_r7(TransportChannelIdentity p_DlTrChId,
                                                                                   TransportChannelIdentity p_UlTrChId) :=
  {
    dl_TransportChannelType := {
      dch := p_DlTrChId
    },
    tfs_SignallingMode := {
      sameAsULTrCH := {
        ul_TransportChannelType := dch,
        ul_TransportChannelIdentity := p_UlTrChId
      }
    },
    dch_QualityTarget := omit
  };
  
  template (value) DL_AddReconfTransChInfoList_r7 cs_DL_AddReconfTransChInfoListDCCH_SRB_r7 :=
  {
    cs_DL_AddReconfTransChInfo_r7(tsc_DL_DCH5,tsc_UL_DCH5)
  };
  
  // =============================================================================
  // transport format set for signalling bearer on dedicated channel used in message sent to UE
  // TS 34.108  cl. 6.10.2.4.1.2:
  // TTI = 40 ms;
  // two transport formats:
  // TransportBlocks = 1, TB size = 148 bits; TansportBlock = 0, Size = 148.
  // rlc_Size = RLC PDU size = TB_Size -4 =144 bits.( DCH, w/ MUX)
  // coding = convolutional;
  // coding rate = 1/3;
  // CRCsize = 16;
  // RateMatching = 170
  // -----------------------------------------------------------------------------
  template (value) DedicatedTransChTFS cs_DCH_148_TFS_UE_UL :=
  {
    tti := {
      tti40 := {
        {
          rlc_Size := {
            bitMode := {
              sizeType2 := {
                part1 := 2,
                part2 := omit
              }
            }
          },
          numberOfTbSizeList := {
            { zero := NULL },
            { one := NULL }
          },
          logicalChannelList := {
            allSizes := NULL
          }
        }
      }
    },
    semistaticTF_Information := {
      channelCodingType := {
        convolutional := third
      },
      rateMatchingAttribute := 170,
      crc_Size := crc16
    }
  };
  
  template (value) RB_MappingOption_r8 cs_RB_MappingOptionSRB_DCH_DCH_r8(LogicalChannelIdentity p_LogicalChannelIdUL,
                                                                         MAC_LogicalChannelPriority p_LogicalChannelPriority,
                                                                         LogicalChannelIdentity p_LogicalChannelIdDL) :=
  {
    ul_LogicalChannelMappings := {
      oneLogicalChannel := {
        ul_TrCH_Type := {
          dch_rach_usch := {
            ul_TransportChannelType := {
              dch := tsc_UL_DCH5
            },
            logicalChannelIdentity := p_LogicalChannelIdUL,
            rlc_SizeList := {
              configured := NULL
            }
          }
        },
        mac_LogicalChannelPriority := p_LogicalChannelPriority
      }
    },
    dl_LogicalChannelMappingList := {
      {
        dl_TransportChannelType := {
          dch := tsc_DL_DCH5
        },
        logicalChannelIdentity := p_LogicalChannelIdDL
      }
    }
  };
  
  template (value) RB_MappingOption_r8 cs_RB_MappingOptionSRB_RACH_FACH_r8(LogicalChannelIdentity p_LogicalChannelIdUL,
                                                                           MAC_LogicalChannelPriority p_LogicalChannelPriority,
                                                                           LogicalChannelIdentity p_LogicalChannelIdDL) :=
  {
    ul_LogicalChannelMappings := {
      oneLogicalChannel := {
        ul_TrCH_Type := {
          dch_rach_usch := {
            ul_TransportChannelType := {
              rach := NULL
            },
            logicalChannelIdentity := p_LogicalChannelIdUL,
            rlc_SizeList := {
              explicitList := {
                {
                  rlc_SizeIndex := 1
                }
              }
            }
          }
        },
        mac_LogicalChannelPriority := p_LogicalChannelPriority
      }
    },
    dl_LogicalChannelMappingList := {
      {
        dl_TransportChannelType := {
          fach := NULL
        },
        logicalChannelIdentity := p_LogicalChannelIdDL
      }
    }
  };
  
  template (value) UL_AddReconfTransChInfoList_r8 cs_UL_AddReconfTransChInfoListDCCH_13_6k_r8 :=
  {
    {
      dch_usch := {
        ul_TransportChannelType := dch,
        transportChannelIdentity := tsc_UL_DCH5,
        transportFormatSet := {
          dedicatedTransChTFS := cs_DCH_148_TTI_10_TFS_UE
        }
      }
    }
  };
  
  template (value) DL_InformationPerRL_List_r8 cs_DL_InfoPerRL_DPCH_Offset_r8(PrimaryScramblingCode p_ScrmbCode,
                                                                              SecondaryScramblingCode p_SecScrmbCode,
                                                                              SF512_AndCodeNumber p_Sf) :=
  {
    {
      modeSpecificInfo := {
        fdd := {
          primaryCPICH_Info := {
            primaryScramblingCode := p_ScrmbCode
          },
          servingHSDSCH_RL_indicator := false,
          servingEDCH_RL_indicator := false
        }
      },
      dl_dpchInfo := {
        dl_DPCH_InfoPerRL := cs_DL_DPCH_InfoPerRL_SRB_FDD( p_Sf, p_SecScrmbCode )
      },
      e_AGCH_Information := omit,
      modeSpecificInfo2 := {
        fdd := {
          e_HICH_Info := omit,
          e_RGCH_Info := omit
        }
      },
      cell_id := omit
    }
  };

  template (value) SysInfoType11 cs_SIB11_Def_FDD(integer p_ActiveCellInfo_CellId,
                                                  PrimaryScramblingCode p_ActiveCellInfo_PriScrmCode,
                                                  integer p_IntraCellInfo2_CellId,
                                                  PrimaryScramblingCode p_IntraCellInfo2_PriScrmCode,
                                                  integer p_InterCellInfo3_CellId,
                                                  FrequencyInfo p_InterCellInfo3_FreqInfo,
                                                  PrimaryScramblingCode p_InterCellInfo3_PriScrmCode,
                                                  integer p_InterCellInfo4_CellId,
                                                  FrequencyInfo p_InterCellInfo4_FreqInfo,
                                                  PrimaryScramblingCode p_InterCellInfo4_PriScrmCode) :=
  {
    sib12indicator := true,
    fach_MeasurementOccasionInfo := omit,
    measurementControlSysInfo := {
      use_of_HCS := {
        hcs_not_used := {
          cellSelectQualityMeasure := {
            cpich_RSCP := {
              intraFreqMeasurementSysInfo := {
                intraFreqMeasurementID := omit,     // default value
                intraFreqCellInfoSI_List := {
                  removedIntraFreqCellList := omit,     // removedIntraFreqCellList in SIB11 is not used and ignored by the UE
                  newIntraFreqCellList := {
                    {
                      intraFreqCellID := p_ActiveCellInfo_CellId,
                      cellInfo := {
                        cellIndividualOffset := omit,     // default value
                        referenceTimeDifferenceToCell := omit,
                        modeSpecificInfo := {
                          fdd := {
                            primaryCPICH_Info := {
                              primaryScramblingCode := p_ActiveCellInfo_PriScrmCode
                            },
                            primaryCPICH_TX_Power := omit,
                            readSFN_Indicator := false,
                            tx_DiversityIndicator := false
                          }
                        },
                      cellSelectionReselectionInfo := omit
                      }
                    },
                    {
                      intraFreqCellID := p_IntraCellInfo2_CellId,
                      cellInfo := {
                        cellIndividualOffset := omit,     // default value
                        referenceTimeDifferenceToCell := omit,
                        modeSpecificInfo := {
                          fdd := {
                            primaryCPICH_Info := {
                              primaryScramblingCode := p_IntraCellInfo2_PriScrmCode
                            },
                            primaryCPICH_TX_Power := omit,
                            readSFN_Indicator := true,
                            tx_DiversityIndicator := false
                          }
                        },
                        cellSelectionReselectionInfo := omit     // value same as the serving cell
                      }
                    }
                  }
                },
                intraFreqMeasQuantity := {
                  filterCoefficient := omit,     // default value
                  modeSpecificInfo := {
                    fdd := {
                      intraFreqMeasQuantity_FDD := cpich_RSCP
                    }
                  }
                },
                intraFreqReportingQuantityForRACH := omit,
                maxReportedCellsOnRACH := omit,
                reportingInfoForCellDCH := {
                  intraFreqReportingQuantity := {
                    activeSetReportingQuantities := {
                      dummy := noReport,
                      cellIdentity_reportingIndicator := true,
                      cellSynchronisationInfoReportingIndicator := false,
                      modeSpecificInfo := {
                        fdd := {
                          cpich_Ec_N0_reportingIndicator := false,
                          cpich_RSCP_reportingIndicator := true,
                          pathloss_reportingIndicator := false
                        }
                      }
                    },
                    monitoredSetReportingQuantities := {
                      dummy := noReport,
                      cellIdentity_reportingIndicator := true,
                      cellSynchronisationInfoReportingIndicator := true,
                      modeSpecificInfo := {
                        fdd := {
                          cpich_Ec_N0_reportingIndicator := false,
                          cpich_RSCP_reportingIndicator := true,
                          pathloss_reportingIndicator := false
                        }
                      }
                    },
                    detectedSetReportingQuantities := omit
                  },
                  measurementReportingMode := {
                    measurementReportTransferMode := acknowledgedModeRLC,
                    periodicalOrEventTrigger := eventTrigger
                  },
                  reportCriteria := {
                    intraFreqReportingCriteria := {
                      eventCriteriaList := cs_IntraFreqEvent1b_1c
                    }
                  }
                }
              },
              interFreqMeasurementSysInfo := {
                interFreqCellInfoSI_List := {
                  removedInterFreqCellList := omit,     // removedInterFreqCellList in SIB11 is not used and ignored by the UE
                  newInterFreqCellList := {
                    {
                      interFreqCellID := p_InterCellInfo3_CellId,
                      frequencyInfo := p_InterCellInfo3_FreqInfo,
                      cellInfo := {
                        cellIndividualOffset := omit,     // default value
                        referenceTimeDifferenceToCell := omit,
                        modeSpecificInfo := {
                          fdd := {
                            primaryCPICH_Info := {
                              primaryScramblingCode := p_InterCellInfo3_PriScrmCode
                            },
                            primaryCPICH_TX_Power := omit,
                            readSFN_Indicator := false,
                            tx_DiversityIndicator := false
                          }
                        },
                        cellSelectionReselectionInfo := omit     // value same as the serving cell
                      }
                    },
                    {
                      interFreqCellID := p_InterCellInfo4_CellId,
                      frequencyInfo := p_InterCellInfo4_FreqInfo,
                      cellInfo := {
                        cellIndividualOffset := omit,     // default value
                        referenceTimeDifferenceToCell := omit,
                        modeSpecificInfo := {
                          fdd := {
                            primaryCPICH_Info := {
                              primaryScramblingCode := p_InterCellInfo4_PriScrmCode
                            },
                            primaryCPICH_TX_Power := omit,
                            readSFN_Indicator := false,
                            tx_DiversityIndicator := false
                          }
                        },
                        cellSelectionReselectionInfo := omit     // value same as the serving cell
                      }
                    }
                  }
                }
              }
            }
          },
          interRATMeasurementSysInfo := omit
        }
      },
      trafficVolumeMeasSysInfo := omit,
      dummy := omit
    },
    v4b0NonCriticalExtensions := omit
  };
  
  template (value) SysInfoType11 cds_SIB11_Def_UG_FDD(integer p_ActiveCellInfo_CellId,
                                                      PrimaryScramblingCode p_ActiveCellInfo_PriScrmCode,
                                                      integer p_IntraCellInfo2_CellId,
                                                      PrimaryScramblingCode p_IntraCellInfo2_PriScrmCode,
                                                      integer p_InterCellInfo3_CellId,
                                                      FrequencyInfo p_InterCellInfo3_FreqInfo,
                                                      PrimaryScramblingCode p_InterCellInfo3_PriScrmCode,
                                                      integer p_InterCellInfo4_CellId,
                                                      FrequencyInfo p_InterCellInfo4_FreqInfo,
                                                      PrimaryScramblingCode p_InterCellInfo4_PriScrmCode,
                                                      integer p_GERANCell1_Id,
                                                      integer p_GERANCell1_Ncc,
                                                      integer p_GERANCell1_Bcc,
                                                      Frequency_Band p_GERANCell1_BandInd,
                                                      integer p_GERANCell1_Freq,
                                                      integer p_GERANCell2_Id,
                                                      integer p_GERANCell2_Ncc,
                                                      integer p_GERANCell2_Bcc,
                                                      Frequency_Band p_GERANCell2_BandInd,
                                                      integer p_GERANCell2_Freq,
                                                      integer p_GERANCell3_Id,
                                                      integer p_GERANCell3_Ncc,
                                                      integer p_GERANCell3_Bcc,
                                                      Frequency_Band p_GERANCell3_BandInd,
                                                      integer p_GERANCell3_Freq)
    modifies cs_SIB11_Def_FDD :=
  {
    sib12indicator := false,
    measurementControlSysInfo := {
      use_of_HCS := {
        hcs_not_used := {
          interRATMeasurementSysInfo := {
            interRATCellInfoList := {
              removedInterRATCellList := {
                removeNoInterRATCells := NULL
              },
              newInterRATCellList := {
                {
                  interRATCellID := p_GERANCell1_Id,
                  technologySpecificInfo := {
                    gsm := {
                      cellSelectionReselectionInfo := omit,
                      interRATCellIndividualOffset := 0,
                      bsic := {
                        ncc := p_GERANCell1_Ncc,
                        bcc := p_GERANCell1_Bcc
                      },
                      frequency_band := p_GERANCell1_BandInd,
                      bcch_ARFCN := p_GERANCell1_Freq
                    }
                  }
                },
                {
                  interRATCellID := p_GERANCell2_Id,
                  technologySpecificInfo := {
                    gsm := {
                      cellSelectionReselectionInfo := omit,
                      interRATCellIndividualOffset := 0,
                      bsic := {
                        ncc := p_GERANCell2_Ncc,
                        bcc := p_GERANCell2_Bcc
                      },
                      frequency_band := p_GERANCell2_BandInd,
                      bcch_ARFCN := p_GERANCell2_Freq
                    }
                  }
                },
                {
                  interRATCellID := p_GERANCell3_Id,
                  technologySpecificInfo := {
                    gsm := {
                      cellSelectionReselectionInfo := omit,
                      interRATCellIndividualOffset := 0,
                      bsic := {
                        ncc := p_GERANCell3_Ncc,
                        bcc := p_GERANCell3_Bcc
                      },
                      frequency_band := p_GERANCell3_BandInd,
                      bcch_ARFCN := p_GERANCell3_Freq
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  };
  
  template (value) SysInfoType11 cs_SIB11_Freq2_FDD(integer p_ActiveCellInfo_CellId,
                                                    PrimaryScramblingCode p_ActiveCellInfo_PriScrmCode,
                                                    integer p_InterCellInfo2_CellId,
                                                    FrequencyInfo p_InterCellInfo2_FreqInfo,
                                                    PrimaryScramblingCode p_InterCellInfo2_PriScrmCode,
                                                    integer p_InterCellInfo3_CellId,
                                                    FrequencyInfo p_InterCellInfo3_FreqInfo,
                                                    PrimaryScramblingCode p_InterCellInfo3_PriScrmCode,
                                                    integer p_InterCellInfo4_CellId,
                                                    FrequencyInfo p_InterCellInfo4_FreqInfo,
                                                    PrimaryScramblingCode p_InterCellInfo4_PriScrmCode) :=
  {
    sib12indicator := true,
    fach_MeasurementOccasionInfo := omit,
    measurementControlSysInfo := {
      use_of_HCS := {
        hcs_not_used := {
          cellSelectQualityMeasure := {
            cpich_RSCP := {
              intraFreqMeasurementSysInfo := {
                intraFreqMeasurementID := omit,     // default value
                intraFreqCellInfoSI_List := {
                  removedIntraFreqCellList := omit,     // removeNoIntraFreqCells in SIB11 is not used and ignored by the UE
                  newIntraFreqCellList := {
                    {
                      intraFreqCellID := p_ActiveCellInfo_CellId,
                      cellInfo := {
                        cellIndividualOffset := omit,     // default value
                        referenceTimeDifferenceToCell := omit,
                        modeSpecificInfo := {
                          fdd := {
                            primaryCPICH_Info := {
                              primaryScramblingCode := p_ActiveCellInfo_PriScrmCode
                            },
                            primaryCPICH_TX_Power := omit,
                            readSFN_Indicator := false,
                            tx_DiversityIndicator := false
                          }
                        },
                        cellSelectionReselectionInfo := omit
                      }
                    }
                  }
                },
                intraFreqMeasQuantity := {
                  filterCoefficient := omit,     // default value
                  modeSpecificInfo := {
                    fdd := {
                      intraFreqMeasQuantity_FDD := cpich_RSCP
                    }
                  }
                },
                intraFreqReportingQuantityForRACH := omit,
                maxReportedCellsOnRACH := omit,
                reportingInfoForCellDCH := {
                  intraFreqReportingQuantity := {
                    activeSetReportingQuantities := {
                      dummy := noReport,
                      cellIdentity_reportingIndicator := true,
                      cellSynchronisationInfoReportingIndicator := false,
                      modeSpecificInfo := {
                        fdd := {
                          cpich_Ec_N0_reportingIndicator := false,
                          cpich_RSCP_reportingIndicator := true,
                          pathloss_reportingIndicator := false
                        }
                      }
                    },
                    monitoredSetReportingQuantities := {
                      dummy := noReport,
                      cellIdentity_reportingIndicator := true,
                      cellSynchronisationInfoReportingIndicator := true,
                      modeSpecificInfo := {
                        fdd := {
                          cpich_Ec_N0_reportingIndicator := false,
                          cpich_RSCP_reportingIndicator := true,
                          pathloss_reportingIndicator := false
                        }
                      }
                    },
                    detectedSetReportingQuantities := omit
                  },
                  measurementReportingMode := {
                    measurementReportTransferMode := acknowledgedModeRLC,
                    periodicalOrEventTrigger := eventTrigger
                  },
                  reportCriteria := {
                    intraFreqReportingCriteria := {
                      eventCriteriaList := cs_IntraFreqEvent1b_1c
                    }
                  }
                }
              },
              interFreqMeasurementSysInfo := {
                interFreqCellInfoSI_List := {
                  removedInterFreqCellList := omit,
                  newInterFreqCellList := {
                    {
                    interFreqCellID := p_InterCellInfo2_CellId,
                    frequencyInfo := p_InterCellInfo2_FreqInfo,
                    cellInfo := {
                        cellIndividualOffset := omit,     // default value
                        referenceTimeDifferenceToCell := omit,
                        modeSpecificInfo := {
                          fdd := {
                            primaryCPICH_Info := {
                            primaryScramblingCode := p_InterCellInfo2_PriScrmCode
                            },
                            primaryCPICH_TX_Power := omit,
                            readSFN_Indicator := false,
                            tx_DiversityIndicator := false
                          }
                        },
                        cellSelectionReselectionInfo := omit     // value same as the serving cell
                      }
                    },
                    {
                      interFreqCellID := p_InterCellInfo3_CellId,
                      frequencyInfo := p_InterCellInfo3_FreqInfo,
                      cellInfo := {
                        cellIndividualOffset := omit,     // default value
                        referenceTimeDifferenceToCell := omit,
                        modeSpecificInfo := {
                          fdd := {
                            primaryCPICH_Info := {
                              primaryScramblingCode := p_InterCellInfo3_PriScrmCode
                            },
                            primaryCPICH_TX_Power := omit,
                            readSFN_Indicator := false,
                            tx_DiversityIndicator := false
                          }
                        },
                        cellSelectionReselectionInfo := omit     // value same as the serving cell
                      }
                    },
                    {
                      interFreqCellID := p_InterCellInfo4_CellId,
                      frequencyInfo := p_InterCellInfo4_FreqInfo,
                      cellInfo := {
                        cellIndividualOffset := omit,     // default value
                        referenceTimeDifferenceToCell := omit,
                        modeSpecificInfo := {
                          fdd := {
                            primaryCPICH_Info := {
                              primaryScramblingCode := p_InterCellInfo4_PriScrmCode
                            },
                            primaryCPICH_TX_Power := omit,
                            readSFN_Indicator := false,
                            tx_DiversityIndicator := false
                          }
                        },
                        cellSelectionReselectionInfo := omit     // value same as the serving cell
                      }
                    }
                  }
                }
              }
            }
          },
          interRATMeasurementSysInfo := omit
        }
      },
      trafficVolumeMeasSysInfo := omit,
      dummy := omit
    },
    v4b0NonCriticalExtensions := omit
  };
  
  template (value) SysInfoType11 cds_SIB11_Freq2_UG_FDD(integer p_ActiveCellInfo_CellId,
                                                        PrimaryScramblingCode p_ActiveCellInfo_PriScrmCode,
                                                        integer p_InterCellInfo2_CellId,
                                                        FrequencyInfo p_InterCellInfo2_FreqInfo,
                                                        PrimaryScramblingCode p_InterCellInfo2_PriScrmCode,
                                                        integer p_InterCellInfo3_CellId,
                                                        FrequencyInfo p_InterCellInfo3_FreqInfo,
                                                        PrimaryScramblingCode p_InterCellInfo3_PriScrmCode,
                                                        integer p_InterCellInfo4_CellId,
                                                        FrequencyInfo p_InterCellInfo4_FreqInfo,
                                                        PrimaryScramblingCode p_InterCellInfo4_PriScrmCode,
                                                        integer p_GERANCell1_Id,
                                                        integer p_GERANCell1_Ncc,
                                                        integer p_GERANCell1_Bcc,
                                                        Frequency_Band p_GERANCell1_BandInd,
                                                        integer p_GERANCell1_Freq,
                                                        integer p_GERANCell2_Id,
                                                        integer p_GERANCell2_Ncc,
                                                        integer p_GERANCell2_Bcc,
                                                        Frequency_Band p_GERANCell2_BandInd,
                                                        integer p_GERANCell2_Freq,
                                                        integer p_GERANCell3_Id,
                                                        integer p_GERANCell3_Ncc,
                                                        integer p_GERANCell3_Bcc,
                                                        Frequency_Band p_GERANCell3_BandInd,
                                                        integer p_GERANCell3_Freq)
    modifies cs_SIB11_Freq2_FDD :=
  {
    measurementControlSysInfo := {
      use_of_HCS := {
        hcs_not_used := {
          interRATMeasurementSysInfo := {
            interRATCellInfoList := {
              removedInterRATCellList := {
                removeNoInterRATCells := NULL
              },
              newInterRATCellList := {
                {
                  interRATCellID := p_GERANCell1_Id,
                  technologySpecificInfo := { gsm := {
                      cellSelectionReselectionInfo := omit,
                      interRATCellIndividualOffset := 0,
                      bsic := {
                        ncc := p_GERANCell1_Ncc,
                        bcc := p_GERANCell1_Bcc
                      },
                      frequency_band := p_GERANCell1_BandInd,
                      bcch_ARFCN := p_GERANCell1_Freq
                    }
                  }
                },
                {
                  interRATCellID := p_GERANCell2_Id,
                  technologySpecificInfo := { gsm := {
                      cellSelectionReselectionInfo := omit,
                      interRATCellIndividualOffset := 0,
                      bsic := {
                        ncc := p_GERANCell2_Ncc,
                        bcc := p_GERANCell2_Bcc
                      },
                      frequency_band := p_GERANCell2_BandInd,
                      bcch_ARFCN := p_GERANCell2_Freq
                    }
                  }
                },
                {
                  interRATCellID := p_GERANCell3_Id,
                  technologySpecificInfo := { gsm := {
                      cellSelectionReselectionInfo := omit,
                      interRATCellIndividualOffset := 0,
                      bsic := {
                        ncc := p_GERANCell3_Ncc,
                        bcc := p_GERANCell3_Bcc
                      },
                      frequency_band := p_GERANCell3_BandInd,
                      bcch_ARFCN := p_GERANCell3_Freq
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  };
  
  template (value) IntraFreqEventCriteriaList cs_IntraFreqEvent1b_1c :=
  {
    {
      event := {
        e1b := {
          triggeringCondition := activeSetCellsOnly,
          reportingRange := 10,     // Actual value ReportingRange = IE value * 0.5
          forbiddenAffectCellList := omit,
          w := 1
        }
      },
      hysteresis := 0,
      timeToTrigger := ttt640,
      reportingCellStatus := {
        withinActiveAndOrMonitoredUsedFreq := e3
      }
    },
    {
      event := {
        e1c := {
          replacementActivationThreshold := t3,
          reportingAmount := ra4,
          reportingInterval := ri4
        }
      },
      hysteresis := 0,
      timeToTrigger := ttt640,
      reportingCellStatus := {
        withinActiveAndOrMonitoredUsedFreq := e3
      }
    }
  };
  
  template (value) SysInfoType18 cs_SIB18_Def :=
  {
    idleModePLMNIdentities := {
      plmnsOfIntraFreqCellsList := omit,
      plmnsOfInterFreqCellsList := omit,
      plmnsOfInterRATCellsList := omit
    },
    connectedModePLMNIdentities := omit,
    v6b0NonCriticalExtensions := omit
  };
  
  template (value) U_CRLC_CONFIG_REQ cas_CRLC_RB_RelReq(UTRAN_CellId_Type p_CellId,
                                                            integer p_RB_Id) :=
  {
    config := {
      cellId := p_CellId,
      routingInfo := {
        rB_Identity := p_RB_Id
      },
      ratType := fdd,
      configMessage := {
        release := NULL
      },
      activationTime := omit
    }
  };
  
  template (value) U_CMAC_CONFIG_REQ cas_CMAC_PagingCfgReq(UTRAN_CellId_Type p_CellId,
                                                               PhysicalChannelIdentity p_PhysicalChannelIdentity,
                                                               RatType p_RatType,
                                                               template (value) CmacPagingConfigReq p_Pdu) :=
  {
    page_FDD := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhysicalChannelIdentity
      },
      ratType := p_RatType,
      configMessage := p_Pdu
    }
  };
  
  template U_CMAC_CONFIG_CNF car_CMAC_PagingCfgCnf(template UTRAN_CellId_Type p_CellId,
                                                       template PhysicalChannelIdentity p_PhysicalChannelIdentity) :=
  {
    page := {
      cellId := p_CellId,
      routingInfo := {
        physicalChannelIdentity := p_PhysicalChannelIdentity
      }
    }
  };
  
  template (value) RLC_TR_DATA_REQ cas_PagingType1(UTRAN_CellId_Type p_CellId,
                                                   integer p_RB_Id,
                                                   template (value) PCCH_Message p_Pdu) :=
  {
    cellId := p_CellId,
    routingInfo := {
      rB_Identity := p_RB_Id
    },
    tM_message := {
      pCCH_Message := p_Pdu
    }
  };
  
  template (value) RLC_TR_DATA_REQ cas_SysInfoChangeInd(UTRAN_CellId_Type p_CellId,
                                                        integer p_RB_Id,
                                                        template (value) BCCH_FACH_Message p_Pdu) :=
  {
    cellId := p_CellId,
    routingInfo := {
      rB_Identity := p_RB_Id
    },
    tM_message := {
      bCCH_FACH_Message := p_Pdu
    }
  };
  
  template (value) PCCH_Message cs_RRC_PagingType1_ModifySI(MIB_ValueTag p_MIB_ValueTag) :=
  {
    message_ := {
      pagingType1 := {
        pagingRecordList := omit,
        bcch_ModificationInfo := {
          mib_ValueTag := p_MIB_ValueTag,
          bcch_ModificationTime := omit     // changed immediately
        },
        laterNonCriticalExtensions := omit
      }
    }
  };
  
  template (value) BCCH_FACH_Message cs_SysInfoChangeInd(MIB_ValueTag p_MIB_ValueTag) :=
  {
    message_ := {
      systemInformationChangeIndication := {
        // System Information Change Indication
        bcch_ModificationInfo := {
          mib_ValueTag := p_MIB_ValueTag,
          bcch_ModificationTime := omit     // 0
        },
        laterNonCriticalExtensions := omit
      }
    }
  };
  
  template (value) CmacPagingConfigReq cs_MAC_PagingCfg(bitstring p_E18,
                                                        integer p_DRX,
                                                        IMSI_GSM_MAP p_IMSI) :=
  {
    pI_BitMapInfo := {
      e18 := p_E18
    },
    dRX_CycleLength := p_DRX,
    iMSI := p_IMSI,
    t_pich_T_sccpch := false
  };
  
  template (value) UL_CommonTransChInfo_r4 cs_UL_CommTrChInfoDCCH_13_6k_r4_FDD :=
  {
    tfc_Subset := omit,
    prach_TFCS := omit,
    modeSpecificInfo := {
      fdd := {
        ul_TFCS := cs_TFCS_Cmpl0_1_Tx_FDD(cs_PowerOffsetInfoBelow64k)
      }
    },
    tfc_SubsetList := omit
  };

  template (value) UL_CommonTransChInfo_r4 cs_UL_CommTrChInfoDCCH_13_6k_r4_TDD :=
  {
    tfc_Subset := omit,
    prach_TFCS := omit,
    modeSpecificInfo := {
      tdd := {
        individualUL_CCTrCH_InfoList := {
          {
            ul_TFCS_Identity := {
              tfcs_ID := 1,
              sharedChannelIndicator := false
            },
            ul_TFCS := cs_TFCS_Cmpl0_1_Tx_TDD,
            tfc_Subset := {fullTFCS := NULL}
          }
        }
      }
    },
    tfc_SubsetList := omit
  };

  template (value) DL_CommonTransChInfo_r4 cs_DL_CommonTransChInfoSameAsUL_r4_FDD :=
  {
    sccpch_TFCS := omit,
    modeSpecificInfo := {
      fdd := {
        dl_Parameters := {
          sameAsUL := NULL
        }
      }
    }
  };
  
  template (value) DL_CommonTransChInfo_r4 cs_DL_CommonTransChInfoSameAsUL_r4_TDD :=
  { /* Values according to condition A3 in TS 34.108 clause 9.1.1: DL Transport channel information common for all transport channel */
    sccpch_TFCS := omit,
    modeSpecificInfo := {
      tdd := {
        individualDL_CCTrCH_InfoList := {
          {
            dl_TFCS_Identity := {
              tfcs_ID := 1,
              sharedChannelIndicator := false
            },
            tfcs_SignallingMode := {
              sameAsUL := {
                tfcs_ID := 1,
                sharedChannelIndicator := false
              }
            }
          }
        }
      }
    }
  };

  template (value) DL_InformationPerRL_List_r8 cs_DL_InformationPerRL_r8_TDD ( CellParametersID                      p_CellParametersID,
                                                                               template (value) DL_DPCH_InfoPerRL_r7 p_DL_DPCH_InfoPerRL_r7 ) :=
  { /* According to condition A3 in TS 34.108 clause 9.1.1: Downlink information for each radio link list */
    {
      modeSpecificInfo := {
        tdd := {
          tdd := {
            tddOption := {
              tdd128 := {
                tstd_Indicator := false
              }
            },
            cellParametersID := p_CellParametersID,
            sctd_Indicator := false
          }
        }
      },
      dl_dpchInfo := {
        dl_DPCH_InfoPerRL := p_DL_DPCH_InfoPerRL_r7
      },
      e_AGCH_Information := omit,
      modeSpecificInfo2 := {
        tdd := {
          tdd128 := {
            e_HICH_Info := omit
          }
        }
      },
      cell_id := omit
    }
  };
}
