###########################################
## SCFD file version: 0.4                ##
## Release: FLF/FLC18SP_1803_003         ##
## LTE version: FLF18SP_RADIO_1803_003   ##
## LTE version: FLC18SP_RADIO_1803_003   ##
###########################################



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

####################################################################################################################
# LTE3577 Predefined KPIs observability based on real time selected counters
####################################################################################################################
add_param minor LNBTS actPredKpisObservability false

#v0.2 update migration for FC_LTE_SFS_RNL_PMO_Measure.16675
# If MNL/MNLENT/PCADM.rTPmCollEntityIpAddr == "192.168.0.1" and MNL/MNLENT/PCADM.rTPmCollEntityPortNum == "65535" then MRBTS/LNBTS.actPredKpisObservability shall be set to true
add_param minor PMCADM tempip temp
add_param minor PMCADM tempport temp
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/MNL/MNLENT/PMCADM tempip = CONST 0 == CONST 0 ? LISTPARAM MRBTS-${MRBTS}/MNL-${MNL}/MNLENT-${MNLENT}/PMCADM-${PMCADM} rTPmCollEntity 0 rTPmCollEntityIpAddr :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/MNL/MNLENT/PMCADM tempport = CONST 0 == CONST 0 ? LISTPARAM MRBTS-${MRBTS}/MNL-${MNL}/MNLENT-${MNLENT}/PMCADM-${PMCADM} rTPmCollEntity 0 rTPmCollEntityPortNum :
copy_param_relative minor MRBTS/MNL/MNLENT/PMCADM MRBTS-${MRBTS} tempip tempip
copy_param_relative minor MRBTS/MNL/MNLENT/PMCADM MRBTS-${MRBTS} tempport tempport
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS actPredKpisObservability = PARAM MRBTS-${MRBTS} tempip == CONST "192.168.0.1" && PARAM MRBTS-${MRBTS} tempport  == CONST "65535" ? CONST "true" :
del_param minor MRBTS tempip
del_param minor MRBTS tempport
del_param minor PMCADM tempip
del_param minor PMCADM tempport
#v0.2 end



####################################################################################################################
# LTE4053 Advanced UL CA SCell handling
####################################################################################################################
#OM_LTE_SFS_RNL.20764
#LNBTS-actAdvUlScellHandling shall be initialized with its default value.
add_param minor LNBTS actAdvUlScellHandling false



####################################################################################################################
# PR329195: LTE2585-A Parameter modification
####################################################################################################################
add_list_param minor MTRACE immedMDTControl * iFMDTPercentage 0





###########
# FDD:    #
###########

####################################################################################################################
# PR326491: DMRS group hopping is not supported in NB-IoT cell
####################################################################################################################
#OM_LTE_SFS_RNL.20933
#If the cellTechnology of the LNCEL instance is configured to 'NB-IoT-FDD' and actUlGrpHop = true then set actUlGrpHop  to 'false'.
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL actUlGrpHop = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} cellTechnology == CONST "NB-IoT-FDD" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} actUlGrpHop == CONST "true" ? CONST "false" :



####################################################################################################################
# PR322402: NB IOT No MSG2 scheduled with Rmax=1024 and G=1.5
####################################################################################################################
#OM_LTE_SFS_RNL.20931
#if sib2RepPatternNB is every2ndRF and sib2PeriodicityNB < siWindowLenNB*8, then sib2PeriodicityNB is set to the smallest value can larger or  equal to siWindowLenNB*8;
#if sib2RepPatternNB is every4thRF and sib2PeriodicityNB < siWindowLenNB*4, then sib2PeriodicityNB is set to the smallest value can larger or equal to siWindowLenNB*4;
#For all sibSchedulingListNB instances:
#if siMessageRepPatternNB is every2ndRF and siMessagePeriodicityNB < siWindowLenNB*8, then siMessagePeriodicityNB is set to the smallest value can larger or equal to siWindowLenNB*8;
#if siMessageRepPatternNB is every4thRF and siMessagePeriodicityNB < siWindowLenNB*4, then siMessagePeriodicityNB is set to the smallest value can larger or equal to siWindowLenNB*4;

copy_param minor NBIOTPR NBIOTPR sib2PeriodicityNB tempsib2PeriodicityNB
copy_param minor NBIOTPR NBIOTPR siWindowLenNB tempsiWindowLenNB
regex_replace minor PARAM MRBTS-*/LNBTS-*/NBIOTPR-* tempsib2PeriodicityNB REPLACE "ms" ALL ""
regex_replace minor PARAM MRBTS-*/LNBTS-*/NBIOTPR-* tempsiWindowLenNB REPLACE "ms" ALL ""
add_param minor NBIOTPR tempReference temp
add_param minor NBIOTPR tempVariable 40960ms
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/NBIOTPR tempReference = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} sib2RepPatternNB == CONST "every2ndRF" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} tempsib2PeriodicityNB < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} tempsiWindowLenNB * CONST 8 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} tempsiWindowLenNB * CONST 8 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/NBIOTPR tempReference = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} sib2RepPatternNB == CONST "every4thRF" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} tempsib2PeriodicityNB < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} tempsiWindowLenNB * CONST 4 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} tempsiWindowLenNB * CONST 4 :
dependence_del_param minor NBIOTPR tempReference temp tempVariable
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/NBIOTPR tempVariable = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} tempReference <= CONST 20480 ? CONST "20480ms" : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/NBIOTPR tempVariable = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} tempReference <= CONST 10240 ? CONST "10240ms" : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/NBIOTPR tempVariable = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} tempReference <= CONST 5120 ? CONST "5120ms" : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/NBIOTPR tempVariable = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} tempReference <= CONST 2560 ? CONST "2560ms" : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/NBIOTPR tempVariable = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} tempReference <= CONST 1280 ? CONST "1280ms" : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/NBIOTPR tempVariable = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} tempReference <= CONST 640 ? CONST "640ms" : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/NBIOTPR sib2PeriodicityNB = CONST 0 == CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} tempVariable :

add_list_param minor NBIOTPR sibSchedulingListNB * tempsiMessagePeriodicityNB temp
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/NBIOTPR sibSchedulingListNB * tempsiMessagePeriodicityNB = CONST 0 == CONST 0 ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} sibSchedulingListNB ${sibSchedulingListNB} siMessagePeriodicityNB :
regex_replace minor LISTPARAM MRBTS-*/LNBTS-*/NBIOTPR-* sibSchedulingListNB * tempsiMessagePeriodicityNB REPLACE "ms" ALL ""
add_list_param minor NBIOTPR sibSchedulingListNB * tempReference temp
add_list_param minor NBIOTPR sibSchedulingListNB * tempVariable 40960ms
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/NBIOTPR sibSchedulingListNB * tempReference = LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} sibSchedulingListNB ${sibSchedulingListNB} siMessageRepPatternNB == CONST "every2ndRF" && LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} sibSchedulingListNB ${sibSchedulingListNB} tempsiMessagePeriodicityNB < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} tempsiWindowLenNB * CONST 8 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} tempsiWindowLenNB * CONST 8 :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/NBIOTPR sibSchedulingListNB * tempReference = LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} sibSchedulingListNB ${sibSchedulingListNB} siMessageRepPatternNB == CONST "every4thRF" && LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} sibSchedulingListNB ${sibSchedulingListNB} tempsiMessagePeriodicityNB < PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} tempsiWindowLenNB * CONST 4 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} tempsiWindowLenNB * CONST 4 :
dependence_del_target_relative minor LISTPARAM MRBTS/LNBTS/NBIOTPR sibSchedulingListNB * tempVariable ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} sibSchedulingListNB ${sibSchedulingListNB} tempReference == CONST "temp"
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/NBIOTPR sibSchedulingListNB * tempVariable = LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} sibSchedulingListNB ${sibSchedulingListNB} tempReference <= CONST 20480 ? CONST "20480ms" :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/NBIOTPR sibSchedulingListNB * tempVariable = LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} sibSchedulingListNB ${sibSchedulingListNB} tempReference <= CONST 10240 ? CONST "10240ms" :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/NBIOTPR sibSchedulingListNB * tempVariable = LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} sibSchedulingListNB ${sibSchedulingListNB} tempReference <= CONST 5120 ? CONST "5120ms" :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/NBIOTPR sibSchedulingListNB * tempVariable = LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} sibSchedulingListNB ${sibSchedulingListNB} tempReference <= CONST 2560 ? CONST "2560ms" :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/NBIOTPR sibSchedulingListNB * tempVariable = LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} sibSchedulingListNB ${sibSchedulingListNB} tempReference <= CONST 1280 ? CONST "1280ms" :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/NBIOTPR sibSchedulingListNB * tempVariable = LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} sibSchedulingListNB ${sibSchedulingListNB} tempReference <= CONST 640 ? CONST "640ms" :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/NBIOTPR sibSchedulingListNB * siMessagePeriodicityNB = CONST 0 == CONST 0 ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/NBIOTPR-${NBIOTPR} sibSchedulingListNB ${sibSchedulingListNB} tempVariable :

del_param minor NBIOTPR tempsib2PeriodicityNB
del_param minor NBIOTPR tempsiWindowLenNB
del_param minor NBIOTPR tempReference
del_param minor NBIOTPR tempVariable
del_list_param minor NBIOTPR sibSchedulingListNB tempsiMessagePeriodicityNB
del_list_param minor NBIOTPR sibSchedulingListNB tempReference
del_list_param minor NBIOTPR sibSchedulingListNB tempVariable



#FZM/FZC specific
####################################################################################################################
# PR330001: [LTE3756] NIDD change limiting number of UEs / TTI
####################################################################################################################
#2,3 cells 5 MHz, 10 MHz maxNumUeDl,maxNumUeUl 5
#2,3 cells 15 MHz, 20 MHz maxNumUeDl,maxNumUeUl 10

#check if 1 or 2 or 3 cell configuration
#MRBTS/LNBTS/LNCEL.lcrId --> MRBTS/MNL-1/MNLENT-1,2/CELLMAPPING-1/LCELL-0-255(1-3)(100)/CHANNELGROUP-1-12/CHANNEL-1-4.antlDN --> APEQM

add_list minor APEQM cellList
add_param minor APEQM countCells 0

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 "/RMOD-[0-9]*/ANTL-[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 "/ANTMOD-[0-9]*" ALL ""
regex_replace minor PARAM MRBTS-*/MNL-*/MNLENT-*/CELLMAPPING-*/LCELL-*/CHANNELGROUP-*/CHANNEL-* apeqmId REPLACE "MRBTS-[0-9]*/EQM-1/APEQM-" ALL ""

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

dependence_add_param_based_on_MOC_instance minor APEQM apeqmInstanceId + 0
dependence_add_param_based_on_MOC_instance minor LCELL lcellInstanceId + 0
dependence_add_param_based_on_MOC_instance minor LNCEL lncelInstanceId + 0

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

dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/APEQM apeqmInstanceId LISTPARAM MRBTS/MNL/MNLENT/CELLMAPPING/LCELL apeqmList 0 apeqmId LISTPARAM cellList lncelInstanceId
add_list_param minor APEQM cellList * cell 1

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 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM countCells = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} cellList 2 cell + PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} countCells : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM countCells = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} cellList 3 cell + PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} countCells : 

dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/LNBTS/LNCEL lncelInstanceId LISTPARAM MRBTS/EQM/APEQM cellList 0 lncelInstanceId PARAM countCells
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/LNBTS/LNCEL lncelInstanceId LISTPARAM MRBTS/EQM/APEQM cellList 1 lncelInstanceId PARAM countCells
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/LNBTS/LNCEL lncelInstanceId LISTPARAM MRBTS/EQM/APEQM cellList 2 lncelInstanceId PARAM countCells
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/LNBTS/LNCEL lncelInstanceId LISTPARAM MRBTS/EQM/APEQM cellList 3 lncelInstanceId PARAM countCells

del_list minor LCELL cellList
del_list minor APEQM cellList
del_param minor APEQM countCells
del_param minor LCELL lcellInstanceId
del_param minor LCELL lncelInstanceId
del_param minor LNCEL lncelInstanceId
del_param minor APEQM apeqmInstanceId
del_param minor CHANNEL apeqmId
del_list minor LCELL apeqmList

#update LNCEL_FDD maxNumUeDl maxNumUeUl
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_FDD maxNumUeDl = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} countCells != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-${LNCEL_FDD} maxNumUeDl > CONST 10 ? CONST 10 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_FDD maxNumUeDl = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} countCells != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-${LNCEL_FDD} dlChBw == CONST "5 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-${LNCEL_FDD} maxNumUeDl > CONST 5 ? CONST 5 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_FDD maxNumUeDl = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} countCells != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-${LNCEL_FDD} dlChBw == CONST "10 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-${LNCEL_FDD} maxNumUeDl > CONST 5 ? CONST 5 : 

dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_FDD maxNumUeUl = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} countCells != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-${LNCEL_FDD} maxNumUeUl > CONST 10 ? CONST 10 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_FDD maxNumUeUl = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} countCells != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-${LNCEL_FDD} dlChBw == CONST "5 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-${LNCEL_FDD} maxNumUeUl > CONST 5 ? CONST 5 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_FDD maxNumUeUl = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} countCells != CONST 1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-${LNCEL_FDD} dlChBw == CONST "10 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-${LNCEL_FDD} maxNumUeUl > CONST 5 ? CONST 5 : 

del_param minor LNCEL countCells



#v0.3 update for CAS-143439-R0N1 - new CRL22743 migration requirement
####################################################################################################################
# CRL22743 Switching from LTE-U to LAA 
####################################################################################################################
#OM_LTE_SFS_RNL.21701
#Migration of the CRL22743 parameters to release 18_SP:
#IF (actUnlicensedAcc is set to ‘LTE-U’)
#Then
#actUnlicensedAcc has to be set to ‘LAA’
#		therefore: 	
#	lteuContiguousChannelPriority must be set to 'bestChannel' value
#	exactly one instance of MOC CADPRLAA must exist, so if it does not exist it must be created with default values	
#earfcnDl for unlicensed cells (LAA cells) must be set to the following values (the order of the cells is of no importance): 
#	47091 (first cell) 
#	47289 (second cell, if it exists) 

dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNBTS_FDD actUnlicensedAcc = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNBTS_FDD-${LNBTS_FDD} actUnlicensedAcc == CONST "LTE-U" ? CONST "LAA" : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNBTS_FDD/LAA/LNUPR lteuContiguousChannelPriority = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNBTS_FDD-${LNBTS_FDD} actUnlicensedAcc == CONST "LAA" ? CONST "bestChannel" : 

dependence_add_obj minor LNBTS_FDD actUnlicensedAcc LAA MRBTS/LNBTS/CADPRLAA-0
set_operation minor CADPRLAA create
set_adaptation minor CADPRLAA NOKLTE
add_param minor CADPRLAA a3Offset -6
add_param minor CADPRLAA a3TimeToTrigger 320ms
add_param minor CADPRLAA a3TriggerQuantity RSRP
add_param minor CADPRLAA a6Offset 6
add_param minor CADPRLAA a6ReportInterval 640ms
add_param minor CADPRLAA a6TimeToTrigger 320ms
add_param minor CADPRLAA disableSCellPDCCHOlLa false
add_param minor CADPRLAA enableA3Event true
add_param minor CADPRLAA enableA6Event true
add_param minor CADPRLAA enableFreqPrioSwap disabled
add_param minor CADPRLAA hysA3Offset 2
add_param minor CADPRLAA hysA6Offset 0
add_param minor CADPRLAA maxNumScellSwaps 0
add_param minor CADPRLAA sFreqPrio 1
add_param minor CADPRLAA scellMeasThreshRsrp -110
add_param minor CADPRLAA scellMeasThreshRsrq -120


#map LNCEL to APEQM
#MRBTS/LNBTS/LNCEL.lcrId --> MRBTS/MNL-1/MNLENT-1,2/CELLMAPPING-1/LCELL-0-255(1-3)(100)/CHANNELGROUP-1-12/CHANNEL-1-4.antlDN --> APEQM

#add apeqmId to LCELL
copy_param_relative minor MRBTS/MNL/MNLENT/CELLMAPPING/LCELL/CHANNELGROUP/CHANNEL MRBTS-${MRBTS}/MNL-${MNL}/MNLENT-${MNLENT}/CELLMAPPING-${CELLMAPPING}/LCELL-${LCELL}/CHANNELGROUP-${CHANNELGROUP}/CHANNEL-${CHANNEL} antlDN apeqmId
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 "/APMOD-[0-9]*" ALL ""
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 "MRBTS-[0-9]*/EQM-1/APEQM-" ALL ""
copy_param_relative minor MRBTS/MNL/MNLENT/CELLMAPPING/LCELL/CHANNELGROUP/CHANNEL MRBTS-${MRBTS}/MNL-${MNL}/MNLENT-${MNLENT}/CELLMAPPING-${CELLMAPPING}/LCELL-${LCELL} apeqmId apeqmId
del_param minor CHANNEL apeqmId

#add lncelInstanceId and earfcnDL to LCELL
copy_param_relative minor MRBTS/LNBTS/LNCEL/LNCEL_FDD MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} earfcnDL earfcnDL
dependence_move_param_based_on_keyparam_value minor MRBTS/LNBTS/LNCEL lcrId earfcnDL MRBTS/MNL/MNLENT/CELLMAPPING/LCELL earfcnDL
dependence_add_param_based_on_MOC_instance minor LNCEL lncelInstanceId + 0
dependence_move_param_based_on_keyparam_value minor MRBTS/LNBTS/LNCEL lcrId lncelInstanceId MRBTS/MNL/MNLENT/CELLMAPPING/LCELL lncelInstanceId
del_param minor LNCEL earfcnDL
del_param minor LNCEL lncelInstanceId

#pack earfcnDL and lncelInstanceId together and make it listParam
add_param minor LCELL packedLncelIdEarfcnDL value
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/MNL/MNLENT/CELLMAPPING/LCELL packedLncelIdEarfcnDL = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/MNL-${MNL}/MNLENT-${MNLENT}/CELLMAPPING-${CELLMAPPING}/LCELL-${LCELL} lncelInstanceId JOIN CONST "_" JOIN PARAM MRBTS-${MRBTS}/MNL-${MNL}/MNLENT-${MNLENT}/CELLMAPPING-${CELLMAPPING}/LCELL-${LCELL} earfcnDL : 
copy_param_to_array_param_relative minor MRBTS/MNL/MNLENT/CELLMAPPING/LCELL packedLncelIdEarfcnDL MRBTS-${MRBTS}/MNL-${MNL}/MNLENT-${MNLENT}/CELLMAPPING-${CELLMAPPING}/LCELL-${LCELL} unlicensedCellsList
array_to_list minor LCELL unlicensedCellsList unlicensedCellsList packedLncelIdEarfcnDL
del_param minor LCELL packedLncelIdEarfcnDL

#move packed earfcnDL and lncelInstanceId to list in APEQM
dependence_add_param_based_on_MOC_instance minor APEQM apeqmInstanceId + 0
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/APEQM apeqmInstanceId PARAM MRBTS/MNL/MNLENT/CELLMAPPING/LCELL apeqmId LISTPARAM unlicensedCellsList packedLncelIdEarfcnDL
del_param minor APEQM apeqmInstanceId
del_list minor LCELL unlicensedCellsList

#unpack earfcnDL and lncelInstanceId in APEQM
add_list_param minor APEQM unlicensedCellsList * earfcnDL value
add_list_param minor APEQM unlicensedCellsList * lncelInstanceId value
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/APEQM unlicensedCellsList * earfcnDL = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} unlicensedCellsList ${unlicensedCellsList} packedLncelIdEarfcnDL :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/APEQM unlicensedCellsList * lncelInstanceId = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} unlicensedCellsList ${unlicensedCellsList} packedLncelIdEarfcnDL :
regex_replace minor LISTPARAM MRBTS-*/EQM-*/APEQM-* unlicensedCellsList 0 lncelInstanceId REPLACE "_[0-9]*" ALL ""
regex_replace minor LISTPARAM MRBTS-*/EQM-*/APEQM-* unlicensedCellsList 0 earfcnDL REPLACE "[0-9]*_" ALL ""
regex_replace minor LISTPARAM MRBTS-*/EQM-*/APEQM-* unlicensedCellsList 1 lncelInstanceId REPLACE "_[0-9]*" ALL ""
regex_replace minor LISTPARAM MRBTS-*/EQM-*/APEQM-* unlicensedCellsList 1 earfcnDL REPLACE "[0-9]*_" ALL ""
regex_replace minor LISTPARAM MRBTS-*/EQM-*/APEQM-* unlicensedCellsList 2 lncelInstanceId REPLACE "_[0-9]*" ALL ""
regex_replace minor LISTPARAM MRBTS-*/EQM-*/APEQM-* unlicensedCellsList 2 earfcnDL REPLACE "[0-9]*_" ALL ""

#delete licensed cells
add_list_param minor APEQM unlicensedCellsList * isUnlicensedCell false
#v0.4 mrbtsId can differ from lnbtsId
copy_param_relative minor MRBTS/LNBTS/LNBTS_FDD MRBTS-${MRBTS} actUnlicensedAcc actUnlicensedAcc
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/APEQM unlicensedCellsList * isUnlicensedCell = LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} unlicensedCellsList ${unlicensedCellsList} earfcnDL >= CONST "46890" && LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} unlicensedCellsList ${unlicensedCellsList} earfcnDL <= CONST "53540" && PARAM MRBTS-${MRBTS} actUnlicensedAcc == CONST "LAA" ? CONST "true" :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/APEQM unlicensedCellsList * isUnlicensedCell = LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} unlicensedCellsList ${unlicensedCellsList} earfcnDL >= CONST "255244" && LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} unlicensedCellsList ${unlicensedCellsList} earfcnDL <= CONST "261894" && PARAM MRBTS-${MRBTS} actUnlicensedAcc == CONST "LAA" ? CONST "true" :
dependence_del_target_relative minor LISTITEM MRBTS/EQM/APEQM unlicensedCellsList * ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} unlicensedCellsList ${unlicensedCellsList} isUnlicensedCell == CONST "false"
del_param minor MRBTS actUnlicensedAcc
#v0.4 end

#move new earfcnDL to LNCEL_FDD
add_list_param minor APEQM unlicensedCellsList 0 newEarfcnDL 47091
add_list_param minor APEQM unlicensedCellsList 1 newEarfcnDL 47289

dependence_add_param_based_on_MOC_instance minor LNCEL lncelInstanceId + 0
copy_param_relative minor MRBTS/LNBTS/LNCEL MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-0 lncelInstanceId lncelInstanceId
del_param minor LNCEL lncelInstanceId

move_list_param_to_param minor MRBTS/EQM/APEQM MRBTS/EQM/APEQM unlicensedCellsList 0 newEarfcnDL newEarfcnDL0
move_list_param_to_param minor MRBTS/EQM/APEQM MRBTS/EQM/APEQM unlicensedCellsList 0 lncelInstanceId lncelInstanceId0
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_FDD lncelInstanceId PARAM MRBTS/EQM/APEQM lncelInstanceId0 PARAM newEarfcnDL0

move_list_param_to_param minor MRBTS/EQM/APEQM MRBTS/EQM/APEQM unlicensedCellsList 1 newEarfcnDL newEarfcnDL1
move_list_param_to_param minor MRBTS/EQM/APEQM MRBTS/EQM/APEQM unlicensedCellsList 1 lncelInstanceId lncelInstanceId1
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_FDD lncelInstanceId PARAM MRBTS/EQM/APEQM lncelInstanceId1 PARAM newEarfcnDL1

dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_FDD earfcnDL = CONST "0" == CONST "0" ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-${LNCEL_FDD} newEarfcnDL0 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_FDD earfcnDL = CONST "0" == CONST "0" ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-${LNCEL_FDD} newEarfcnDL1 : 

del_list minor APEQM unlicensedCellsList
del_param minor APEQM newEarfcnDL0
del_param minor APEQM newEarfcnDL1
del_param minor APEQM lncelInstanceId0
del_param minor APEQM lncelInstanceId1
del_param minor LNCEL_FDD lncelInstanceId
del_param minor LNCEL_FDD newEarfcnDL0
del_param minor LNCEL_FDD newEarfcnDL1
del_param minor LCELL apeqmId
del_param minor LCELL earfcnDL
del_param minor LCELL lncelInstanceId
#v0.3 end





#history:
add_log minor "Conversion from FLF/FLC18_RADIO_1803_002 to FLF/FLC18SP_RADIO_1803_003"