####################################
## SCFD file version: 0.3         ##
## PDDB version: TL15A_1409_001   ##
####################################

#General checking for rule file execution
check_version minor LNT7.0
check_version minor TL16
check_param minor LNBTS act1xSrvcc

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


############################################################### 
# LTE2063 GNSS Manual Location Entry 
###############################################################

add_param minor MRBTS locationMode navigated


###############################################################
#  LTE738 SRVCC to 1xRTT/CDMA 
###############################################################

add_param minor LNBTS act1xSrvcc false


# 1. Unified LNCEL measurement configuration for starting eHRPD or 1xRTT measurements

#If actHOtoHrpd is set to 'true' then add the structure threshold2C2kConfig to each configured LNCEL instance and initialize the structure parameter as follows:

#dependence_add_list_if_key_parameter_does_not_match  (severity, keyClassRND, keyParamName, keyParamValue, keyClassRND, listName) 

dependence_add_list_if_key_parameter_does_not_match minor MRBTS/LNBTS actHOtoHrpd false MRBTS/LNBTS/LNCEL threshold2C2kConfig 

#dependence_add_list_item_if_key_parameter_does_not_match (severity, keyClassNameRND, keyParamName, keyParamValue, dstClassNameRND, listName)

dependence_add_list_item_if_key_parameter_does_not_match minor MRBTS/LNBTS actHOtoHrpd false MRBTS/LNBTS/LNCEL threshold2C2kConfig

#initialize threshold2C2kConfig-threshold2C2k  with value of LNCEL-threshold2Hrpd
#initialize threshold2C2kConfig-hysThreshold2C2k with value of LNCEL-hysThreshold2Hrpd
#initialize threshold2C2kConfig-a2TimeToTriggerActC2kMeas with value of LNCEL-a2TimeToTriggerActHrpdMeas

add_list_param minor LNCEL threshold2C2kConfig 0 threshold2C2k 0
add_list_param minor LNCEL threshold2C2kConfig 0 hysThreshold2C2k 0
add_list_param minor LNCEL threshold2C2kConfig 0 a2TimeToTriggerActC2kMeas 0

dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL threshold2C2kConfig 0 threshold2C2k = LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} threshold2C2kConfig 0 threshold2C2k == CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} threshold2Hrpd :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL threshold2C2kConfig 0 hysThreshold2C2k = LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} threshold2C2kConfig 0 hysThreshold2C2k == CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} hysThreshold2Hrpd :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL threshold2C2kConfig 0 a2TimeToTriggerActC2kMeas = LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} threshold2C2kConfig 0 a2TimeToTriggerActC2kMeas == CONST 0 ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} a2TimeToTriggerActHrpdMeas :


#Remove LNCEL parameters threshold2Hrpd, hysThreshold2Hrpd and a2TimeToTriggerActHrpdMeas

del_param minor LNCEL threshold2Hrpd
#del_param minor LNCEL hysThreshold2Hrpd // not deleted from PDDB as defined in CFAM
#del_param minor LNCEL a2TimeToTriggerActHrpdMeas // not deleted from PDDB as defined in CFAM

# 2. Renaming of CDMA2000 Reference Cell ID structure

#If the structure rttPreregRefCellId is configured in a LNCEL instance then add the structure rttRefCellId  to this instance and initialize the structure parameters as #follows:

#initialize rttMarketId with value of LNCEL-rttPreregRefCellId-rttPreregMarketId
#initialize rttSwNo with value of  LNCEL-rttPreregRefCellId-rttPreregSwNo
#initialize rttCellId with value of  LNCEL-rttPreregRefCellId-rttPregregCellId
#initialize rttSectorId with value of  LNCEL-rttPreregRefCellId-rttPreregSectorId


#if rttCsfbType is not set to 'forbidden' in the LNCEL instance and additionally act1xCsfb is set to 'true' rttPreregRefCellId is mandatory required in the LNCEL instance

# v0.3 correction for PR040157: [TL15A FSIH]Incomplete configuration for mandatory list rttRefCellID is missing when offline converted commissioning file from RL45 to TL15A

#add_param minor LNBTS tempParam 0
add_param minor LNCEL tempParam 0

#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS tempParam = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} act1xCsfb == CONST "true" && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} rttCsfbType != CONST "forbidden" ? CONST 1 :

dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempParam = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} act1xCsfb == CONST "true" ? CONST 1 :

dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL tempParam = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} rttCsfbType == CONST "forbidden" ? CONST 0 :

#add_list minor LNCEL rttRefCellId
#dependence_add_list_if_key_parameter_does_not_match  (severity, keyClassRND, keyParamName, keyParamValue, keyClassRND, listName) 

dependence_add_list_if_key_parameter_does_not_match minor MRBTS/LNBTS/LNCEL tempParam 0 MRBTS/LNBTS/LNCEL rttRefCellId

#add_list_item minor LNCEL rttRefCellId
#dependence_add_list_item_if_key_parameter_does_not_match (severity, keyClassNameRND, keyParamName, keyParamValue, dstClassNameRND, listName)

dependence_add_list_item_if_key_parameter_does_not_match minor MRBTS/LNBTS/LNCEL tempParam 0 MRBTS/LNBTS/LNCEL rttRefCellId

#del_param minor LNBTS tempParam
del_param minor LNCEL tempParam

add_list_param minor LNCEL rttRefCellId 0 rttCellId 0
add_list_param minor LNCEL rttRefCellId 0 rttMarketId 0
add_list_param minor LNCEL rttRefCellId 0 rttSectorId 0
add_list_param minor LNCEL rttRefCellId 0 rttSwNo 0

#v0.2 change
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL rttRefCellId 0 rttCellId = LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} rttRefCellId 0 rttCellId == CONST 0 ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} rttPreregRefCellId 0 rttPregregCellId :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL rttRefCellId 0 rttCellId = LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} rttRefCellId 0 rttCellId == CONST 0 ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} rttPreregRefCellId 0 rttPreregCellId :
# v0.3 correction for PR040157: [TL15A FSIH]Incomplete configuration for mandatory list rttRefCellID is missing when offline converted commissioning file from RL45 to TL15A END

dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL rttRefCellId 0 rttMarketId = LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} rttRefCellId 0 rttMarketId == CONST 0 ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} rttPreregRefCellId 0 rttPreregMarketId :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL rttRefCellId 0 rttSectorId = LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} rttRefCellId 0 rttSectorId == CONST 0 ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} rttPreregRefCellId 0 rttPreregSectorId :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL rttRefCellId 0 rttSwNo = LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} rttRefCellId 0 rttSwNo == CONST 0 ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} rttPreregRefCellId 0 rttPreregSwNo :
#v0.2 change END

#rttRefCellId must be present // should not cause impact because first rule is already there..
#- if act1xCsfb is set to 'true' and rttCsfbType for the cell is not set to 'forbidden' or
#- if act1xSrvcc is set to 'true'.

#Remove the LNCEL structure rttPreregRefCellId  with all its parameters.

# PDDB still contains  this => no deletion added!!!!


#3. threshold2a and a1TimeToTriggerDeactInterMeas become mandatory if LNRELX exists in LNCEL

#If at least one LNRELX instances exists in LNCEL and threshold2a is not configured then add threshold2a with its default value.

add_param minor LNCEL lnrelxTempParam 0

dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS/LNCEL lnrelxTempParam = PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNRELX-${LNRELX} sectorId < CONST 0 && PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL}/LNRELX-${LNRELX} sectorId > CONST 15 ? CONST 1 :

#dependence_add_param (severity, className, keyParamName, keyParValue , slaveParamName, slaveParValue)

dependence_add_param minor LNCEL lnrelxTempParam 1 threshold2a 44

#If at least one LNRELX instances exists in LNCEL and a1TimeToTriggerDeactInterMeas is not configured then add a1TimeToTriggerDeactInterMeas with its default value.

dependence_add_param minor LNCEL lnrelxTempParam 1 a1TimeToTriggerDeactInterMeas 480ms

del_param minor LNCEL lnrelxTempParam


#This is mandatory in PDDB - to be added?? This may cause troubles if there is defined more than 32 LNRELX objects.

add_param minor LNRELX srvccAllowed allowed



###############################################################
# LTE1942 Dedicated VoLTE inter-frequency target frequency list
###############################################################

add_param minor LNBTS actDedVoLteInterFreqHo false


###############################################################
# LTE1491 Additional Layer 1 performance measurements 
###############################################################

add_param minor LNBTS actL1PM false

add_param minor PMRNL mtSINR 15min


###############################################################
# LTE1749 MRO InterRat UTRAN 
###############################################################

add_param minor LNBTS actMroInterRatUtran false

add_param minor PMRNL mtMroUtran 15min

add_param minor PMRNL mtMroUtranFrequency 15min


###############################################################
# LTE2032 FHGA Low Power RRH 2TX 2100
###############################################################
#v0.2 change
#add_param minor LNCEL rfSensitivity 0
#v0.2 change END

#############
# TDD only: #
#############

############################################################### 
# LTE2108
###############################################################

add_param minor LNBTS actRedirVoLte false


###############################################################
# LTE1787 TM9 with 8TX MU-MIMO and Up to 2 Layers Overall
###############################################################
# 1. Previous LTE1169 parameter migration:

#- actTm8MuMimo
#- tm8MuMimoParSet (structure including parameter tm8MuMimoCqiThd, tm8MuMimoCorrThd)

#shall be replaced during migration by parameter:

#- actDlMuMimo		which shall get the same value as actTm8MuMimo
#- dlMuMimoParSet 	structure including
#  + dlMuMimoCqiThd	which shall get the same value as tm8MuMimoCqiThd (from structure tm8MuMimoParSet)
#  + dlMuMimoCorrThd	which shall get the same value as tm8MuMimoCorrThd (from structure tm8MuMimoParSet)

#Note: The term "replace" mean, the old parameter shall be deleted after the values are added to the new parameter, so that the configuration file will include finally only the new parameter definition.


rename_param minor LNCEL actTm8MuMimo actDlMuMimo

rename_list minor LNCEL tm8MuMimoParSet dlMuMimoParSet

rename_list_param minor LNCEL dlMuMimoParSet tm8MuMimoCqiThd dlMuMimoCqiThd

rename_list_param minor LNCEL dlMuMimoParSet tm8MuMimoCorrThd dlMuMimoCorrThd


# 2. Previous LTE2022 parameter migration:

#per MOC LNCEL

#- actDlMuGainMax

#shall be transferred during migration to become member of dlMuMimoParSet 

#- dlMuMimoParSet 	shall be extended by
#  + actDlMuGainMax	which shall get the same value as actDlMuGainMax as plain parameter in the LNCEL instance
 
#and the simple type parameter actDlMuGainMax shall be deleted.

#move_param_to_list_param (severity, sourceClassRND, dstClassRND, sourceParamName, destinationListName, destinationItemIndex, destinationParamName) 

move_param_to_list_param minor MRBTS/LNBTS/LNCEL MRBTS/LNBTS/LNCEL actDlMuGainMax dlMuMimoParSet 0 actDlMuGainMax 


#version
set_version major LNT6.0

#history:
add_log minor "Conversion from LNT6.0 FB14.08 to LNT6.0 FB14.09"