####################################
## SCFD file version: 0.2         ##
## PDDB version: TLF16A_1512_002  ##
####################################

#General checking for rule file execution
check_version minor TL17
check_version minor TLF17
check_version minor TLC17

check_param minor SIB sib2xTransmit

###########
# COMMON: #
###########

##############################################################
# LTE2828-A LNCEL LNBTS refactoring - SIB related parameters #
##############################################################
# Migration of SIB related parameters
# Several LNCEL parameters shall be relocated to a new MOC SIB. SIB is a new MOC subordinated to the MOC LNCEL. The parameters shall keep their originally configured values during the relocation.
# The following migration rules shall be executed for all LNCEL instances.

# 1 Create a new MO instance called SIB as a subordinate object to the MO instance LNCEL.
add_cls minor LNCEL/SIB-0
set_operation minor SIB create

# 2 Relocate several mandatory parameters:
# Copy following mandatory parameters from the MO instance LNCEL to its subordinate MO instance SIB with their current values:

move_param minor LNCEL SIB sib2xTransmit
move_param minor LNCEL SIB cellBarred
move_param minor LNCEL SIB qrxlevmin
move_param minor LNCEL SIB intrFrqCelRes
move_param minor LNCEL SIB siWindowLen
move_list minor LNCEL SIB sib2Scheduling
# LNCEL SIB sib2Scheduling-siMessageSibType
# LNCEL SIB sib2Scheduling-siMessagePeriodicity
# LNCEL SIB sib2Scheduling-siMessageRepetition
move_list minor LNCEL SIB sib3Scheduling
# LNCEL SIB sib3Scheduling-siMessageSibType
# LNCEL SIB sib3Scheduling-siMessagePeriodicity
# LNCEL SIB sib3Scheduling-siMessageRepetition
move_param minor LNCEL SIB primPlmnCellres
move_param minor LNCEL SIB autoAcBarringStartTimer

#move_param minor LNCEL SIB autoACBarringStopTimer // NOT IN NIDD inside SIB??? To be taken care in next NIDD delivery.

move_param minor LNCEL SIB modPeriodCoeff
move_param minor LNCEL SIB preambTxMax
move_param minor LNCEL SIB prachPwrRamp
move_param minor LNCEL SIB ulpcIniPrePwr
move_param minor LNCEL SIB t300
move_param minor LNCEL SIB t301
move_param minor LNCEL SIB t310
move_param minor LNCEL SIB n310
move_param minor LNCEL SIB t311
move_param minor LNCEL SIB n311
move_param minor LNCEL SIB acBarSkipForMMTELVoice
move_param minor LNCEL SIB acBarSkipForMMTELVideo
move_param minor LNCEL SIB acBarSkipForSMS
move_param minor LNCEL SIB qHyst
move_param minor LNCEL SIB tReselEutr
move_param minor LNCEL SIB threshSrvLow
move_param minor LNCEL SIB cellReSelPrio
move_param minor LNCEL SIB qrxlevminintraF
move_param minor LNCEL SIB intraPresAntP

# After these mandatory parameters are created in the MO instance SIB, delete them in the MO instance LNCEL.
#!! Move already deletes original parameters

# 3 Relocate several optional parameters:
# Copy following optional parameters from the MO instance LNCEL to its subordinate MO instance SIB with their current values if they are configured in LNCEL. If they are not configured in LNCEL, dont create them in SIB.

move_param minor LNCEL SIB qRxLevMinOffset
move_param minor LNCEL SIB pMaxOwnCell
move_param minor LNCEL SIB csgId
move_param minor LNCEL SIB eCallAcBarred
move_param minor LNCEL SIB eCallAcBarredOvl
move_param minor LNCEL SIB sIntrasearch
move_param minor LNCEL SIB sNonIntrsearch
move_param minor LNCEL SIB pMaxIntraF
move_param minor LNCEL SIB mbmsNeighCellConfigIntraF
move_param minor LNCEL SIB qQualMinR9
move_param minor LNCEL SIB threshServingLowQR9
move_param minor LNCEL SIB heNBName

# After creation of the relevant optional parameters in the MO instance SIB, delete the original of these optional parameters in the MO instance LNCEL.
#!! Move already deletes original parameters

# 4 Relocate several optional structures:
# Migration of sibSchedulingList:
# If there is at least one sibSchedulingList structure configured in LNCEL with its mandatory subordinate parameters, copy sibSchedulingList with its subordinate parameters from the MO instance LNCEL to its subordinate MO instance SIB. The related parameters are listed below:

move_list minor LNCEL SIB sibSchedulingList
# LNCEL SIB sibSchedulingList-siMessageSibType
# LNCEL SIB sibSchedulingList-siMessagePeriodicity
# LNCEL SIB sibSchedulingList-siMessageRepetition

# The originally configured values of the parameters shall be kept. As the multiplicity of the structured parameter sibSchedulingList is 10, there might be several sibSchedulingList structures configured in LNCEL. Copy all of these to the MO instance SIB. If there is no sibSchedulingList configured in LNCEL, dont create it in SIB.
# After creation of the relevant structures in the MO instance SIB, delete the original of these structures including all subordinate parameters in the MO instance LNCEL.

# Migration of cellSelectionInfoV920:
# If the optional cellSelectionInfoV920 structure is configured in the MO instance LNCEL, copy it with its configured subordinate parameters to the MO instance SIB. The originally configured values of the parameters shall be kept. The related parameters are listed below:

move_list minor LNCEL SIB cellSelectionInfoV920
# LNCEL SIB cellSelectionInfoV920-qQualMinR9
# LNCEL SIB cellSelectionInfoV920-qQualMinOffsetR9

# Please note that cellSelectionInfoV920-qQualMinOffsetR9 is an optional parameter, create it for the MO instance SIB only if it is configured in the existing cellSelectionInfoV920 structure in LNCEL.
# If cellSelectionInfoV920 is not configured in LNCEL, dont create it in SIB.

# After creation of the structure cellSelectionInfoV920 in the MO instance SIB, delete the original of this structure including all subordinate parameters in the MO instance LNCEL.

# Migration of other optional structures:
# Copy following optional structures with all their mandatory subordinate parameters from LNCEL to SIB with their current values if they are configured in LNCEL. If they are not configured, dont create them in SIB. The related parameters are listed below:

move_list minor LNCEL SIB acBarSig
# LNCEL SIB acBarSig-sigAcProbFac
# LNCEL SIB acBarSig-sigAcBarTime
# LNCEL SIB acBarSig-sigAcBarAC

move_list minor LNCEL SIB acBarOc
# LNCEL SIB acBarOc-ocAcProbFac
# LNCEL SIB acBarOc-ocAcBarTime
# LNCEL SIB acBarOc-ocAcBarAC

move_list minor LNCEL SIB acBarMMTelVoiceOc
# LNCEL SIB acBarMMTelVoiceOc-probFac
# LNCEL SIB acBarMMTelVoiceOc-acBarTime
# LNCEL SIB acBarMMTelVoiceOc-acBarAC

move_list minor LNCEL SIB acBarMMTelVideoOc
# LNCEL SIB acBarMMTelVideoOc-probFac
# LNCEL SIB acBarMMTelVideoOc-acBarTime
# LNCEL SIB acBarMMTelVideoOc-acBarAC

move_list minor LNCEL SIB acBarCsfbOc
# LNCEL SIB acBarCsfbOc-probFac
# LNCEL SIB acBarCsfbOc-acBarTime
# LNCEL SIB acBarCsfbOc-acBarAC

move_list minor LNCEL SIB uplinkPCCommonr10
# LNCEL SIB uplinkPCCommonr10-deltaFPucchF3r10
# LNCEL SIB uplinkPCCommonr10-deltaFPucchF1bCSr10

move_list minor LNCEL SIB acBarSigOvl
# LNCEL SIB acBarSigOvl-sigAcProbFacOvl
# LNCEL SIB acBarSigOvl-sigAcBarTimeOvl
# LNCEL SIB acBarSigOvl-sigAcBarACOvl

move_list minor LNCEL SIB acBarOcOvl
# LNCEL SIB acBarOcOvl-ocAcProbFacOvl
# LNCEL SIB acBarOcOvl-ocAcBarTimeOvl
# LNCEL SIB acBarOcOvl-ocAcBarACOvl

move_list minor LNCEL SIB acBarMMTelVoiceOcOvl
# LNCEL SIB acBarMMTelVoiceOcOvl-probFacOvl
# LNCEL SIB acBarMMTelVoiceOcOvl-acBarTimeOvl
# LNCEL SIB acBarMMTelVoiceOcOvl-acBarACOvl

move_list minor LNCEL SIB acBarMMTelVideoOcOvl
# LNCEL SIB acBarMMTelVideoOcOvl-probFacOvl
# LNCEL SIB acBarMMTelVideoOcOvl-acBarTimeOvl

## ADDED based on NIDD!!
# LNCEL SIB acBarMMTelVideoOcOvl-acBarACOvl

move_list minor LNCEL SIB acBarCsfbOcOvl
# LNCEL SIB acBarCsfbOcOvl-probFacOvl
# LNCEL SIB acBarCsfbOcOvl-acBarTimeOvl
# LNCEL SIB acBarCsfbOcOvl-acBarACOvl

move_list minor LNCEL SIB spStResPars
# LNCEL SIB spStResPars-tEvaluation
# LNCEL SIB spStResPars-tHystNormal
# LNCEL SIB spStResPars-nCellChgMed
# LNCEL SIB spStResPars-nCellChgHigh
# LNCEL SIB spStResPars-qHystSfMed
# LNCEL SIB spStResPars-qHystSfHigh

move_list minor LNCEL SIB celResTiF
# LNCEL SIB celResTiF-celResTiFMM
# LNCEL SIB celResTiF-celResTiFHM

move_list minor LNCEL SIB sIntraSearchV920
# LNCEL SIB sIntraSearchV920-sIntraSearchPR9
# LNCEL SIB sIntraSearchV920-sIntraSearchQR9

move_list minor LNCEL SIB sNonIntraSearchV920
# LNCEL SIB sNonIntraSearchV920-sNonIntraSearchPR9
# LNCEL SIB sNonIntraSearchV920-sNonIntraSearchQR9

# After creation of the relevant structures in the MO instance SIB, delete the original of these structures including all subordinate parameters in the MO instance LNCEL.

# v0.2 change to the LTE2828 migration - LTE2460 parameters is not included to the FB1512_002 content yet - it will come to the FB1512_003
################################################################################################
# LTE2460 Automatic access class barring with PLMN disabling
################################################################################################

#These parameters shall be moved to SIB here because LTE2828, LTE2460 introduced already in FB15.11 004
#move_param minor LNCEL SIB autoAcbPlmnRmvlStopTimer
#move_param minor LNCEL SIB autoPlmnRmvlStartTimer
# v0.2 change to the LTE2828 migration - LTE2460 parameters is not included to the FB1512_002 content yet - it will come to the FB1512_003 END

################################################################################################
# LTE2199:  Configurable buffering time for protocol tracing
################################################################################################
# MTRACE MOC shall be extended with new parameter: maxBufferingTime default value 2000

add_param minor MTRACE maxBufferingTime 2000

################################################################################################
# NA05840881: [FL15A][LGU+ DVT]No PDCCH Order transmitted before out of sync final:
################################################################################################
#qci1ProtectionTimer: min value changed to 2 from 0

check_param_value minor LNCEL qci1ProtectionTimer 2 180

################################################################################################
# PR093811: TL16_FSIH_LTE1541-B:Maximum value of scellGoodChQualThr is smaller than maximum value of scellBadChQualThr
################################################################################################
# Ranges changed for scellBadChQualThr, scellGoodChQualThr, scellNotDetectableThr

check_param_value minor LNCEL scellBadChQualThr 1 27
check_param_value minor LNCEL scellGoodChQualThr 1 27
check_param_value minor LNCEL scellNotDetectableThr 0 27

################################################################################################
# PR100927: [LTE2562] Incorrect parameter name in relation with ANR MO:
################################################################################################
# actUeBasedAnrRtt replaced by actAnrRtt, actUeBasedAnrRtt deleted

rename_param minor LNBTS actUeBasedAnrRtt actAnrRtt
mod_param minor LNBTS actAnrRtt true oamAssisted

################################################################################################
# NIDD review comments:
################################################################################################
# idleLBEutCelResWeight2CC, idleLBEutCelResWeight3CC, idleLBEutCelResWeight4CC, idleLBEutCelResWeight5CC, idleLBCelResWeight2CC, idleLBCelResWeight3CC, idleLBCelResWeight4CC, idleLBCelResWeight5CC
# min value changed from 0 to 1

check_param_value minor IRFIM idleLBEutCelResWeight2CC 1 100 
check_param_value minor IRFIM idleLBEutCelResWeight3CC 1 100
check_param_value minor IRFIM idleLBEutCelResWeight4CC 1 100
check_param_value minor IRFIM idleLBEutCelResWeight5CC 1 100

check_param_value minor LNCEL idleLBCelResWeight2CC 1 100
check_param_value minor LNCEL idleLBCelResWeight3CC 1 100
check_param_value minor LNCEL idleLBCelResWeight4CC 1 100
check_param_value minor LNCEL idleLBCelResWeight5CC 1 100


#FZC specific
del_param minor APMOD gpsInUse
del_param minor APMOD tdmSyncInUse

################################################################################################
# PR099369: GNSSI parameters are visible in BTSSM due to mistake in NIDD,addDefaultNoGuiSupport set to "true"
################################################################################################
# hidden at the GUI:

dependence_mod_param_if_key_parameter_value_matches minor UNIT unitTypeExpected FZC1100 GNSSI gnssControlMode All-in-view
dependence_mod_param_if_key_parameter_value_matches minor UNIT unitTypeExpected FZC1100 GNSSI locationMode automatic

#LTE1117-K-b
# no migration in CFAM
# mcSourceIp mandatory --> Value set by the system
del_param minor LNZ1 mcSourceIp

# mcDestIps Multiplicity changed 16 --> 8
# 1. array to list
array_to_list minor LNZ1 mcDestIps tempList tempParam

# 2. move first 8 list param to new params
move_list_param_to_param minor LNZ1 LNZ1 tempList 0 tempParam tempParam0
move_list_param_to_param minor LNZ1 LNZ1 tempList 0 tempParam tempParam1
move_list_param_to_param minor LNZ1 LNZ1 tempList 0 tempParam tempParam2
move_list_param_to_param minor LNZ1 LNZ1 tempList 0 tempParam tempParam3
move_list_param_to_param minor LNZ1 LNZ1 tempList 0 tempParam tempParam4
move_list_param_to_param minor LNZ1 LNZ1 tempList 0 tempParam tempParam5
move_list_param_to_param minor LNZ1 LNZ1 tempList 0 tempParam tempParam6
move_list_param_to_param minor LNZ1 LNZ1 tempList 0 tempParam tempParam7

# 3. del temp list
del_list minor LNZ1 tempList

# 4. move 8 new params to array
add_list minor LNZ1 mcDestIps
copy_param_to_array_param_relative minor LNZ1 tempParam0 LNZ1-1 mcDestIps
copy_param_to_array_param_relative minor LNZ1 tempParam1 LNZ1-1 mcDestIps
copy_param_to_array_param_relative minor LNZ1 tempParam2 LNZ1-1 mcDestIps
copy_param_to_array_param_relative minor LNZ1 tempParam3 LNZ1-1 mcDestIps
copy_param_to_array_param_relative minor LNZ1 tempParam4 LNZ1-1 mcDestIps
copy_param_to_array_param_relative minor LNZ1 tempParam5 LNZ1-1 mcDestIps
copy_param_to_array_param_relative minor LNZ1 tempParam6 LNZ1-1 mcDestIps
copy_param_to_array_param_relative minor LNZ1 tempParam7 LNZ1-1 mcDestIps

# 5. del temp params
del_param minor LNZ1 tempParam0
del_param minor LNZ1 tempParam1
del_param minor LNZ1 tempParam2
del_param minor LNZ1 tempParam3
del_param minor LNZ1 tempParam4
del_param minor LNZ1 tempParam5
del_param minor LNZ1 tempParam6
del_param minor LNZ1 tempParam7


###########
# TDD:    #
###########

################################################################################################
# LTE1130-C-i CRL6811 Dynamic PUCCH allocation - - Late Object Model Parameters adjustment for LTE1130-C
################################################################################################
#Removal of two LNCEL->APUCCH parameters not used in TDD:
#assignedRiConfigIndex
#assignedR10CsiConfIndex2Ri

del_param minor APUCCH assignedRiConfigIndex
del_param minor APUCCH assignedR10CsiConfIndex2Ri

#version
#FZM Replace# set_version major TL16A
dependence_set_version major PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/FTM-${FTM}/UNIT-${UNIT} unitTypeExpected == CONST "FZC1100" ? CONST "TLC16A" : CONST "TLF16A"

#history:
#FZM Replace# add_log minor "Conversion from TL16A FB15.11 (004) to TL16A FB15.12 (001)"
add_log minor "Conversion from TLF16A FB15.11 (004) to TLF16A FB15.12 (002)"