###########################################
## SCFD file version: 0.1                ##
## Release: TLF/TLC18_1708_001           ##
## LTE version: TLF18_RADIO_1708_001     ##
## LTE version: TLC18_RADIO_1708_001     ##
###########################################





###########
# COMMON: #
###########
#Macro    ## FDD and TDD ##
#LTE3605 DL 4x4 MIMO with Carrier Aggregation - 12 layers
#LTE3710 Spare parameters
#PR250340: [FL18] [LTE3145] Slim Carrier: Misleading consistency checks in MOCs ACBPR, LNCEL, CDFIM, IAFIM, IRFIM and SIB - Additional corrections
#PR260772: [SBTS17][FHDI] LTE1891 Micro-DTX not working in RF sharing units




####################################################################################################################
# LTE2927 Changed feature restriction policy for 1.4 and 3 MHz
####################################################################################################################
#OM_LTE_SFS_RNL.18159 Migration of LTE2927 affected parameters and MOCs
#Up to now there is only limited support of eNB configurations with small bandwidth cells (1.4 MHz, 3 MHz) and cells with bandwidth >= 5 MHz., This is because many features, which are not supported for small bandwidth cells, are activated on eNB level. LTE2927 removes this limitation for a set of relevant features by moving the activation from eNB level to cell level.
#Precondition for the following migration rules is a consistent 17A configuration, i.e. no small bandwidth cell exists if a feature is activated on eNB level, which does not support small bandwidth cells. This is ensured by existing 17A consistency checks. If not (e.g. actAmle) it is considered in migration rules.
#Migration of parameters, which are moved from LNBTS to cell level:
#·	For each existing LNCEL instance do
#o	set the new LNCEL parameter actInterFreqLB to the value of the previous LNBTS parameter actInterFreqLB.
#o	set the new LNCEL parameter actIntraFreqLoadBal to the value of the previous LNBTS parameter actIntraFreqLoadBal
#o	if the value of the previous LNBTS parameter actAmle is ‘true’ then set the new LNCEL parameter actAmle to ‘true’ if a subordinate LNCEL_FDD instance exists with dlChBw >= 3 MHz or if a LNCEL_TDD instance exists. Set the value of actAmle to ‘false’ otherwise.
#	Hint: up to now there was no restriction for 1.4 MHz cells. But Inter-Frequency Load Equalization with a 1.4 MHz cell does not provide any benefit. It doesn't harm therefore to deactivate the feature in 1.4 MHz cells.
#Migration of parameters, were activation is moved to cell level by relaxing eNB level consistency checks and reusing existing cell parameters:
#·	For each existing LNCEL instance do
#o	If a subordinate LNCEL_FDD instance with dlChBw == (‘1.4 MHz’ or ‘3 MHz’) exists and the optional LNCEL structure parameter dlIshConfig is configured then set the LNCEL parameter dlIshConfig-actDlIsh to ‘false’ and the LNCEL parameter dlshConfig-amountBlankedRes to ‘0’.
#Removal of useless LNHOX and LNHOH instances from small bandwidth cells. As the features ‘Inter RAT handover to eHRPD/3GPP2 (LTE60)’ , 'CSFB to CDMA2000 1xRTT (LTE1441)’ and 'SRVCC to 1xRTT/CDMA (LTE738)’ were never supported in small bandwidth cells, the related measurement objects LNHOH and LNHOX shall be deleted as checks are more restrictive in release 17A_SP.
#·	For each existing LNCEL instance do
#o	If a subordinate LNCEL_FDD instance with dlChBw == (‘1.4 MHz’ or ‘3 MHz’) exists then all subordinate LNHOH and LNHOX instances shall be deleted.

add_param minor LNCEL actInterFreqLB false
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL actInterFreqLB = CONST "0" == CONST "0" ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actInterFreqLB : 
del_param minor LNBTS actInterFreqLB

add_param minor LNCEL actIntraFreqLoadBal false
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL actIntraFreqLoadBal = CONST "0" == CONST "0" ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actIntraFreqLoadBal : 
del_param minor LNBTS actIntraFreqLoadBal

add_param minor LNCEL actAmle false
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL actAmle = CONST "0" == CONST "0" ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actAmle : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL actAmle = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-0 dlChBw == CONST "1.4 MHz" ? CONST "false" : 
del_param minor LNBTS actAmle

dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL dlIshConfig * actDlIsh = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-0 dlChBw == CONST "1.4 MHz" || PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-0 dlChBw == CONST "3 MHz" ? CONST "false" : 
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL dlIshConfig * amountBlankedRes = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-0 dlChBw == CONST "1.4 MHz" || PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-0 dlChBw == CONST "3 MHz" ? CONST "0" : 

dependence_del_target_relative minor MOC MRBTS/LNBTS/LNCEL/LNHOH ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-0 dlChBw == CONST "1.4 MHz" || PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-0 dlChBw == CONST "3 MHz"
dependence_del_target_relative minor MOC MRBTS/LNBTS/LNCEL/LNHOX ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-0 dlChBw == CONST "1.4 MHz" || PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-0 dlChBw == CONST "3 MHz"




####################################################################################################################
# LTE3748 In-Device Coexistence
####################################################################################################################
#OM_LTE_SFS_RNL.19122
#The following new mandatory parameters must be initialized with their default values:
#LNBTS-actUlInDevCoexGNSS

add_param minor LNBTS actUlInDevCoexGNSS false




####################################################################################################################
# LTE3722 NB-IoT: Additional configurations
####################################################################################################################
#OM_LTE_SFS_RNL.18643 Migration of new parameter:
#There is no migration to be foreseen as
#·	There is no new mandatory parameter introduced with LTE3722




####################################################################################################################
# PR250449: [KDDI TLF16A Pico B40 JCST] ulpcRarespTpc(LNCEL) is not used in TDD.
####################################################################################################################
#OM_LTE_SFS_RNL.19327 Migration for PR250449 parameter ulpcRarespTpc
#If the LNCEL contains the parameter ulpcRarespTpc following migration are needed.
#1) If LNCEL-cellTechnology is set to 'FDD', in the child MOC LNCEL_FDD of this LNCEL instance, the parameter ulpcRarespTpc shall be added with same value. In this LNCEL instance the parameter ulpcRarespTpc shall be deleted after the relocation to LNCEL_FDD.
#2) If LNCEL-cellTechnology is set to another value than 'FDD' and the parameter ulpcRarespTpc exists, it shall be deleted from this LNCEL instance.
move_param minor LNCEL LNCEL_FDD ulpcRarespTpc
del_param minor LNCEL ulpcRarespTpc




####################################################################################################################
# PR250820: [SBTS17][RP000918]Discrepancy in NIDD and RISE specification related to M8049C0
# PR250853: [SBTS17][RP000918]Discrepancy in DOORS specification related to Measurement Interval for 8018 and 8049 measurements
####################################################################################################################
del_param minor PMRNL mtSIMonitoring
add_param minor PMRNL mtSIMonitoring 15min




####################################################################################################################
# LTE3022 Inter-site carrier aggregation
####################################################################################################################
#OM_LTE_SFS_RNL.17085 Migration of LTE3022 parameters for TDD:
#[LTE3022-A-x:] For each existing instance of MOC CAGENB, the new parameter
#CAGENB-nlcvDeltaX2C2
#must be created and initialized with their default value.

del_param minor CAGENB nlcvDeltaX2
add_param minor CAGENB nlcvDeltaX2C2 2
del_param minor CAREL pucchF1bwcsRecycling




####################################################################################################################
# CRL18879 Separate UL/DL scheduling weights (configurable)
####################################################################################################################
#no migration needed


####################################################################################################################
# PR258432: [KDDI TLF16A Pico B42 JCST] ulpcReadPeriod (LNCEL) description need to update
####################################################################################################################
#no migration needed





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

#FZM/FZC specific
####################################################################################################################
# PR246834: [PET][TLF17A][LTE2947][UL/DL CA] crash during 712 UL/DL CA UEs tests, CScellUePcellInfoManager::GetCqiBasedRlfOn(u32): Assertion `sCellUeIndex less (2*100)' failed
# PR248758: [PET][TLF17A][LTE2947] unable to achieve full capacity after trial to attach more than 712 UEs
####################################################################################################################
check_param_value minor LNCEL maxNumCaUeScell 0 100
check_param_value minor LNCEL_TDD maxNumCaConfUe 0 100
check_param_value minor LNCEL_TDD maxNumCaConfUeDc 0 100


#check if 1 or 2 cell configuration
#LNCEL::lcrId --> LCELL/CHANNELGROUP/CHANNEL::antlDN --> APEQM/.../ANTL

#check which APEQM is pointed by LCELL
add_param minor CHANNEL apeqmId value
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/MNL/MNLENT/CELLMAPPING/LCELL/CHANNELGROUP/CHANNEL apeqmId = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/MNL-${MNL}/MNLENT-${MNLENT}/CELLMAPPING-${CELLMAPPING}/LCELL-${LCELL}/CHANNELGROUP-${CHANNELGROUP}/CHANNEL-${CHANNEL} antlDN : 
regex_replace minor PARAM MRBTS-*/MNL-*/MNLENT-*/CELLMAPPING-*/LCELL-*/CHANNELGROUP-*/CHANNEL-* apeqmId REPLACE "/ANTMOD-[0-9]*" ALL ""
regex_replace minor PARAM MRBTS-*/MNL-*/MNLENT-*/CELLMAPPING-*/LCELL-*/CHANNELGROUP-*/CHANNEL-* apeqmId REPLACE "/APMOD-[0-9]*" ALL ""
regex_replace minor PARAM MRBTS-*/MNL-*/MNLENT-*/CELLMAPPING-*/LCELL-*/CHANNELGROUP-*/CHANNEL-* apeqmId REPLACE "/RMOD-[0-9]*/ANTL-[0-9]*" ALL ""
regex_replace minor PARAM MRBTS-*/MNL-*/MNLENT-*/CELLMAPPING-*/LCELL-*/CHANNELGROUP-*/CHANNEL-* apeqmId REPLACE "MRBTS-[0-9]*/EQM-1/APEQM-" ALL ""
add_param minor LCELL apeqmId value
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/MNL/MNLENT/CELLMAPPING/LCELL apeqmId = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/MNL-${MNL}/MNLENT-${MNLENT}/CELLMAPPING-${CELLMAPPING}/LCELL-${LCELL}/CHANNELGROUP-*/CHANNEL-* apeqmId : 
del_param minor CHANNEL apeqmId

#make APEQM cellList with all LCELL ids, which point to this APEQM
dependence_add_param_based_on_MOC_instance minor APEQM apeqmInstanceId + 0
dependence_add_param_based_on_MOC_instance minor LCELL lcellInstanceId + 0

add_list minor LCELL cellList
add_list_item minor LCELL cellList
add_list_param minor LCELL cellList * lcellInstanceId value
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/MNL/MNLENT/CELLMAPPING/LCELL cellList 0 lcellInstanceId = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/MNL-${MNL}/MNLENT-${MNLENT}/CELLMAPPING-${CELLMAPPING}/LCELL-${LCELL} lcellInstanceId : 

add_list minor APEQM cellList
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/APEQM apeqmInstanceId PARAM MRBTS/MNL/MNLENT/CELLMAPPING/LCELL apeqmId LISTPARAM cellList lcellInstanceId 
add_list_param minor APEQM cellList * cell 1

#count cells in APEQM
add_param minor APEQM countCells 0
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM countCells = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} cellList 0 cell : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM countCells = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} cellList 1 cell + PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} countCells : 

#copy countCells to LNCEL
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/LNBTS/LNCEL lcrId LISTPARAM MRBTS/EQM/APEQM cellList 0 lcellInstanceId PARAM countCells
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/LNBTS/LNCEL lcrId LISTPARAM MRBTS/EQM/APEQM cellList 1 lcellInstanceId PARAM countCells

#cleanup
del_list minor LCELL cellList
del_list minor APEQM cellList
del_param minor APEQM countCells
del_param minor LCELL lcellInstanceId
del_param minor LCELL apeqmId
del_param minor APEQM apeqmInstanceId


#update parameters
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_TDD addNumDrbRadioReasHo = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} countCells == CONST 2 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_TDD-${LNCEL_TDD} addNumDrbRadioReasHo > CONST 1068 ? CONST 1068 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_TDD addNumDrbTimeCriticalHo = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} countCells == CONST 2 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_TDD-${LNCEL_TDD} addNumDrbTimeCriticalHo > CONST 1068 ? CONST 1068 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_TDD maxNumActDrb = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} countCells == CONST 2 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_TDD-${LNCEL_TDD} maxNumActDrb > CONST 1068 ? CONST 1068 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_TDD maxNumActUE = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} countCells == CONST 2 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_TDD-${LNCEL_TDD} maxNumActUE > CONST 356 ? CONST 356 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_TDD/MPUCCH_TDD addAUeRrHo = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} countCells == CONST 2 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_TDD-${LNCEL_TDD}/MPUCCH_TDD-${MPUCCH_TDD} addAUeRrHo > CONST 356 ? CONST 356 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_TDD/MPUCCH_TDD addAUeTcHo = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} countCells == CONST 2 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_TDD-${LNCEL_TDD}/MPUCCH_TDD-${MPUCCH_TDD} addAUeTcHo > CONST 356 ? CONST 356 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_TDD/MPUCCH_TDD addEmergencySessions = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} countCells == CONST 2 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_TDD-${LNCEL_TDD}/MPUCCH_TDD-${MPUCCH_TDD} addEmergencySessions > CONST 356 ? CONST 356 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_TDD/MPUCCH_TDD maxNumRrc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} countCells == CONST 2 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_TDD-${LNCEL_TDD}/MPUCCH_TDD-${MPUCCH_TDD} maxNumRrc > CONST 356 ? CONST 356 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_TDD/MPUCCH_TDD maxNumRrcEmergency = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} countCells == CONST 2 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_TDD-${LNCEL_TDD}/MPUCCH_TDD-${MPUCCH_TDD} maxNumRrcEmergency > CONST 356 ? CONST 356 : 

del_param minor LNCEL countCells




#history:
add_log minor "Conversion from TLF/TLC18_RADIO_1707_002 to TLF/TLC18_RADIO_1708_001"
