#######################################################################################
#######################################################################################
#NIDD_VER: xL17ASP_1702_002_00
#LNBTS: xL17ASP_1702_002
#Migration from xL17SP_1701_004 to xL17ASP_1702_002
#14.02.2017/ v0.1 /R.Biedka

#######################################################################################
#######################################################################################
#General version check

for_objects "MRBTS/LNBTS"
	begin
		if not ( get_version $current_dist_name ) == "xL17SP_1701_004"
			abort_file
	end
	
if ( objects_count "MRBTS/LNBTS" ) == "0"
	abort_file
#######################################################################################
#######################################################################################
for_objects "MRBTS/LNBTS"
begin
	define "mrlnroot" $current_dist_name
	for_list $current_dist_name "pdcpProf1"
	begin
		if not ( param_exist $current_dist_name "pdcpProf1." JOIN $current_index JOIN ".snSize" ) add_param $current_dist_name "pdcpProf1." JOIN $current_index JOIN ".snSize" "12bit"
	end
	
	for_list $current_dist_name "pdcpProf101"
	begin
		if not ( param_exist $current_dist_name "pdcpProf101." JOIN $current_index JOIN ".snSize" ) add_param $current_dist_name "pdcpProf101." JOIN $current_index JOIN ".snSize" "12bit"
	end
	
	for_list $current_dist_name "pdcpProf102"
	begin
		if not ( param_exist $current_dist_name "pdcpProf102." JOIN $current_index JOIN ".snSize" ) add_param $current_dist_name "pdcpProf102." JOIN $current_index JOIN ".snSize" "12bit"
	end
	
	for_list $current_dist_name "pdcpProf103"
	begin
		if not ( param_exist $current_dist_name "pdcpProf103." JOIN $current_index JOIN ".snSize" ) add_param $current_dist_name "pdcpProf103." JOIN $current_index JOIN ".snSize" "12bit"
	end

	for_list $current_dist_name "pdcpProf104"
	begin
		if not ( param_exist $current_dist_name "pdcpProf104." JOIN $current_index JOIN ".snSize" ) add_param $current_dist_name "pdcpProf104." JOIN $current_index JOIN ".snSize" "12bit"
	end

	for_list $current_dist_name "pdcpProf2"
	begin
		if not ( param_exist $current_dist_name "pdcpProf2." JOIN $current_index JOIN ".snSize" ) add_param $current_dist_name "pdcpProf2." JOIN $current_index JOIN ".snSize" "12bit"
	end
	
	for_list $current_dist_name "pdcpProf3"
	begin
		if not ( param_exist $current_dist_name "pdcpProf3." JOIN $current_index JOIN ".snSize" ) add_param $current_dist_name "pdcpProf3." JOIN $current_index JOIN ".snSize" "12bit"
	end
	
	for_list $current_dist_name "pdcpProf4"
	begin
		if not ( param_exist $current_dist_name "pdcpProf4." JOIN $current_index JOIN ".snSize" ) add_param $current_dist_name "pdcpProf4." JOIN $current_index JOIN ".snSize" "12bit"
	end
	
	for_list $current_dist_name "pdcpProf5"
	begin
		if not ( param_exist $current_dist_name "pdcpProf5." JOIN $current_index JOIN ".snSize" ) add_param $current_dist_name "pdcpProf5." JOIN $current_index JOIN ".snSize" "12bit"
	end
	
	if not ( param_exist $current_dist_name "rrcGuardTimer" ) add_param $current_dist_name "rrcGuardTimer" "20"
	
end

define "diffLnbtsId1" ""
define "diffLnbtsId2" ""

for_objects "MRBTS/LNBTS/LNCEL/CAREL"
begin
    if not ( param_exist $current_dist_name "pucchF1bwcsRecycling" ) add_param $current_dist_name "pucchF1bwcsRecycling" "false"

	if not ( param_exist $current_dist_name "maxNumOfSuppMimoLayer" ) add_param $current_dist_name "maxNumOfSuppMimoLayer" "2-layer"

	if ( ( param_exist $current_dist_name "lnBtsId" ) && not ( get_param $current_dist_name "lnBtsId" ) == $current_LNBTS  )
	begin

		define "actInterEnbDLCAggrFlag"  "false"
		if ( param_exist  mrlnroot "actInterEnbDLCAggr" ) define "actInterEnbDLCAggrFlag" get_param mrlnroot "actInterEnbDLCAggr"
		if ( "true" == actInterEnbDLCAggrFlag && diffLnbtsId1 == "" && ( objects_count  "MRBTS/LNBTS/CAGENB" ) == 0 )
		begin
			define "cagenbDN" mrlnroot JOIN "/CAGENB-0"
			add_object cagenbDN
			set_operation cagenbDN "create"
		end	

	
		if ( not diffLnbtsId1 == "" ) 
		begin
			define "diffLnbtsId2" get_param $current_dist_name "lnBtsId"
		end
		else 
			define "diffLnbtsId1" get_param $current_dist_name "lnBtsId"
	end
end	

for_objects "MRBTS/LNBTS/LNBTS_FDD"
begin
		if not ( param_exist $current_dist_name "actUnlicensedAcc" ) add_param $current_dist_name "actUnlicensedAcc" "off"
end

for_objects "MRBTS/LNBTS/LNBTS_FDD/LAA"
begin
		if not ( param_exist $current_dist_name "ccaThresholdXr" ) add_param $current_dist_name "ccaThresholdXr" "0"
		if not ( param_exist $current_dist_name "lteUItuRegion" ) add_param $current_dist_name "lteUItuRegion" "USA"
end

for_objects "MRBTS/LNBTS/LNBTS_FDD/LAA/LNUPR"
begin
		if not ( param_exist $current_dist_name "ccaThresholdDrs" ) add_param $current_dist_name "ccaThresholdDrs" "-52"
		if not ( param_exist $current_dist_name "drsMtcPeriod" ) add_param $current_dist_name "drsMtcPeriod" "40"
		if not ( param_exist $current_dist_name "enableLaaDsPadding" ) add_param $current_dist_name "enableLaaDsPadding" "disabled"
		if not ( param_exist $current_dist_name "lteUWiFiCoexistence" ) add_param $current_dist_name "lteUWiFiCoexistence" "no WiFi"
		if not ( param_exist $current_dist_name "nonGbrThreshUnlicensed" ) add_param $current_dist_name "nonGbrThreshUnlicensed" "60"
		if not ( param_exist $current_dist_name "numMaxCWUsage" ) add_param $current_dist_name "numMaxCWUsage" "1"		
end

if ( not diffLnbtsId1 == "" )
begin
	for_objects "MRBTS/LNBTS/CAGENB"
	begin
		define "caClusterNumEnbFlag" "0"
		if ( param_exist mrlnroot "caClusterNumEnb" ) define "caClusterNumEnbFlag" get_param mrlnroot "caClusterNumEnb"
		if  ( not param_exist $current_dist_name "caClusterEnbList" )  add_list $current_dist_name "caClusterEnbList"
		if not ( param_exist $current_dist_name "minPduSizeMax" ) add_param $current_dist_name "minPduSizeMax" "96"
		if not ( param_exist $current_dist_name "nlcvDeltaSrio" ) add_param $current_dist_name "nlcvDeltaSrio" "0"
		if not ( param_exist $current_dist_name "nlcvDeltaX2" ) add_param $current_dist_name "nlcvDeltaX2" "2"
		if not ( param_exist $current_dist_name "tRlcPduDiscard" ) add_param $current_dist_name "tRlcPduDiscard" "100 ms"
		if not ( param_exist $current_dist_name "transferDelayMax" ) add_param $current_dist_name "transferDelayMax" "50 ms"
		
		if ( caClusterNumEnbFlag == 2 )
		begin
            if not ( param_exist $current_dist_name "caClusterEnbList" )
                begin
                    add_complex_param $current_dist_name "caClusterEnbList.0"
                    add_param $current_dist_name "caClusterEnbList.0.numSrioLinks" "1"
                    add_param $current_dist_name "caClusterEnbList.0.lnBtsId" diffLnbtsId1
                end
		end

		if ( caClusterNumEnbFlag == 3  )
            begin
                if not ( param_exist $current_dist_name "caClusterEnbList" )
                    begin
                        add_complex_param $current_dist_name "caClusterEnbList.0"
                        add_param $current_dist_name "caClusterEnbList.0.numSrioLinks" "1"
                        add_param $current_dist_name "caClusterEnbList.0.lnBtsId" diffLnbtsId1
                    end

                if ( diffLnbtsId2 != "" )
                    begin
                        if not ( param_exist $current_dist_name "caClusterEnbList" )
                            begin
                                add_complex_param $current_dist_name "caClusterEnbList.1"
                                add_param $current_dist_name "caClusterEnbList.1.numSrioLinks" "1"
                                add_param $current_dist_name "caClusterEnbList.1.lnBtsId" diffLnbtsId2
                            end
                    end
                end
        end		
end	
	
for_objects "MRBTS/LNBTS/PMRNL"
begin
	if not ( param_exist $current_dist_name "mtGTPU" ) add_param $current_dist_name "mtGTPU" "15min"
end

for_objects "MRBTS/LNBTS/PMRNL/PMQAP"
begin
 if ( param_exist $current_dist_name "cfgARP" ) add_param $current_dist_name "cfgARPRange" get_param $current_dist_name "cfgARP"
 if ( param_exist $current_dist_name "cfgQCI" ) add_param $current_dist_name "cfgQCIRange" get_param $current_dist_name "cfgQCI"
end

#######################################################################################
#######################################################################################
#######################################################################################
#Range And Step
for_objects "MRBTS/LNBTS/LNCEL"
begin
    if ( param_exist $current_dist_name "msg3ConsecutiveDtx" ) && ( 8 < get_param $current_dist_name "msg3ConsecutiveDtx" )
        add_param $current_dist_name "msg3ConsecutiveDtx" "8"
end

#######################################################################################
#######################################################################################
#######################################################################################

#Parameters removal
for_objects "MRBTS/LNBTS/LNCEL"
begin
 if ( param_exist $current_dist_name "tmSwitchProfileId" ) del_param $current_dist_name "tmSwitchProfileId"
end

for_objects "MRBTS/LNBTS/PMRNL/PMQAP"
begin
 if ( param_exist $current_dist_name "cfgARP" ) del_param $current_dist_name "cfgARP"
 if ( param_exist $current_dist_name "cfgQCI" ) del_param $current_dist_name "cfgQCI"
end
#######################################################################################

#Set proepr version and adaptation to LNBTS objects

for_objects "MRBTS/LNBTS"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/SCTP"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/TRSNW"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end

for_objects "MRBTS/LNBTS/ANR"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end

for_objects "MRBTS/LNBTS/ANRPRL"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end

for_objects "MRBTS/LNBTS/ANRPRW"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/CADPR"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/CRAN"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end

for_objects "MRBTS/LNBTS/CRGPR"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/CTRLTS"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/CTRLTS/LTRACE"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/CTRLTS/MTRACE"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/GTPU"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/ISHPR"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LBPUCCHRDPR"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNADJ"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNADJ/LNADJL"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
for_objects "MRBTS/LNBTS/LNADJG"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end	

for_objects "MRBTS/LNBTS/LNADJW"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/LNADJX"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end

for_objects "MRBTS/LNBTS/LNBTS_FDD"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end		

for_objects "MRBTS/LNBTS/LNCEL"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/LNCEL/AMLEPR"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/LNCEL/BBPOOLALLOC"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/LNCEL/CAPR"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/LNCEL/CAREL"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/LNCEL/CDFIM"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/LNCEL/DRX"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/GFIM"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/GFIM/GNFL"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/IAFIM"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/IRFIM"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNCEL_FDD"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNHOG"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNHOH"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNHOW"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNHOX"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNNEIH"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNREL"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNRELG"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNRELW"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNRELX"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/REDRT"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/SDRX"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/UFFIM"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/XPARAM"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCSG"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNHENB"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNMCE"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNMCE/LNM3"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNMME"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNSENB"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/M1SYNC"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/MFBIPR"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/MODPR"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/MODPR/MODIMP"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/MODPR/MODRED"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end

for_objects "MRBTS/LNBTS/MOPR"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/MOPR/MOIMP"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end

for_objects "MRBTS/LNBTS/PMRNL"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/PSGRP"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/ULCOMP"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/LNCEL/SIB"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/PMRNL/PMCCP"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end	

for_objects "MRBTS/LNBTS/CRGPR"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end	

for_objects "MRBTS/LNBTS/LNCEL/LNCEL_FDD/MPUCCH_FDD"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end	

for_objects "MRBTS/LNBTS/LNCEL/IFGPR"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end

for_objects "MRBTS/LNBTS/LNCEL/IFGDPR"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/ACBPR"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/NBIOT_FDD"
	begin
		set_version $current_dist_name "xL17ASP_1702_002"
		set_adaptation $current_dist_name "NOKLTE"
	end	

#######################################################################################
