####################################
## SCFD file version: 0.4         ##
## PDDB version: TL16_1508_002    ##
####################################

#General checking for rule file execution
check_version minor TL16A
check_param minor LNBTS planFileActivationMode

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

################################################################################################
# LTE2060 Addition or replacement of radios without site outage [Standard]
################################################################################################

add_param minor LNBTS planFileActivationMode totalServiceLossAllowed

################################################################################################
# LTE2098 VoLTE uplink coverage boosting [Standard] / CRL6597 Extend the value range of harqMaxTrUl
################################################################################################

#OM_LTE_SFS_RNL.14608, OM_LTE_SFS_RNL.14610
#1.
#1.1
copy_param minor LNCEL LNCEL harqMaxTrUl harqMaxTxUl
#1.2
#v0.2
# This deletion is temporary removed because still need in CP. Removed finally in 15.09?
#del_param minor LNCEL harqMaxTrUl
#v0.2 end

################################################################################################
# LTE2503 Emergency call based mobility trigger (standard)
################################################################################################

add_param minor LNCEL sbHoMode all

################################################################################################
# LTE487 Idle mode mobility load balancing (standard), CRL8783 Separate autoAdapt flag for Idle Mode Mobility Load Balancing 
################################################################################################

add_param minor MODPR autoAdaptIMLB true

################################################################################################
# LTE2379 SFP monitoring on RP3/CPRI
################################################################################################

add_param minor PMRNL mtSfp 15min

################################################################################################
# LTE2060-B - Add new frequency or cell without reset 
################################################################################################

del_param minor RET active

################################################################################################
# PR058700: [FL16] Fsmr3: Extra fault trigger parameter in object TRBLCADM
################################################################################################

del_list minor TRBLCADM faultTriggerL
del_list minor TRBLCADM faultTriggers
del_param minor TRBLCADM syslogSnapshotT

################################################################################################
# PR067381: [LTE2006-C][TL16 FSIH]Unit of a6TimeToTrigger is missing
################################################################################################

dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/CADPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/CADPR-${CADPR} a6TimeToTrigger == CONST "0" ? CONST "0ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/CAPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAPR-${CAPR} a6TimeToTrigger == CONST "0" ? CONST "0ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/CADPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/CADPR-${CADPR} a6TimeToTrigger == CONST "40" ? CONST "40ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/CAPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAPR-${CAPR} a6TimeToTrigger == CONST "40" ? CONST "40ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/CADPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/CADPR-${CADPR} a6TimeToTrigger == CONST "64" ? CONST "64ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/CAPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAPR-${CAPR} a6TimeToTrigger == CONST "64" ? CONST "64ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/CADPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/CADPR-${CADPR} a6TimeToTrigger == CONST "80" ? CONST "80ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/CAPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAPR-${CAPR} a6TimeToTrigger == CONST "80" ? CONST "80ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/CADPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/CADPR-${CADPR} a6TimeToTrigger == CONST "100" ? CONST "100ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/CAPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAPR-${CAPR} a6TimeToTrigger == CONST "100" ? CONST "100ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/CADPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/CADPR-${CADPR} a6TimeToTrigger == CONST "128" ? CONST "128ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/CAPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAPR-${CAPR} a6TimeToTrigger == CONST "128" ? CONST "128ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/CADPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/CADPR-${CADPR} a6TimeToTrigger == CONST "160" ? CONST "160ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/CAPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAPR-${CAPR} a6TimeToTrigger == CONST "160" ? CONST "160ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/CADPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/CADPR-${CADPR} a6TimeToTrigger == CONST "256" ? CONST "256ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/CAPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAPR-${CAPR} a6TimeToTrigger == CONST "256" ? CONST "256ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/CADPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/CADPR-${CADPR} a6TimeToTrigger == CONST "320" ? CONST "320ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/CAPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAPR-${CAPR} a6TimeToTrigger == CONST "320" ? CONST "320ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/CADPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/CADPR-${CADPR} a6TimeToTrigger == CONST "480" ? CONST "480ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/CAPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAPR-${CAPR} a6TimeToTrigger == CONST "480" ? CONST "480ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/CADPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/CADPR-${CADPR} a6TimeToTrigger == CONST "512" ? CONST "512ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/CAPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAPR-${CAPR} a6TimeToTrigger == CONST "512" ? CONST "512ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/CADPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/CADPR-${CADPR} a6TimeToTrigger == CONST "640" ? CONST "640ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/CAPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAPR-${CAPR} a6TimeToTrigger == CONST "640" ? CONST "640ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/CADPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/CADPR-${CADPR} a6TimeToTrigger == CONST "1024" ? CONST "1024ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/CAPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAPR-${CAPR} a6TimeToTrigger == CONST "1024" ? CONST "1024ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/CADPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/CADPR-${CADPR} a6TimeToTrigger == CONST "1280" ? CONST "1280ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/CAPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAPR-${CAPR} a6TimeToTrigger == CONST "1280" ? CONST "1280ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/CADPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/CADPR-${CADPR} a6TimeToTrigger == CONST "2560" ? CONST "2560ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/CAPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAPR-${CAPR} a6TimeToTrigger == CONST "2560" ? CONST "2560ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/CADPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/CADPR-${CADPR} a6TimeToTrigger == CONST "5120" ? CONST "5120ms" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL/CAPR a6TimeToTrigger = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/CAPR-${CAPR} a6TimeToTrigger == CONST "5120" ? CONST "5120ms" :

################################################################################################
# LTE2060-B - Add new frequency or cell without reset 
################################################################################################

add_param minor LNCEL csgType openAccess

################################################################################################
# LTE2098 VoLTE uplink coverage boosting [Standard]
################################################################################################

#actQci1eVTT new relation would need migration
#conflicts with e.g. drxSmartProfile2-drxProfilePriority

#v0.2

################################################################################################
# PR067925: [TL16 OBSAI-FSM3]unsupported parameter eIcicMaxG2CioMacro and eIcicMaxG2CioMacro
################################################################################################

del_param minor LNCEL eIcicMaxG2CioNonMacro
del_param minor LNCEL eIcicMaxG3CioNonMacro

################################################################################################
# PR067925: [TL16 OBSAI-FSM3]unsupported parameter eIcicMaxG2CioMacro and eIcicMaxG2CioMacro
################################################################################################

# actCellTrace
# The modification of actCellTrace from 'true' to 'false' requires that actMDTloggedCellTrace is set to 'false'.
dependence_mod_param minor LNBTS actCellTrace "false" actMDTloggedCellTrace "false"

#v0.2 end

#v0.4
################################################################################################
# PR082048: [FL00][System Upgrade] LTE1099 related configuration didn't be migrated properly when eNB upgrade from FL15A to FL16
################################################################################################
# Note: deletion of symptomDataTriggerL here even it is deleted from PDDB in FL16_1504_002
# Deleted here because value shall be first copied to new list parameter MRBTS/TRBLCADM-faultSnapshotTriggers.faultNumber
array_to_list minor MRBTS symptomDataTriggerL faultSnapshotTriggers faultNumber
move_list minor MRBTS TRBLCADM faultSnapshotTriggers
add_list_param minor TRBLCADM faultSnapshotTriggers * triggerType "onFaultDetection"
dependence_del_target_relative minor LISTITEM MRBTS/TRBLCADM faultSnapshotTriggers * ? LISTPARAM MRBTS-${MRBTS}/TRBLCADM-${TRBLCADM} faultSnapshotTriggers ${faultSnapshotTriggers} faultNumber == CONST 100000
#v0.4 end
###########
# TDD:    #
###########

################################################################################################
# LTE2422 CPRI Ir slave mode with holdover support for FSMF [Standard]
################################################################################################

add_param minor SMOD dualModeSyncSlave "dual mode disabled"

#v0.3
#Rationale based on e-mail discussion
#FSIH: 
#extDualModeSyncMaster = 'true'   =>  dualModeSyncSlave = 'dual mode without holdover' (FSIH does not support LTE2422)
#extDualModeSyncMaster = 'false'  =>  dualModeSyncSlave = 'disabled'
#FSMF: 
#extDualModeSyncMaster = 'true'   => dualModeSyncSlave = 'dual mode with holdover' (FSMF supports LTE2422)
#extDualModeSyncMaster = 'false'  => dualModeSyncSlave = 'disabled'

# temporary product type for FSIH (FSIH)
dependence_add_param_based_on_string minor MRBTS/SMOD prodCodePlanned 472567A tempSmodType "FSIH"
# Modify dualModeSyncSlave based on extDualModeSyncMaster
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/SMOD dualModeSyncSlave = PARAM MRBTS-${MRBTS}/SMOD-${SMOD} extDualModeSyncMaster == CONST "true" ? CONST "dual mode with holdover" :
# Modify dualModeSyncSlave based on extDualModeSyncMaster for FSIH
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/SMOD dualModeSyncSlave = PARAM MRBTS-${MRBTS}/SMOD-${SMOD} extDualModeSyncMaster == CONST "true" && PARAM MRBTS-${MRBTS}/SMOD-${SMOD} tempSmodType == CONST "FSIH" ? CONST "dual mode without holdover" :
#1.3 Delete temporary parameters
del_param minor SMOD tempSmodType
#v0.3 end

del_param minor SMOD extDualModeSyncMaster

#v0.2

################################################################################################
# LTE2422 CPRI Ir slave mode with holdover support for FSMF [Standard]
################################################################################################

# dlMimoMode
# If dlMimoMode is set to ('Closed Loop MIMO (4x2)' OR 'Closed Loop MIMO (4x4)' OR 'Closed Loop MIMO (8x2)' OR 'Closed Loop MIMO (8x4)'),
# actCsiRsSubFNonTM9Sch is allowed to be configured to 'true', in any other case actCsiRsSubFNonTM9Sch must be configured to 'false'.
#!! actCsiRsSubFNonTM9Sch = dlMimoMode != "Closed Loop MIMO (4x2)" && dlMimoMode != "Closed Loop MIMO (4x4)" && dlMimoMode != "Closed Loop MIMO (8x2)" && dlMimoMode != "Closed Loop MIMO (8x4)" ? "false" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL actCsiRsSubFNonTM9Sch = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlMimoMode != CONST "Closed Loop MIMO (4x2)" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlMimoMode != CONST "Closed Loop MIMO (4x4)" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlMimoMode != CONST "Closed Loop MIMO (8x2)" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} dlMimoMode != CONST "Closed Loop MIMO (8x4)" ? CONST "false" :

#v0.2 end

#version
set_version major TL16

#history:
add_log minor "Conversion from TL16 FB15.07 to TL16 FB15.08 (002)"