###########################################
## SCFD file version: 0.16               ##
## Release: FLF/FLC18A_1807_001          ##
## LTE version: FLF18A_RADIO_1807_001    ##
## LTE version: FLC18A_RADIO_1807_001    ##
###########################################




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

####################################################################################################################
# LTE2971 DRX profile for public safety 
####################################################################################################################
#OM_LTE_SFS_RNL.21297
#Perform following migration steps in each LNCEL instance:
#1. If a DRX instance is configured, the following new mandatory DRX parameters shall be initialized during migration: 
#MRBTS/LNBTS/LNCEL/DRX-drxProfile6 and its subordinated parameters:
#DRX-drxProfile6-drxInactivityT
#DRX-drxProfile6-drxLongCycle
#DRX-drxProfile6-drxOnDuratT
#DRX-drxProfile6-drxProfileIndex
#DRX-drxProfile6-drxProfilePriority
#DRX-drxProfile6-drxRetransT
#Each parameter within drxProfile6 shall be set to the same value as the corresponing parameter in DRX-drxProfile2 in the same LNCEL instance.
#If no DRX instance is configured then do not add the new parameters.
#2. If a SDRX instance is configured, the following new mandatory SDRX parameters shall be initialized during migration: 
#MRBTS/LNBTS/LNCEL/SDRX-drxSmartProfile6 and its subordinated parameters:
#SDRX-drxSmartProfile6-drxInactivityT
#SDRX-drxSmartProfile6-drxLongCycle
#SDRX-drxSmartProfile6-drxOnDuratT
#SDRX-drxSmartProfile6-drxProfileIndex
#SDRX-drxSmartProfile6-drxProfilePriority
#SDRX-drxSmartProfile6-drxRetransT
#SDRX-drxSmartProfile6-drxShortCycle
#SDRX-drxSmartProfile6-drxShortCycleT
#SDRX-drxSmartProfile6-smartStInactFactor
#Each parameter within drxSmartProfile6 shall be set to the same value as the corresponing parameter in SDRX-drxSmartProfile2 in the same LNCEL instance.
#If no SDRX instance is configured then do not add the new parameters.

copy_list_param minor DRX DRX drxProfile2 drxProfile6
#v0.3 drxProfile6-drxProfileIndex must be set to 6
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL/DRX drxProfile6 0 drxProfileIndex = CONST "1" == CONST "1" ? CONST "6" :
#v0.3 end
copy_list_param minor SDRX SDRX drxSmartProfile2 drxSmartProfile6



####################################################################################################################
# LTE4613 TM9 in MBSFN subframes
####################################################################################################################
#OM_LTE_SFS_RNL.21564
add_param minor LNBTS actDLUnicastMbsfn false



####################################################################################################################
# LTE4487 Automatic Access Class Barring Alarms, Counters and Status Enhancement
####################################################################################################################
add_param minor LNBTS actAcBarringACS false



####################################################################################################################
# LTE3437 Additional RSRP/RSRQ checks for A3 handover
####################################################################################################################
#OM_LTE_SFS_RNL.21309
#The following new mandatory parameter must be initialized with its default value:
#LNBTS-actAddA3HoCheck.
add_param minor LNBTS actAddA3HoCheck false



####################################################################################################################
# CRL22974 Advanced step-wise SCell Addition for CA: Initial SCell Addition in one step
####################################################################################################################
#OM_LTE_SFS_RNL.21373
#IMPORTANT NOTE: The content of the migration rule is based on dedicated request. It has nothing in common with the content of the request in the CRL (when it was written). The migration rules are done for overloaded and functional unused parameter for dedicated customer. For those a PLMN-ID based specific handling is therefore needed.
#If the PLMN-ID in the configuration file matches to the listed below 
#	- ( LNBTS-mcc is equal to '505' and LNBTS-mnc is equal to '2' and LNBTS-mncLength is '2' ) OR
#	- ( LNBTS-mcc is equal to '311' and LNBTS-mnc is equal to '480' and LNBTS-mncLength is '3' ) OR
#	- ( LNBTS-mcc is equal to '312' and LNBTS-mnc is equal to '770' and LNBTS-mncLength is '3' ) 	
#AND LNCEL-actNbrForNonGbrBearers is 'false' in all LNCEL with LNCEL-cellTechnology configured to 'FDD' or 'TDD' 
#AND LNBTS-numTxWithHighNonGbr >0
#then
#	(1.1) If in LNBTS-qciTab9-nbrDl the bit#3 is '0' and bit#4 is '1' (LSB is bit#0) then
#		- initialize LNBTS-actAdvStepwiseScellAdd with value 'oneStepAdvanced'
#		- change in LNBTS-qciTab9-nbrDl the bit#3 and bit#4 to value '0' (LSB is bit#0).
#	(1.2) If in LNBTS-qciTab9-nbrDl the bit#3 is '1' and bit#4 is '0' (LSB is bit#0) then
#		- initialize LNBTS-actAdvStepwiseScellAdd with value 'buffer-based'
#		- change in LNBTS-qciTab9-nbrDl the bit#3 and bit#4 to value '0' (LSB is bit#0).
#	(1.3) If in LNBTS-qciTab9-nbrDl the bit#3 is '0' and bit#4 is '0' (LSB is bit#0) then
#		- initialize LNBTS-actAdvStepwiseScellAdd with value 'off'
#else
#Initialize the following new mandatory parameter LNBTS-actAdvStepwiseScellAdd with its default value 'off'.
#IMPORTANT: 
#The difference between the specific PLMN-ID listed above and all other customer is based on a knife deployment in release 18SP. The CRL does not include the defined handling, but this has been confirmed and is working in that specific customer environment.

add_param minor LNBTS actAdvStepwiseScellAdd off

add_param minor LNBTS tempConditionMatch false
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS tempConditionMatch = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mcc == CONST 505 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mnc == CONST 2 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mncLength == CONST 2 ? CONST "true" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS tempConditionMatch = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mcc == CONST 311 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mnc == CONST 480 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mncLength == CONST 3 ? CONST "true" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS tempConditionMatch = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mcc == CONST 312 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mnc == CONST 770 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mncLength == CONST 3 ? CONST "true" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS tempConditionMatch = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* actNbrForNonGbrBearers != CONST "false" ? CONST "false" : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS tempConditionMatch = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* cellTechnology == CONST "NB-IoT-FDD" ? CONST "false" : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS tempConditionMatch = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} numTxWithHighNonGbr == CONST 0 ? CONST "false" : 

#v0.2 bit operations update
# get bit3 and bit4
add_param minor LNBTS qciTab9nbrDlbit3 tempValue
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS qciTab9nbrDlbit3 = CONST "true" == CONST "true" ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9 0 nbrDl / CONST 16 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS qciTab9nbrDlbit3 = CONST "true" == CONST "true" ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9nbrDlbit3 * CONST 2 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS qciTab9nbrDlbit3 = CONST "true" == CONST "true" ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9 0 nbrDl / CONST 8 - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9nbrDlbit3 : 
add_param minor LNBTS qciTab9nbrDlbit4 tempValue
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS qciTab9nbrDlbit4 = CONST "true" == CONST "true" ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9 0 nbrDl / CONST 32 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS qciTab9nbrDlbit4 = CONST "true" == CONST "true" ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9nbrDlbit4 * CONST 2 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS qciTab9nbrDlbit4 = CONST "true" == CONST "true" ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9 0 nbrDl / CONST 16 - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9nbrDlbit4 : 

dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS actAdvStepwiseScellAdd = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempConditionMatch == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9nbrDlbit3 == CONST "0" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9nbrDlbit4 == CONST "1" ? CONST "oneStepAdvanced" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS actAdvStepwiseScellAdd = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempConditionMatch == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9nbrDlbit3 == CONST "1" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9nbrDlbit4 == CONST "0" ? CONST "buffer-based" :

#change in LNBTS-qciTab9-nbrDl the bit#3 and bit#4 to value '0' (LSB is bit#0) ==> minus 8 or minus 16
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS qciTab9 0 nbrDl = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempConditionMatch == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9nbrDlbit3 == CONST "0" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9nbrDlbit4 == CONST "1" ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9 0 nbrDl - CONST 16 : 
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS qciTab9 0 nbrDl = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempConditionMatch == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9nbrDlbit3 == CONST "1" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9nbrDlbit4 == CONST "0" ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9 0 nbrDl - CONST 8 : 
#v0.2 end

del_param minor LNBTS tempConditionMatch
del_param minor LNBTS qciTab9nbrDlbit4



####################################################################################################################
# LTE4575 Blind Carrier Aggregation with LTE-NR DC Option 3X 
# LTE4193 Dynamic Trigger for LTE-NR DC Option 3X
####################################################################################################################
#OM_LTE_SFS_RNL.21151
#During migration following tasks need to be done, no matter if the BTS serves FDD or TDD cells.
#(1) In each instance of MOC /MRBTS/LNBTS the parameter actCAggrLteNrDualConnectivity shall be added with value 'disabled'.
#OM_LTE_SFS_RNL.21423
#During migration following tasks need to be done, no matter if the BTS serves FDD or TDD cells.
#(1) In each instance of MOC /MRBTS/LNBTS the parameter actDynTrigLteNrDualConnectivity shall be added with value 'false'.
add_param minor LNBTS actCAggrLteNrDualConnectivity disabled
add_param minor LNBTS actDynTrigLteNrDualConnectivity false



####################################################################################################################
# CRL23389 Flexible CA aware IMMLB
####################################################################################################################
#OM_LTE_SFS_RNL.21410
#The following new mandatory parameter must be initialized with its respective default value according to NIDD:
#LNBTS-actIdleLBSupportedBands.
add_param minor LNBTS actIdleLBSupportedBands false



####################################################################################################################
# LTE4259 Increased carrier monitoring in connected mode
####################################################################################################################
#OM_LTE_SFS_RNL.21562
add_param minor LNBTS actIncCarrMonit false



####################################################################################################################
# CRL24847 Visibility of S1 failure for NB-IoT and host cells
####################################################################################################################
#OM_LTE_SFS_RNL.21499
#LNBTS-actPlmnUnavailForCellReport : default value = 0:disabled
add_param minor LNBTS actPlmnUnavailForCellReport disabled



####################################################################################################################
# LTE3105 RLF triggered HO enhancements
####################################################################################################################
#OM_LTE_SFS_RNL.17631
#The new, mandatory LNBTS parameter actRLFbasedRCREnhanced must be initialized with the default value in NIDD.
add_param minor LNBTS actRLFbasedRCREnhanced false



####################################################################################################################
# LTE4793 Service basis PRB utilization management extension
# LTE1491 Activation flag extensions due to LTE4793
####################################################################################################################
#FC_LTE_SFS_RNL_PMO_Measure.16726
#If parameter MRBTS/LNBTS.actServicePRButiL exists no action shall be performed due to migration activities.
#If parameter MRBTS/LNBTS.actServicePRButiL does not exist and parameter MRBTS/LNBTS.actL1PM is set to value 'true', then the parameter MRBTS/LNBTS.actServicePRButiL shall be set to value 'true' as well.
#If parameter MRBTS/LNBTS.actServicePRButiL does not exist and parameter MRBTS/LNBTS.actL1PM is set to value 'false', then the parameter MRBTS/LNBTS.actServicePRButiL shall be set to value 'false' as well.
copy_param minor LNBTS LNBTS actL1PM actServicePRButiL



####################################################################################################################
# CRL24969 advance LTE3723 VoLTE UL quality based HO to 18A
####################################################################################################################
add_param minor LNBTS actVoLTEQualInterFreqMobility false



####################################################################################################################
# LTE4088-F LTE-NR Dual Connectivity Option 3X
####################################################################################################################
#OM_LTE_SFS_RNL.20344
#(1) In each instance of MOC /MRBTS/LNBTS/LNCEL where moPrMappingList exists,
#the member lteNrDualConnectSupport shall be added to the structure with value 'all'.
add_list_param minor LNCEL moPrMappingList * lteNrDualConnectSupport all
add_param minor PMRNL mtX2gNBperCell 15min



####################################################################################################################
# CRL23547 Use ARP Priority Level to select NR-eligible bearers
####################################################################################################################
#OM_LTE_SFS_RNL.21347
#During migration following tasks need to be done, no matter if the BTS serves FDD or TDD cells.
#(1) In MOC /MRBTS/LNBTS
#in the qciTab[6...9] AND qciTabOperator the structure members
#startArpEnDc and stopArpEnDc shall be added to those structures with the default value each.
add_list_param minor LNBTS qciTab6 * startArpEnDc 1
add_list_param minor LNBTS qciTab6 * stopArpEnDc 15
add_list_param minor LNBTS qciTab7 * startArpEnDc 1
add_list_param minor LNBTS qciTab7 * stopArpEnDc 15
add_list_param minor LNBTS qciTab8 * startArpEnDc 1
add_list_param minor LNBTS qciTab8 * stopArpEnDc 15
add_list_param minor LNBTS qciTab9 * startArpEnDc 1
add_list_param minor LNBTS qciTab9 * stopArpEnDc 15
add_list_param minor LNBTS qciTabOperator * startArpEnDc 1
add_list_param minor LNBTS qciTabOperator * stopArpEnDc 15



####################################################################################################################
# LTE4664 Licensed-Assisted Access 6CC IoDT
####################################################################################################################
#OM_LTE_SFS_RNL.21328
#The following new mandatory parameters must be initialized with their respective default values according to NIDD:
#LNBTS-qciTab[x]-rlcProfIdx6cc7cc, x = {6, 7, 70, 8, 9}.
#LNBTS-qciTabOperator-rlcProfIdx6cc7cc.
#LNBTS-rlcProf[x]-snFieldLengthDl, x = {1...8}.
#LNBTS-rlcProf[x]-snFieldLengthUl, x = {1...8}.
#The following new mandatory parameters must be initialized by copying their respective values from the corresponding, existing parameters in the structure LNBTS-rlcProf[7], (for details, see NIDD):
#LNBTS-rlcProf[8]-maxRetxThresh.
#LNBTS-rlcProf[8]-pollPdu.
#LNBTS-rlcProf[8]-rlcProfileId.
#LNBTS-rlcProf[8]-tPollRetr.
#LNBTS-rlcProf[8]-tPollRetrDl.
#LNBTS-rlcProf[8]-tPollRetrUl.
#LNBTS-rlcProf[8]-tProhib.
#LNBTS-rlcProf[8]-tReord.
#LNBTS-rlcProf[8]-tReordIsca.

add_list_param minor LNBTS qciTab6 * rlcProfIdx6cc7cc 8
add_list_param minor LNBTS qciTab7 * rlcProfIdx6cc7cc 8
add_list_param minor LNBTS qciTab70 * rlcProfIdx6cc7cc 8
add_list_param minor LNBTS qciTab8 * rlcProfIdx6cc7cc 8
add_list_param minor LNBTS qciTab9 * rlcProfIdx6cc7cc 8
add_list_param minor LNBTS qciTabOperator * rlcProfIdx6cc7cc 8
add_list_param minor LNBTS rlcProf1 * snFieldLengthDl 10bit
add_list_param minor LNBTS rlcProf1 * snFieldLengthUl 10bit
add_list_param minor LNBTS rlcProf2 * snFieldLengthDl 10bit
add_list_param minor LNBTS rlcProf2 * snFieldLengthUl 10bit
add_list_param minor LNBTS rlcProf3 * snFieldLengthDl 10bit
add_list_param minor LNBTS rlcProf3 * snFieldLengthUl 10bit
add_list_param minor LNBTS rlcProf4 * snFieldLengthDl 10bit
add_list_param minor LNBTS rlcProf4 * snFieldLengthUl 10bit
add_list_param minor LNBTS rlcProf5 * snFieldLengthDl 10bit
add_list_param minor LNBTS rlcProf5 * snFieldLengthUl 10bit
add_list_param minor LNBTS rlcProf6 * snFieldLengthDl 10bit
add_list_param minor LNBTS rlcProf6 * snFieldLengthUl 10bit



####################################################################################################################
# CRL22541 DL HARQ for SRB
####################################################################################################################
#OM_LTE_SFS_RNL.21226
# Migration of CRL22541 parameters:
#Creation/initialization of new parameters:
#The new optional parameters LNCEL-harqMaxTrSignalingDl LNCEL-harqMaxTrVoLteDl
#shall be initialized for FDD and TDD (EXCLUDING NB-IoT) according to following rules:
# For following Verizon Wireless FDD networks, the hard-coded values shall be carried over, i.e., 
#if { LNBTS-mcc is '311' and LNBTS-mnc is '480' and LNBTS-mncLength is '3'
#    or LNBTS-mcc is '312' and LNBTS-mnc is '770' and LNBTS-mncLength is '3'
#}
#then
#LNCEL-harqMaxTrSignalingDl shall be set to '8' and 
#LNCEL-harqMaxTrVoLteDl shall be set to '8' as well.
#For all other networks (world market FDD & TDD and Verizon Wireless TDD)
#LNCEL-harqMaxTrSignalingDl shall be set equal to LNCEL-harqMaxTrDl and 
#LNCEL-harqMaxTrVoLteDl shall be set equal to LNCEL-harqMaxTrDl as well.

copy_param minor LNCEL LNCEL harqMaxTrDl harqMaxTrSignalingDl
copy_param minor LNCEL LNCEL harqMaxTrDl harqMaxTrVoLteDl

dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL harqMaxTrSignalingDl = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mcc == CONST 311 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mnc == CONST 480 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mncLength == CONST 3 ? CONST 8 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL harqMaxTrVoLteDl = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mcc == CONST 311 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mnc == CONST 480 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mncLength == CONST 3 ? CONST 8 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL harqMaxTrSignalingDl = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mcc == CONST 312 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mnc == CONST 770 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mncLength == CONST 3 ? CONST 8 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL harqMaxTrVoLteDl = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mcc == CONST 312 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mnc == CONST 770 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mncLength == CONST 3 ? CONST 8 :

dependence_del_param minor LNCEL cellTechnology NB-IoT-FDD harqMaxTrSignalingDl
dependence_del_param minor LNCEL cellTechnology NB-IoT-FDD harqMaxTrVoLteDl



####################################################################################################################
# CRL22764 RSRQ based A5 for Intra-Frequency HO
####################################################################################################################
#OM_LTE_SFS_RNL.21404
#In MOC LNCEL, the parameter a5TriggerQuantityIntraFreqHO shall be added with its default 'RSRP'.
add_param minor LNCEL a5TriggerQuantityIntraFreqHO RSRP



####################################################################################################################
# CRL23140 Load Based Dynamic Inactivity Timer
####################################################################################################################
#OM_LTE_SFS_RNL.21382
#The following new mandatory parameter must be initialized with its default value:
#LNCEL-actDynamicDataSessionProf.
add_param minor LNCEL actDynamicDataSessionProf false



####################################################################################################################
# LTE3745 S1 based mobility to open access Home eNB, CSG and Hybrid cells
####################################################################################################################
#OM_LTE_SFS_RNL.20593
#The following new mandatory parameter must be initialized with its default value:
#LNCEL-actForcedDrxS1Ho
add_param minor LNCEL actForcedDrxS1Ho false

#v0.10 requirement updated due to PR390684
#[PR390684:]
#Although structure drxProfile104 is an optional structure, and feature LTE3745 is disabled during upgrade to FL18A, structure drxProfile104 must be initialized.
#Reason:
#The optional structure drxProfile104 includes mandatory parameter drxProfileIndex, which is defined as 'not modifiable'.
#A parameter defined as not modifiable can just be changed during object creation.
#That means, after upgrade to FL18A, for already existing cells, structure member drxProfileIndex cannot be modified anymore.
#Therefore, LTE3745 cannot be activated anymore, because this requires structure drxProfile104 and all its structure members including drxProfileIndex to be configured. 
#Therefore, we have to configure structure drxProfile104 and all of its structure members during upgrade to FL18A, in order to allow a potential activation of LTE3745 for already existing cells.
#Due to this reason the following migration rule shall be implemented:
#For all LNCEL objects with cellTechnology set to 'FDD':
#- create structure drxProfile104
#- configure structure member drxInactivityT to value '30'
#- configure structure member drxLongCycle to value '320' (default)
#- configure structure member drxOnDuratT to the following value: 
#	if (LNCEL-cellResourceSharingMode is not set to 'none' AND
#		LNBTS-actUeBasedAnrInterFreqLte is set to 'true')
#		then set drxOnDuratT to value '10'
#	else if (LNBTS-actMBMS is set to 'true' AND
#		MBSFNSYNCAREA_FDD-maxSyncSubfrPShare is greater than '20.000%' AND
#		LNCEL_FDD-earfcnDL of this cell is equal to mbsfnEarfcn in MBSFNSYNCAREA_FDD AND
#	   	LNCEL_FDD-dlChBw of this cell is equal to mbsfnDlChBw in same MBSFNSYNCAREA_FDD)
#		then set drxOnDuratT to value '10'
#	else if (LNBTS-actDlUnicastMbsfn is set to 'true' AND 
#		UMBSFN-uMbsfnShareMax is greater than '20.000%')
#		then set drxOnDuratT to value '10'
#	else set drxOnDuratT to value '6'
#- configure structure member drxProfileIndex to value '104' (default)
#- configure structure member drxProfilePriority to value '40' (default)
#- configure structure member drxRetransT to the following value:
#	if (LNCEL-cellResourceSharingMode is not set to 'none' AND 
#		LNBTS-actUeBasedAnrInterFreqLte is set to 'true') 
#		then set drxRetransT to value '16'
#	else if (LNBTS-actMBMS is set to 'true' AND
#		MBSFNSYNCAREA_FDD-maxSyncSubfrPShare is less than or equal to '20.000%' AND
#	   	 LNCEL_FDD-earfcnDL of this cell is equal to mbsfnEarfcn in MBSFNSYNCAREA_FDD AND
#	   	 LNCEL_FDD-dlChBw of this cell is equal to mbsfnDlChBw in same MBSFNSYNCAREA_FDD)
#		then set drxRetransT to value '6'
#	else if (LNBTS-actDlUnicastMbsfn is set to 'true' AND 
#		UMBSFN-uMbsfnShareMax is less than or equal to '20.000%', 
#		then set drxRetransT to value '6'
#	else set drxRetransT to value '4'

#v0.13 CAS-199302-G7M9: Verizon FL18A FOA (GA2): LNCEL_drxProfile104 created with upgrade to FL18A GA2
#v0.16 PR409984: [FL18A][AirScale]Parameter drxRetransT check fail after upgrade from FL18SP to FL18A 
add_param minor LNCEL tempCheckDrxProf104 "1"
function_relative minor PARAM MRBTS/LNBTS/LNCEL tempCheckDrxProf104 = max "1" ( LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} drxProfile104 * drxProfileIndex )
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL tempCheckDrxProf104 = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempCheckDrxProf104 != CONST "1" ? CONST "true" :
add_list minor LNCEL drxProfile104
dependence_add_list_item_if_key_parameter_does_not_match minor MRBTS/LNBTS/LNCEL tempCheckDrxProf104 "104" MRBTS/LNBTS/LNCEL drxProfile104

dependence_add_param minor LNCEL cellTechnology "FDD" tempAddDrxProfile104 "true"
dependence_del_list_if_keyparam_is_missing minor MRBTS/LNBTS/LNCEL tempAddDrxProfile104 drxProfile104

dependence_add_param  minor LNCEL tempCheckDrxProf104 "1" tempdrxInactivityT "30"
dependence_add_param  minor LNCEL tempCheckDrxProf104 "1" tempDrxLongCycle "320"
dependence_add_param  minor LNCEL tempCheckDrxProf104 "1" tempDrxOnDuratT "6"
dependence_add_param  minor LNCEL tempCheckDrxProf104 "1" tempDrxProfileIndex "104"
dependence_add_param  minor LNCEL tempCheckDrxProf104 "1" tempDrxProfilePriori "40"
dependence_add_param  minor LNCEL tempCheckDrxProf104 "1" tempDrxRetransT temp
move_param_to_list_param minor MRBTS/LNBTS/LNCEL  MRBTS/LNBTS/LNCEL tempdrxInactivityT drxProfile104 0 drxInactivityT
move_param_to_list_param minor MRBTS/LNBTS/LNCEL  MRBTS/LNBTS/LNCEL tempDrxLongCycle drxProfile104 0 drxLongCycle
move_param_to_list_param minor MRBTS/LNBTS/LNCEL  MRBTS/LNBTS/LNCEL tempDrxOnDuratT drxProfile104 0 drxOnDuratT
move_param_to_list_param minor MRBTS/LNBTS/LNCEL  MRBTS/LNBTS/LNCEL tempDrxProfileIndex drxProfile104 0 drxProfileIndex
move_param_to_list_param minor MRBTS/LNBTS/LNCEL  MRBTS/LNBTS/LNCEL tempDrxProfilePriori drxProfile104 0 drxProfilePriority
move_param_to_list_param minor MRBTS/LNBTS/LNCEL  MRBTS/LNBTS/LNCEL tempDrxRetransT drxProfile104 0 drxRetransT

dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL drxProfile104 0 drxOnDuratT = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} cellResourceSharingMode != CONST "none" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actUeBasedAnrInterFreqLte == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempCheckDrxProf104 == CONST "1" ? CONST "10" :

copy_param minor MBSFNSYNCAREA_FDD MBSFNSYNCAREA_FDD maxSyncSubfrPShare tempMaxSyncSubfrPShare
regex_replace minor PARAM MRBTS-*/LNBTS-*/LNMCE-*/MBSFNSYNCAREA_FDD-* tempMaxSyncSubfrPShare REPLACE "^2.500%" ALL 02\.500%
regex_replace minor PARAM MRBTS-*/LNBTS-*/LNMCE-*/MBSFNSYNCAREA_FDD-* tempMaxSyncSubfrPShare REPLACE "^5.000%" ALL 05\.000%
regex_replace minor PARAM MRBTS-*/LNBTS-*/LNMCE-*/MBSFNSYNCAREA_FDD-* tempMaxSyncSubfrPShare REPLACE "^7.500%" ALL 07\.500%

copy_param_relative minor MRBTS/LNBTS/LNCEL/MBSFNCEL MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} syncAreaInUse tempSyncAreaId

dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/LNBTS/LNCEL tempSyncAreaId PARAM MRBTS/LNBTS/LNMCE/MBSFNSYNCAREA_FDD syncAreaId PARAM tempMaxSyncSubfrPShare

dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL drxProfile104 0 drxOnDuratT = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMBMS == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempMaxSyncSubfrPShare > CONST "20.000%" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempCheckDrxProf104 == CONST "1" ? CONST "10" :

copy_param minor UMBSFN UMBSFN uMbsfnShareMax tempUMbsfnShareMax
regex_replace minor PARAM MRBTS-*/LNBTS-*/UMBSFN-* tempUMbsfnShareMax REPLACE "^2.500%" ALL 02\.500%
regex_replace minor PARAM MRBTS-*/LNBTS-*/UMBSFN-* tempUMbsfnShareMax REPLACE "^5.000%" ALL 05\.000%
regex_replace minor PARAM MRBTS-*/LNBTS-*/UMBSFN-* tempUMbsfnShareMax REPLACE "^7.500%" ALL 07\.500%
dependence_add_param_based_on_MOC_instance minor LNCEL tempLnCelId + 0
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/LNBTS/LNCEL tempLnCelId PARAM MRBTS/LNBTS/LNMCE/UMBSFN lnCelId PARAM tempUMbsfnShareMax
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL drxProfile104 0 drxOnDuratT = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDlUnicastMbsfn == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempUMbsfnShareMax > CONST "20.000%" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempCheckDrxProf104 == CONST "1" ? CONST "10" :

dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL drxProfile104 0 drxRetransT = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} cellResourceSharingMode != CONST "none" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actUeBasedAnrInterFreqLte == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempCheckDrxProf104 == CONST "1" ? CONST "16" :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL drxProfile104 0 drxRetransT = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actMBMS == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempMaxSyncSubfrPShare <= CONST "20.000%" && LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} drxProfile104 ${drxProfile104} drxRetransT == CONST "temp" ? CONST "6" :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL drxProfile104 0 drxRetransT = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actDlUnicastMbsfn == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempUMbsfnShareMax <= CONST "20.000%" && LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} drxProfile104 ${drxProfile104} drxRetransT == CONST "temp" ? CONST "6" :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL drxProfile104 0 drxRetransT = LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} drxProfile104 ${drxProfile104} drxRetransT == CONST "temp" ? CONST 4 :

del_param minor LNCEL tempAddDrxProfile104
del_param minor LNCEL tempMaxSyncSubfrPShare
del_param minor LNCEL tempSyncAreaId
del_param minor MBSFNSYNCAREA_FDD tempMaxSyncSubfrPShare
del_param minor UMBSFN tempUMbsfnShareMax
del_param minor LNCEL tempUMbsfnShareMax
del_param minor LNCEL tempLnCelId
del_param minor LNCEL tempCheckDrxProf104

del_param minor LNCEL tempdrxInactivityT
del_param minor LNCEL tempDrxLongCycle
del_param minor LNCEL tempDrxOnDuratT 
del_param minor LNCEL tempDrxProfileIndex
del_param minor LNCEL tempDrxProfilePriori
del_param minor LNCEL tempDrxRetransT
#v0.16 end



####################################################################################################################
# LTE4668 Enhanced UE CA capability signaling
####################################################################################################################
#OM_LTE_SFS_RNL.21162
#The following new mandatory parameter must be initialized with its default value:
#LNCEL-actReducedFormat
add_param minor LNCEL actReducedFormat false



####################################################################################################################
# CRL22975 TCP Service Differentiation
####################################################################################################################
#OM_LTE_SFS_RNL.21269
#If (PLMN-ID belongs to OPTUS or Verizon, i.e., in case 
#	- ( LNBTS-mcc is equal to '505' and LNBTS-mnc is equal to '2' and LNBTS-mncLength is '2' ) OR
#	- ( LNBTS-mcc is equal to '311' and LNBTS-mnc is equal to '480' and LNBTS-mncLength is '3' ) OR
#	- ( LNBTS-mcc is equal to '312' and LNBTS-mnc is equal to '770' and LNBTS-mncLength is '3' ) )
#AND LNCEL-actNbrForNonGbrBearers is 'false'
#AND 3rd least significant bit of LNBTS-qciTab9-nbrDl is '1
#then
#	- for each LNCEL with LNCEL-cellTechnology configured to 'FDD' or 'TDD':
#		- set new parameter LNCEL-actTcpServiceDiff to value 'true'
#		- create new structure LNCEL-tcpServiceDiffConfig
#		- initialize the structure elements with the following values:
#			- set parameter boostGuardTimer to '3000'
#			- set parameter dlMaxBoostBytes to '3500'
#			- set parameter dlMinBoostBytes to '875'
#			- set parameter ulMaxBoostBytes to '1500'
#			- set parameter ulMinBoostBytes to '100'
#			- set parameter minTcpPacketSize to '100'
#			- set parameter timeBetweenTcpPackets to '1000'
#			- set parameter timeNextBoostingRound to '5000'
#	- for each LNCEL with LNCEL-cellTechnology configured to 'NB-IoT-FDD':
#		- set new parameter LNBTS-actTcpServiceDiff to value 'false'
#	- set new parameter LNBTS-qciTab8-boostFactorDl to '2'
#	- set new parameter LNBTS-qciTab8-boostFactorUl to '2'
#	- set the 3th least significant bit of parameter LNBTS-qciTab9-nbrDl to '0'
#else
#	- set new parameter LNCEL-actTcpServiceDiff to its default value 'false'.

add_param minor LNCEL actTcpServiceDiff false

add_param minor LNCEL tempFlag false
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempFlag = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mcc == CONST 505 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mnc == CONST 2 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mncLength == CONST 2 ? CONST "true" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempFlag = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mcc == CONST 311 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mnc == CONST 480 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mncLength == CONST 3 ? CONST "true" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempFlag = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mcc == CONST 312 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mnc == CONST 770 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mncLength == CONST 3 ? CONST "true" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempFlag = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actNbrForNonGbrBearers != CONST "false" ? CONST "false" : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempFlag = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9nbrDlbit3 == CONST "0" || PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9nbrDlbit3 == CONST "tempValue" ? CONST "false" : 
del_param minor LNBTS qciTab9nbrDlbit3

dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL actTcpServiceDiff = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempFlag == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} cellTechnology != CONST "NB-IoT-FDD" ? CONST "true" :

add_list minor LNCEL tcpServiceDiffConfig
dependence_del_target_relative minor LIST MRBTS/LNBTS/LNCEL tcpServiceDiffConfig ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} actTcpServiceDiff == CONST "false"
add_list_item minor LNCEL tcpServiceDiffConfig
add_list_param minor LNCEL tcpServiceDiffConfig * boostGuardTime 3000
add_list_param minor LNCEL tcpServiceDiffConfig * dlMaxBoostBytes 3500
add_list_param minor LNCEL tcpServiceDiffConfig * dlMinBoostBytes 875
add_list_param minor LNCEL tcpServiceDiffConfig * ulMaxBoostBytes 1500
add_list_param minor LNCEL tcpServiceDiffConfig * ulMinBoostBytes 100
add_list_param minor LNCEL tcpServiceDiffConfig * minTcpPacketSize 100
add_list_param minor LNCEL tcpServiceDiffConfig * timeBetweenTcpPackets 1000
add_list_param minor LNCEL tcpServiceDiffConfig * timeNextBoostingRound 5000

#v0.7 boostFactor values == UI_value * 10 (2-->20)
add_list_param minor LNBTS qciTab8 0 boostFactorDl 20
add_list_param minor LNBTS qciTab8 0 boostFactorUl 20
#v0.7 end

add_param minor LNBTS tempFlag true
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS tempFlag = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* actTcpServiceDiff == CONST "false" ? CONST "false" : 

dependence_del_target_relative minor LISTPARAM MRBTS/LNBTS qciTab8 0 boostFactorDl ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempFlag == CONST "false"
dependence_del_target_relative minor LISTPARAM MRBTS/LNBTS qciTab8 0 boostFactorUl ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempFlag == CONST "false"

#v0.2 bit operations update
#if tempFlag == CONST "true" - set the 3th least significant bit of parameter LNBTS-qciTab9-nbrDl to '0' ==> minus 8
#v0.5 get bit3
add_param minor LNBTS qciTab9nbrDlbit3 tempValue
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS qciTab9nbrDlbit3 = CONST "true" == CONST "true" ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9 0 nbrDl / CONST 16 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS qciTab9nbrDlbit3 = CONST "true" == CONST "true" ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9nbrDlbit3 * CONST 2 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS qciTab9nbrDlbit3 = CONST "true" == CONST "true" ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9 0 nbrDl / CONST 8 - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9nbrDlbit3 : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS tempFlag = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9nbrDlbit3 == CONST "0" || PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9nbrDlbit3 == CONST "tempValue" ? CONST "false" : 
#v0.5 end
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS qciTab9 0 nbrDl = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempFlag == CONST "true" ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9 0 nbrDl - CONST 8 : 
#v0.2 end

#v0.5
del_param minor LNBTS qciTab9nbrDlbit3
#v0.5 end

del_param minor LNCEL tempFlag
del_param minor LNBTS tempFlag



####################################################################################################################
# CRL23461 UL Dynamic BLER Adaptation
####################################################################################################################
#OM_LTE_SFS_RNL.21442
#In each instance of LNCEL following parameter shall be added:
#LNCEL-actUlDynamicTargetBler shall be set to it's default value 'false'.
add_param minor LNCEL actUlDynamicTargetBler false



####################################################################################################################
# CRL24336 Broadcast PLMN-Info in SIB2 for 5G trials
####################################################################################################################
#OM_LTE_SFS_RNL.21406
#During migration following tasks need to be done for each cell of the BTS.
#(1) In MOC LNCEL, in the structure furtherPlmnIdL the parameter upperLayerIndR15 shall be added with its default in all items of furtherPlmnIdL.
#(2) In MOC SIB, the parameter primPlmnUpperLayerIndR15 shall be added with its default.
add_list_param minor LNCEL furtherPlmnIdL * upperLayerIndR15 false
add_param minor SIB primPlmnUpperLayerIndR15 false



####################################################################################################################
# CRL22540 Non-adaptive HARQ for UL in high load 
####################################################################################################################
#OM_LTE_SFS_RNL.21218
#The new optional parameter LNCEL-puschHarqMode shall be initialized according to following rules:
#If LNCEL-cellTechnology is 'FDD', then
#	if LNCEL_FDD-ulChBw is '1.4 MHz', 
#	then 
#		puschHarqMode shall be set to 'nonAdaptive'.
#	else if customer is Verizon Wireless, i.e., 
#		if LNBTS-mcc is '311' and LNBTS-mnc is '480' and LNBTS-mncLength is '3'
#          or LNBTS-mcc is '312' and LNBTS-mnc is '770' and LNBTS-mncLength is '3'
#		then
#			if LNCEL-ulamcAllTbEn is 'false', 
#  then
#				LNCEL-puschHarqMode shall be set to 'nonAdaptiveHighPdcchLoad'.
#			if LNCEL-ulamcAllTbEn is 'true', 
#			then 
#				LNCEL-puschHarqMode shall be set to 'adaptive'.
# else for all other customers LNCEL-puschHarqMode shall be set to its default value.
#If LNCEL-cellTechnology is 'TDD', then LNCEL-puschHarqMode shall be set to its default value.
#If LNCEL-cellTechnology is unequal to 'FDD' AND unequal to 'TDD', then LNCEL-puschHarqMode does not need to be set.

dependence_add_param minor LNCEL cellTechnology FDD puschHarqMode adaptive
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL puschHarqMode = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-0 ulChBw == CONST "1.4 MHz" ? CONST "nonAdaptive" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL puschHarqMode = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-0 ulChBw != CONST "1.4 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mcc == CONST 311 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mnc == CONST 480 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mncLength == CONST 3 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} ulamcAllTbEn == CONST "false" ? CONST "nonAdaptiveHighPdcchLoad" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL puschHarqMode = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-0 ulChBw != CONST "1.4 MHz" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mcc == CONST 312 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mnc == CONST 770 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mncLength == CONST 3 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} ulamcAllTbEn == CONST "false" ? CONST "nonAdaptiveHighPdcchLoad" :



####################################################################################################################
# LTE4036-B NB-IoT: Additional carrier in host LTE cell
####################################################################################################################
#OM_LTE_SFS_RNL.21197
#The new mandatory parameters: 
#- NBIOT_FDD-numUlNonAnchCarrierNB
#must be initialized with the default value.
add_param minor NBIOT_FDD numUlNonAnchCarrierNB 0



####################################################################################################################
# LTE4066 Low Latency Fast UL Grants
####################################################################################################################
#OM_LTE_SFS_RNL.21259
#If cellTechnology is FDD, and actTcpBoost is set to 'true' or ilReacTimerUl is set to a valid value other than '0' or maxNumVoLteProactUlGrantsPerTti is set to a valid value other than '0':
#Then below parameters must be initialized with default values:
#     LNCEL-maxNumUeProactiveUl
#     LNCEL-maxNumUeProactiveUlNonTxSkip
#If cellTechnology is TDD, and actTcpBoost is set to 'true' or ilReacTimerUl is set to a valid value other than '0':
#Then below parameters must be initialized with default values:
#     LNCEL-maxNumUeProactiveUl
#     LNCEL-maxNumUeProactiveUlNonTxSkip

#v0.9 PR384329: [QT_Blocker][TL18A] Incomplete configuration: maxNumUeProactiveUl” when do commission
#If actProactSchedBySrb is set to 'true' and cellTechnology is not set to 'NB-IoT-FDD', the following is fulfilled:
#- maxNumUeProactiveUl must be configured, migration default value 10;
#- maxNumUeProactiveUlNonTxSkip must be configured, migration default value 10;
#v0.9 end

del_param minor LNCEL maxNumUeProactiveUlTxSkip

dependence_add_param minor LNCEL cellTechnology FDD tempFlag false
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempFlag = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} actTcpBoost == CONST "true" ? CONST "true" : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempFlag = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} ilReacTimerUl != CONST 0 ? CONST "true" : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempFlag = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} maxNumVoLteProactUlGrantsPerTti != CONST 0 ? CONST "true" : 
#v0.9
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempFlag = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} actProactSchedBySrb == CONST "true" ? CONST "true" : 
#v0.9 end
dependence_add_param minor LNCEL tempFlag true maxNumUeProactiveUl 10
dependence_add_param minor LNCEL tempFlag true maxNumUeProactiveUlNonTxSkip 10
del_param minor LNCEL tempFlag



####################################################################################################################
# CRL23388 Fast Scheduling Flexible CA
####################################################################################################################
#OM_LTE_SFS_RNL.21453
#Applicable for each instance of LNCEL with cellTechnology set to 'FDD' or 'TDD' which is a PCell.
#If LNBTS-actDLCAggr is set to 'true' AND
#LNCEL-cellTechnology set to 'FDD' or 'TDD' AND
#the LNCEL instance is configured as a PCell (having one or more instance/s of MOC CAREL defined to it)
#do the following migration task for such LNCEL instance that is a PCell
#add the parameter scellFastSchedulingSelect with value 'normal'
#For LNCEL instances where the parameter cellTechnology has the value 'NB-IoT-FDD', nothing needs to be done.

add_param minor LNCEL scellFastSchedulingSelect normal

copy_param_relative minor MRBTS/LNBTS MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-* actDLCAggr tempActDLCAggr
dependence_del_param minor LNCEL tempActDLCAggr false scellFastSchedulingSelect
del_param minor LNCEL tempActDLCAggr

copy_param_relative minor MRBTS/LNBTS/LNCEL/CAREL MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} lcrId tempLcrId
add_param minor LNCEL tempLcrId tempValue
dependence_del_param minor LNCEL tempLcrId tempValue scellFastSchedulingSelect
del_param minor LNCEL tempLcrId

dependence_del_param minor LNCEL cellTechnology NB-IoT-FDD scellFastSchedulingSelect



####################################################################################################################
# CRL24351 O&amp;M switch for CRL2253 'Bharti focused enhancement of LTE1944 "Dynamic Handover Blacklisting
####################################################################################################################
#OM_LTE_SFS_RNL.21704
#If LNBTS-actTempHoBlacklisting is set to 'false', the following new optional parameter must be initialized with its default value:
#  LNBTS-blacklistS1HoEPCFailure is set to 'false'.
dependence_add_param minor LNBTS actTempHoBlacklisting false blacklistS1HoEPCFailure false



#FZM specific
####################################################################################################################
# Rules to forbid setting pdcchOrderConfig to 'disabled' - as LTE2971 is not supported in 18A FZM/FZC
####################################################################################################################
mod_param minor LNCEL pdcchOrderConfig disabled enabled







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

####################################################################################################################
# LTE4741 Access Class Barring Support for Cat-M1
####################################################################################################################
#OM_LTE_SFS_RNL.21584
#The following new mandatory parameter must be initialized with its default value:
#	- CATMCEL-actAcBarringCatM
add_param minor CATMCEL actAcBarringCatM false



####################################################################################################################
# CRL23430 Tx Div SRB Transmi ion in CL and OL MIMO
####################################################################################################################
#OM_LTE_SFS_RNL.21396
#For each LNCEL with cellTechnology value 'FDD' where 
#LNCEL-actSrb1Robustness is configured to 'true'
#in the LNCEL_FDD instance of this LNCEL the parameter dlSrbMimoMode shall be added with the value based on the conditions below:
#  if in the same LNCEL_FDD instance dlMimoMode is one of ('SingleTX', 'TXDiv', '4-way TXDiv')
#    dlSrbMimoMode shall get value 'TxDiv'
#  else-if in the same LNCEL_FDD instance dlMimoMode is NONE of ('SingleTX', 'TXDiv', '4-way TXDiv')
#    AND MOD(LNCEL-dlSrbCqiOffset,10) = 1
#        AND IF the PLMN-ID is one of the following
#    	  - ( LNBTS-mcc is equal to '505' and LNBTS-mnc is equal to '2' and LNBTS-mncLength is '2' ) OR
#	      - ( LNBTS-mcc is equal to '311' and LNBTS-mnc is equal to '480' and LNBTS-mncLength is '3' ) OR
#	      - ( LNBTS-mcc is equal to '312' and LNBTS-mnc is equal to '770' and LNBTS-mncLength is '3' ) 
#        dlSrbMimoMode shall get value 'TxDiv'
#      AND IF the PLMN-ID is NONE of the before listed
#        dlSrbMimoMode shall get value 'SpatialMultiplexing'
#    AND MOD(LNCEL-dlSrbCqiOffset,10) != 1
#      dlSrbMimoMode shall get value 'SpatialMultiplexing'
#If LNCEL-actSrb1Robustness is configured to 'false' there is no migration task.

add_param minor LNCEL_FDD dlSrbMimoMode SpatialMultiplexing

copy_param_relative minor MRBTS/LNBTS/LNCEL MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-0 actSrb1Robustness tempActSrb1Robustness
dependence_del_param minor LNCEL_FDD tempActSrb1Robustness false dlSrbMimoMode
del_param minor LNCEL_FDD tempActSrb1Robustness

#v0.5 typo corrected
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_FDD dlSrbMimoMode = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-${LNCEL_FDD} dlMimoMode == CONST "SingleTX" || PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-${LNCEL_FDD} dlMimoMode == CONST "TXDiv" || PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNCEL_FDD-${LNCEL_FDD} dlMimoMode == CONST "4-way TXDiv" ? CONST "TxDiv" :
#v0.5 end

copy_param minor LNCEL LNCEL dlSrbCqiOffset dlSrbCqiOffsetMod10
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL dlSrbCqiOffsetMod10 = CONST "true" == CONST "true" ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlSrbCqiOffsetMod10 / CONST 10 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL dlSrbCqiOffsetMod10 = CONST "true" == CONST "true" ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlSrbCqiOffsetMod10 * CONST 10 :
#v0.8 requirement updated MOD(LNCEL-dlSrbCqiOffset,10) = -1, mail thread: question about OM_LTE_SFS_RNL.21396
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL dlSrbCqiOffsetMod10 = CONST "true" == CONST "true" ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlSrbCqiOffset - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlSrbCqiOffsetMod10 + CONST 10 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL dlSrbCqiOffsetMod10 = CONST "true" == CONST "true" ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlSrbCqiOffset - PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlSrbCqiOffsetMod10 :

dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_FDD dlSrbMimoMode = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlSrbCqiOffsetMod10 == CONST -1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mcc == CONST 505 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mnc == CONST 2 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mncLength == CONST 2 ? CONST "TxDiv" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_FDD dlSrbMimoMode = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlSrbCqiOffsetMod10 == CONST -1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mcc == CONST 311 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mnc == CONST 480 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mncLength == CONST 3 ? CONST "TxDiv" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/LNCEL_FDD dlSrbMimoMode = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlSrbCqiOffsetMod10 == CONST -1 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mcc == CONST 312 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mnc == CONST 770 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mncLength == CONST 3 ? CONST "TxDiv" :
#v0.8 end

del_param minor LNCEL dlSrbCqiOffsetMod10



####################################################################################################################
# CRL23747 Prolong timer override
####################################################################################################################
#OM_LTE_SFS_RNL.21388
#During migration following tasks need to be done, for all FDD cells served by the BTS.
#For each LNCEL with cellTechnology value 'FDD' where
#LNCEL-actLdPdcch is configured to 'true' AND
#(A) the PLMN-ID is one of the following
#	- ( LNBTS-mcc is equal to '310' and LNBTS-mnc is equal to '410' and LNBTS-mncLength is '3' ) OR
#	- ( LNBTS-mcc is equal to '313' and LNBTS-mnc is equal to '100' and LNBTS-mncLength is '3' ) OR
#	- ( LNBTS-mcc is equal to '311' and LNBTS-mnc is equal to '480' and LNBTS-mncLength is '3' ) OR
#	- ( LNBTS-mcc is equal to '312' and LNBTS-mnc is equal to '770' and LNBTS-mncLength is '3' ) 	
#in the same LNCEL instance the parameter adaptPdcchDwellTime shall be added with value '0'
#(B) for all other PLMN-IDs than listed under (A)
#in the same LNCEL instance the parameter adaptPdcchDwellTime shall be added with value '100'
#For each LNCEL with cellTechnology value 'NB-IoT-FDD' OR where LNCEL-actLdPdcch is configured to 'false', there is no migration task.

add_param minor LNCEL adaptPdcchDwellTime 100
dependence_del_param minor LNCEL actLdPdcch false adaptPdcchDwellTime
dependence_del_param minor LNCEL cellTechnology "NB-IoT-FDD" adaptPdcchDwellTime

dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL adaptPdcchDwellTime = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mcc == CONST 310 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mnc == CONST 410 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mncLength == CONST 3 ? CONST 0 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL adaptPdcchDwellTime = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mcc == CONST 313 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mnc == CONST 100 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mncLength == CONST 3 ? CONST 0 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL adaptPdcchDwellTime = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mcc == CONST 311 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mnc == CONST 480 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mncLength == CONST 3 ? CONST 0 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL adaptPdcchDwellTime = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mcc == CONST 312 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mnc == CONST 770 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} mncLength == CONST 3 ? CONST 0 :



####################################################################################################################
# LTE3677 MulteFire Commercial Support
####################################################################################################################
add_param minor PMRNL mtMultefire 15min



#v0.5 nbrDl cannot be 0 (range 1 - 32768)
#############################################################
#PR372631: [Naperville CSV][FL18A Trunk]: CRL22974 [LBT5818] - Migration rule failure when CRL22974 is Active (VzW PLMN, qciTab9:nbrDl = 8) from FL18SP to FL18A. 
#############################################################
#v0.6 PR375318: [Naperville CSV][FL18A Trunk]: CRL22975 [LBT5819] - Migration rule not implemented when CRL22975 is Active (VzW PLMN, qciTab9:nbrDl = 4) from FL18SP to FL18A.
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS qciTab9 0 nbrDl = LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9 0 nbrDl == CONST "0" ? CONST "" :
dependence_del_target_relative minor LISTPARAM MRBTS/LNBTS qciTab9 0 nbrDl ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} qciTab9 0 nbrDl == CONST 0
#v0.6 end
#v0.5 end








#history:
add_log minor "Conversion from FLF/FLC18A_RADIO_1806_001 to FLF/FLC18A_RADIO_1807_001"