####################################
## SCFD file version: 0.5         ##
## PDDB version: TLF16A_1602_001  ##
####################################

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

#v0.5
# LTE2658-A-i System upgrade to TD-LTE 16A - parameter conversion for FB16.04 TDD
# actCsfbECRestrRem deleted in 16.04, new check parameter taken into use
#check_param minor LNBTS actCsfbECRestrRem
check_param minor PMRNL mtSIMonitoring
#v0.5 end


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

################################################################################################
# LTE2331 Multi-language support in site manager and eNB
################################################################################################
# CFAM - No impact
#FZC specific
#SMOD-moduleLocation - hidden at the GUI and set to '-1'
dependence_mod_param_if_key_parameter_value_matches minor UNIT unitTypeExpected FZC1100 SMOD moduleLocation "-1"

################################################################################################
# CRL10221 Functional Grouping of Object Model Parameters – ongoing/partly done
################################################################################################
#! No impacts?

################################################################################################
# LTE2371-Q CRL9908 Flexi Zone shared backhaul and SLA Phase II - Backport to FL16/TL16 MP 9550 c - TL16_MP FL16_MP
################################################################################################
#! FZM

################################################################################################
# LTE2410 Removal of HRL restrictions with additional CSFB indicator 10446 c - TL16A FL16A
################################################################################################
#Object ID : FTM-551
#Migration of new parameters
#The following new mandatory parameter must be initialized with its default value:
#- LNBTS-actCsfbECRestrRem
add_param minor LNBTS actCsfbECRestrRem false

#Macro specific
################################################################################################
# LTE2508-A BTS Energy Saving - Embedded Power Meter 10316 c - TL16A FL16A
################################################################################################
# From compare
#add_param minor BTSSCL actPowerMeter false
#add_param minor PMRNL mtBtsEnergyMonitoring 15min

################################################################################################
# LTE2621-B eNodeB Limitation Actions for License Management in LTE 10341 c - TL16A FL16A
################################################################################################
# No migration indicated in CFAM but there is new mandatory parameter
# PMRNL-mtSIMonitoring SFS Default Value: 15
# and optional
# (RA-CCPM) CAPLIM-maxNumActUEeNB
add_param minor PMRNL mtSIMonitoring 15min

################################################################################################
# LTE2816 High Memory Consumption Alarm for OBSAI Radio Modules 10389 c - TL16A FL16A
################################################################################################
# CFAM no migration req.
# New optional RMOD-radioMemAnomalThreshold with default value??

################################################################################################
# LTE2828-C LNCEL LNBTS refactoring - ANR + RIM related parameters
################################################################################################

# Migration of RIM related parameters

# Several LNBTS parameters shall be relocated to a new MOC RIM. RIM is a new MOC subordinated to the MOC LNBTS. The parameters shall keep their originally configured values during the relocation.

# 1 Create a new MO instance called RIM as a subordinate object to the MO instance LNBTS.

add_cls minor LNBTS/RIM-0
set_operation minor RIM create

# 2 Relocate several mandatory parameters:

# Copy following mandatory parameters from the MO instance LNBTS to its subordinate MO instance RIM with their current values:

move_param minor LNBTS RIM tRimRirG
move_param minor LNBTS RIM tRimKaG
move_param minor LNBTS RIM tRimPollG
move_param minor LNBTS RIM nRimRirG
move_param minor LNBTS RIM tRimRirU
move_param minor LNBTS RIM tRimKaU
move_param minor LNBTS RIM tRimPollU
move_param minor LNBTS RIM nRimRirU

# After these mandatory parameters are created in the MO instance RIM, delete them in the MO instance LNBTS.
 

# 3 Relocate optional structure blacklistedGsmPlmnsForRim:

# If configured in LNBTS, copy following optional structure with all its mandatory subordinate parameters from LNBTS to RIM. The related parameters are listed below:

move_list minor LNBTS RIM blacklistedGsmPlmnsForRim
# LNBTS RIM blacklistedGsmPlmnsForRim-mcc
# LNBTS RIM blacklistedGsmPlmnsForRim-mnc
# LNBTS RIM blacklistedGsmPlmnsForRim-mncLength

# The originally configured values of the parameters shall be kept. As the multiplicity of the structured parameter blacklistedGsmPlmnsForRim is 6, there might be several blacklistedGsmPlmnsForRim structures configured in LNBTS. Copy all of these to the MO instance RIM. If there is no blacklistedGsmPlmnsForRim configured in LNBTS, don’t create it in RIM.

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


# 4 Relocate optional structure blacklistUtranCellsForRim:

# If configured in LNBTS, copy following optional structure with all its configured subordinate parameters from LNBTS to RIM. All subordinate parameters are optional; copy only the ones that are currently configured. The related parameters are listed below:

move_list minor LNBTS RIM blacklistUtranCellsForRim
# LNBTS RIM blacklistUtranCellsForRim-rncId
# LNBTS RIM blacklistUtranCellsForRim-utranCarrierFreq
# LNBTS RIM blacklistUtranCellsForRim-mcc
# LNBTS RIM blacklistUtranCellsForRim-mnc
# LNBTS RIM blacklistUtranCellsForRim-mncLength

# The originally configured values of the parameters shall be kept. As the multiplicity of the structured parameter blacklistUtranCellsForRim is 16, there might be several blacklistUtranCellsForRim structures configured in LNBTS. Copy all of these to the MO instance RIM. If there is no blacklistUtranCellsForRim configured in LNBTS, don’t create it in RIM.

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

# Migration of the MO instance ANR and ANR related parameters

# If there is no MO instance ANR configured subordinated to LNBTS, all of the following migration steps shall be executed. If there is already a MO instance ANR configured, migration steps 1-3 shall be ignored and only migration steps 4-7 shall be executed.

# 1 Create a new MO instance called ANR as a subordinate object to the MO instance LNBTS.
# This is necessary as the ANR instance becomes mandatory.

#!! ANR MO exists already

# 2 Create following parameters with their default values in the newly created MO instance ANR.

#!! consecHoFailThres is already existing in LNBTS?
#move_param minor LNBTS ANR consecHoFailThres
#!! Following parameters are added already in 1510v01 to ANR.
#move_param minor LNBTS ANR minNotActivatedRttRSCFS
#move_param minor LNBTS ANR anrRttTRSCFS
#move_param minor LNBTS ANR minNumThresRttNR
#move_param minor LNBTS ANR samNumThresRttNR
#move_param minor LNBTS ANR tTmpBlacklistRttANR
#move_param minor LNBTS ANR actAutoRttNeighRemoval
#move_param minor LNBTS ANR idleTimeThresRttNR

# 3 Relocate following mandatory parameters from the MO instance LNBTS to the MO instance ANR:

# Copy following mandatory parameters from the MO instance LNBTS to its subordinate MO instance ANR with their current values:

move_param minor LNBTS ANR maxNumX2LinksOut
move_param minor LNBTS ANR maxNumX2LinksIn
move_param minor LNBTS ANR anrRobLevel
move_param minor LNBTS ANR consecHoFailThres
move_param minor LNBTS ANR s1PrdRevalWaitTmr
move_param minor LNBTS ANR x2PrdRevalWaitTmr
move_param minor LNBTS ANR idleTimeThresUtranNR
move_param minor LNBTS ANR consecUtranHoFailThres
move_param minor LNBTS ANR utranPrdRevalWaitTmr
move_param minor LNBTS ANR anrRobLevelUtran
move_param minor LNBTS ANR anrIfTRSC
move_param minor LNBTS ANR minNotActivatedUtraRSCFS
move_param minor LNBTS ANR anrUtraTRSCFS
move_param minor LNBTS ANR actAutoLteNeighRemoval
move_param minor LNBTS ANR actAutoUtranNeighRemoval

# After these mandatory parameters are created in the MO instance ANR, delete them in the MO instance LNBTS.


# 4 Relocate mandatory structure anrIdleTimeThresLte

# Copy following mandatory structure with all its configured subordinate parameters from LNBTS to ANR. All subordinate parameters are mandatory. The related parameters are listed below:

move_list minor LNBTS ANR anrIdleTimeThresLte
# LNBTS ANR anrIdleTimeThresLte-idleTimeThresLteNR
# LNBTS ANR anrIdleTimeThresLte-idleTimeThresX2
# LNBTS ANR anrIdleTimeThresLte-idleTimeThresNbeNB
# LNBTS ANR anrIdleTimeThresLte-idleTimeThresNbEnbExch
# LNBTS ANR anrIdleTimeThresLte-nbEnbExchWaitTmr

# The originally configured values of the parameters shall be kept.
# After creation of the parameters in the MO instance ANR, delete the original of this structure including all subordinate parameters in the MO instance LNBTS.

# 5 Relocate optional structure pciIpAdrMap

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

move_list minor LNBTS ANR pciIpAdrMap
# LNBTS ANR pciIpAdrMap-dlEarfcn
# LNBTS ANR pciIpAdrMap-pci
# LNBTS ANR pciIpAdrMap-ipAdr
# LNBTS ANR pciIpAdrMap-mcc
# LNBTS ANR pciIpAdrMap-mnc
# LNBTS ANR pciIpAdrMap-mncLength
# LNBTS ANR pciIpAdrMap-enbId

# Please note that some of the subordinate parameters are optional parameters (marked with optional above), create them in the MO instance ANR only if they are configured in the existing pciIpAdrMap structure in LNBTS.
# If pciIpAdrMap is not configured in LNBTS, don’t create it in ANR.

# After creation of the structure pciIpAdrMap in the MO instance ANR, delete the original of this structure including all subordinate parameters in the MO instance LNBTS.


# 6 Relocate optional structure glbNbEnbIdX2LinkBlacklist

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

move_list minor LNBTS ANR glbNbEnbIdX2LinkBlacklist
# LNBTS ANR glbNbEnbIdX2LinkBlacklist-mcc
# LNBTS ANR glbNbEnbIdX2LinkBlacklist-mnc
# LNBTS ANR glbNbEnbIdX2LinkBlacklist-mncLength
# LNBTS ANR glbNbEnbIdX2LinkBlacklist-enbId

# Please note that glbNbEnbIdX2LinkBlacklist-enbId is an optional parameter, create it for the MO instance ANR only if it is configured in the existing glbNbEnbIdX2LinkBlacklist structure in LNBTS.
# If glbNbEnbIdX2LinkBlacklist is not configured in LNBTS, don’t create it in ANR.

# After creation of the structure glbNbEnbIdX2LinkBlacklist in the MO instance ANR, delete the original of this structure including all subordinate parameters in the MO instance LNBTS.

################################################################################################
# LBT3528 CRL9647 SIB9 support for open and hybrid cells 9880 c - TL16_MP FL16_MP
################################################################################################
# https://jira3.int.net.nokia.com/browse/LTERLCR-9647
#! No impact

################################################################################################
# LTE2611-A-r Introduction of public safety specific QCI bearers -- PDCCH priority tag for public safety high priority QCI65 10249 c - TL16A FL16A
################################################################################################
# FB15.11 ?
#! Hidden parameter

#Macro specific
##############################################################################
# LTE2824-A Extended frequency band range -- Functionality development 
##############################################################################
#OM_LTE_SFS_RNL_15623:
# For each instance of:
#  the following conversion is to be done
# MHA.antBandList.antOperFreqBand to MHA.antBandList.antFreqBand
# RET.antBandList.antOperFreqBand to RET.antBandList.antFreqBand
# RAE.antBandList.antOperFreqBand to RAE.antBandList.antFreqBand
#! Above done in FB16.01

# applying the following conversion List:
#  Band I (1) ==>   Band 1 (1)
#  Band II (2) ==>   Band 2 (2)
#  Band III (3) ==>   Band 3 (3)
#  Band IV (4) ==>   Band 4 (4)
#  Band V (5) ==>   Band 5 (5)
#  Band VI (6) ==>   Band 6 (6)
#  Band VII (7) ==>   Band 7 (7)
#  Band VIII (8) ==>   Band 8 (8)
#  Band IX (9) ==>   Band 9 (9)
#  Band X (10) ==>   Band 10 (10)
#  Band XI (11) ==>   Band 11 (11)
#  Band XII (12) ==>   Band 12 (12)
#  Band XIII (13) ==>   Band 13 (13)
#  Band XIV (14) ==>   Band 14 (14)

#  Band XVII (20) ==>   Band 17 (17)
#  Band XVIII (21) ==>   Band 18 (18)
#  Band XIX (15) ==>   Band 19 (19)
#  Band XX (16) ==>   Band 20 (20)
#  Band XXI(17) ==>   Band 21 (21)

#  Band XXII (22) ==>   Band 22 (22)
#  Band XXIII (23) ==>   Band 23 (23)
#  Band XXIV (24) ==>   Band 24 (24)
#  Band XXV (25) ==>   Band 25 (25)
#  Band XXVI (26) ==>   Band 26 (26)
#  Band XXVII (27) ==>   Band 27 (27)
#  Band XXVIII (28) ==>   Band 28 (28)
#  Band XXIX (29) ==>   Band 29 (29)
#  Band XXX (30) ==>   Band 30 (30)
#  Band XXXI (31) ==>   Band 31 (31)
#  Band XXXII (32) ==>   Band 32 (32)
#  Band XXXIII (33) ==>   Band 33 (33)
#  Band XXXIV (34) ==>   Band 34 (34)
#  Band XXXV (35) ==>   Band 35 (35)
#  Band XXXVI (36) ==>   Band 36 (36)
#  Band XXXVII (37) ==>   Band 37 (37)
#  Band XXXVIII (38) ==>   Band 38 (38)
#  Band XXXIX (39) ==>   Band 39 (39)
#  Band XL (40) ==>   Band 40 (40)
#  Band XLI (41) ==>   Band 41 (41)
#  Band XLII (42) ==>   Band 42 (42)
#  Band XLIII (43) ==>   Band 43 (43)
#  Band XLIV (44) ==>   Band 44 (44)
#  Band LXVI (66) ==>   Band 66 (66)

# mod_list_param minor MHA antBandList antFreqBand

#Macro specific
################################################################################################
# LTE1694-A FSMr4 Capacity and Dimensioning 9585 c - - FL16S4
################################################################################################
#All the eNB configuration shall support in max 24 cells in FL16S4 release for FSMr4. 
#This modification has effects to following eNB level parameters:
#cellsToApplyList (LTE-CCPM.22155)
#multiplicity is changed to 24
#crgPrId (LTE-CCPM.22153)
#range is changed to 0 ... 23
#
#No new parameters, only current value range increase in previously mentioned parameters.


#FZC specific
#If csgType is set to CSG, then LNCEL-zsonPciPrachControl must set to "manual" on the same cell.
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL zsonPciPrachControl = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/FTM-1/UNIT-1 unitTypeExpected == CONST "FZC1100" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} csgType == CONST "CSG" ? CONST "manual" :


#v0.2
################################################################################################
# PR120791: [FL16A] SW Upgrade to FL16A - inactivityTimer Special value cause Fallback 408
################################################################################################
# This correction is done to xL16 in SCFDFD1509v02.txt by the pronto
# NA05840881: [FL15A][LGU+ DVT]No PDCCH Order transmitted before out of sync final
# For the xL16A NIDD is changed at 1502_001. The qci1ProtectionTimer is fixed at FB15.12.

# SFS_RNL.15497 and SFS_RNL.15495
#If configured in TL15A, parameter LNCEL-qci1ProtectionTimer must be migrated before LNCEL-inactivityTimer is migrated, 
#because in this case the migration of LNCEL-inactivityTimer is dependent on the value setting of LNCEL-qci1ProtectionTimer.

#LNCEL-qci1protectionTimer has to be migrated in order to adjust the value range of LNCEL-qci1ProtectionTimer to the new value range 2...180 sec.
#This new value range is necessary in order to adjust LNCEL-qci1ProtectionTimer value range to the new value range of LNCEL-inactivityTimer.
#If LNCEL-qci1ProtectionTimer has value '0' or '1' in previous release, then set LNCEL-qci1ProtectionTimer to new value '2', because values '0' and '1' are not allowed anymore.

# dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL qci1ProtectionTimer = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} qci1ProtectionTimer == CONST "0" || PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} qci1ProtectionTimer == CONST "1" ? CONST "2" :

#LNCEL-inactivityTimer: Due to CRL9624, LNCEL-inactivityTimer gets new value range 1...65535 in TL16. 

#If LNCEL-inactivityTimer has value '0' in previous release and LNCEL-qci1ProtectionTimer is configured, 
#then set LNCEL-inactivityTimer to 'LNCEL-qci1ProtectionTimer - 1'.

add_param minor LNCEL tempConfigured false
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempConfigured = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} qci1ProtectionTimer < CONST "181" ? CONST "true" :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL inactivityTimer = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} inactivityTimer == CONST "0" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempConfigured == CONST "true" ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} qci1ProtectionTimer - CONST "1" :

#Otherwise, if LNCEL-inactivityTimer has value '0' in previous release and LNCEL-qci1ProtectionTimer is not configured, 
#then set LNCEL-inactivityTimer to '65535'.

dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL inactivityTimer = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} inactivityTimer == CONST "0" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} tempConfigured == CONST "false" ? CONST "65535" :

del_param minor LNCEL tempConfigured
#v0.2 end


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


#FZM/FZC specific
################################################################################################
# LTE2959-A CRL10769 Flexi Zone Single Frequency Network Support - Standalone Pico TDD - Config 1 and 2
# LTE2959-C CRL10769 Flexi Zone Single Frequency Network Support - FZC TDD - Config 1 and 2
################################################################################################
#ANTL-antlId, rModId, RMOD-rModId - Range updated - no migration impact

#FZM specific: APMOD - MOC added
#If LNBTS-actSfn is set to 'true', then at least one instance of APMOD needs to exist
#RMOD-connectionList - Updated
#add_list_param minor RMOD connectionList apModId - should represent APMOD, but APMOD was not added in FZM
# added resourceList-subCellId when actSuperCell = true
#actSuperCell - Made visible at the GUI, = false - no migration impact
#superCellParSet - Added - optional  - no migration impact
#actDLCAggr, actOtdoa, dlMimoMode, dlSectorBeamformingMode, prachConfIndex, prachHsFlag, srsActivation - Relationship updated  - no migration impact

add_param minor LNBTS actSfn false

#v0.4 - cancel adding parameter - made optional in 1602_002
#v0.3 - add mandatory parameter
#add_list_param minor RMOD connectionList 0 apModId 1
#v0.3 end
#v0.4 end

#FZC specific
#APFTM-sfnPort - Added, optional  - no migration impact
#APMOD-aPModId, aptType, syncInputType - Updated  - no migration impact
#APMOD roleIdentity optional, sfnAntList set by the system, sfnApMasterId optional - Added  - no migration impact

add_param minor APMOD actSfn false


#Macro specific
##############################################################################
# LTE2824-A Extended frequency band range -- Functionality development 
##############################################################################
#OM_LTE_SFS_RNL_15623:
#! RAE only in TDD

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

#history:
#FZM Replace# add_log minor "Conversion from TL16A FB16.01 (002) to TL16A FB16.02 (001)"
add_log minor "Conversion from TLF16A FB16.01 (002) to TLF16A FB16.02 (001)"