# WBTS17 to SBTS17 migration: WNBTS product

#NIDD_VER: WCDMA17_1701_001_00
# History
# v0.1 20.12.2016 Iosif SMEU: first draft for new CUTool

# define global constants
define "operation" "create"
define "version" "WCDMA17_1701_001"
define "adaptation" "com.nokia.srbts.wcdma"

# abort rule-set in case of unexpected SCF version

if ( objects_count "WBTS/MRBTS" ) == 0 abort_file


for_objects "WBTS/MRBTS"
	begin
		define "oldMrbtsDn" $current_dist_name
		define "newMrbtsDn" "MRBTS-" JOIN $current_MRBTS
		for_objects "MRBTS/BTSSCW"
			if ( param_exist $current_dist_name "btsConfiguration" )
				if ( get_param $current_dist_name "btsConfiguration" ) >= 0 && ( get_param $current_dist_name "btsConfiguration" ) <= 1048575
					define "newMrbtsDn" "MRBTS-" JOIN get_param $current_dist_name "btsConfiguration"		
	end

if not ( ( get_version oldMrbtsDn ) == "WBTS17" || ( get_version oldMrbtsDn ) == "WBTS18" )
	abort_file

# WNBTS MOI set-up based on BTSSCW
for_objects "WBTS/MRBTS/BTSSCW"
	begin
		# create new MOI by copy from the old one
		define "wnbtsDn" newMrbtsDn JOIN "/WNBTS-1"
		copy_object $current_dist_name wnbtsDn
		set_operation wnbtsDn operation
		set_version wnbtsDn version
		set_adaptation wnbtsDn adaptation
		# add new (optional/mandatory) parameters
		add_param wnbtsDn "cacMode" "dedicatedCac"
		add_param wnbtsDn "committedBitRateCommon" "999900"
		add_param wnbtsDn "cPlaneDscp" "46"
		if not param_exist wnbtsDn "activityBasedULPowCtrlEnabled"
			add_param wnbtsDn "activityBasedULPowCtrlEnabled" "false"
		for_objects "FTM/IPNO/QOS"
			for_list $current_dist_name "trafficTypesMap"
				if param_exist $current_dist_name "trafficTypesMap." JOIN $current_index JOIN ".dscpList"
					if ( get_param $current_dist_name "trafficTypesMap." JOIN $current_index JOIN ".trafficType" ) == "NBAP"
						add_param wnbtsDn "cPlaneDscp" get_param $current_dist_name "trafficTypesMap." JOIN $current_index JOIN ".dscpList"
		for_objects "BTSSCW"
			begin
				if param_exist $current_dist_name "assocMaxRetrans"
					add_param wnbtsDn "sctpAssocMaxRetrans" get_param $current_dist_name "assocMaxRetrans"
				else
					add_param wnbtsDn "sctpAssocMaxRetrans" "5"
				if param_exist $current_dist_name "pathMaxRetrans"
					add_param wnbtsDn "sctpPathMaxRetrans" get_param $current_dist_name "pathMaxRetrans"
				else
					add_param wnbtsDn "sctpPathMaxRetrans" "5"
				if param_exist $current_dist_name "validCookieLife"
					add_param wnbtsDn "sctpValidCookieLife" get_param $current_dist_name "validCookieLife"
				else
					add_param wnbtsDn "sctpValidCookieLife" "60000"
			end
		for_objects "FTM/IPNO"
			begin
				define "oldIpnoDn" $current_dist_name
				if ( param_exist oldIpnoDn "cPlaneIpAddress" ) || ( param_exist oldIpnoDn "uPlaneIpAddress" )
					for_objects "MRBTS/TNLSVC/TNL/IPNO/IPIF/IPADDRESSV4"
						begin
							define "ipaddressv4Dn" $current_dist_name
							define "ipifDn" "MRBTS-" JOIN $current_MRBTS JOIN "/TNLSVC-" JOIN $current_TNLSVC JOIN "/TNL-" JOIN $current_TNL JOIN "/IPNO-" JOIN $current_IPNO JOIN "/IPIF-" JOIN $current_IPIF
							if ( param_exist oldIpnoDn "cPlaneIpAddress" ) && ( get_param oldIpnoDn "cPlaneIpAddress" ) == ( get_param ipaddressv4Dn "localIpAddr" )
								begin
									# if not param_exist wnbtsDn "cPlaneList"
										add_list wnbtsDn "cPlaneList"
									add_complex_param wnbtsDn "cPlaneList.0"
									add_param wnbtsDn "cPlaneList.0.identifier" "1"
									add_param wnbtsDn "cPlaneList.0.ipV4AddressDN" ipaddressv4Dn
									add_param wnbtsDn "cPlaneList.0.sctpMaxPayloadSize" "1395"
									define "ipSecEnabled" ""
									define "ipSecOverHead" ""
									define "ipMtu" ""
									for_objects "TNLSVC/TNL/IPAPP/IPSECC"
										define "ipSecEnabled" get_param $current_dist_name "ipSecEnabled"
									if ipSecEnabled == "true"
										define "ipSecOverHead" "73"
									if ipSecEnabled == "false"
										define "ipSecOverHead" "0"
									if param_exist ipifDn "ipMtu"
										define "ipMtu" get_param ipifDn "ipMtu"
									if ( not ipSecOverHead == "" ) && ( not ipMtu == "" )
										add_param wnbtsDn "cPlaneList.0.sctpMaxPayloadSize" ipMtu - 20 - ipSecOverHead - 12
									for_objects oldIpnoDn JOIN "/TMPAR"
										begin
											add_param wnbtsDn "cPlaneList.0.sctpPortMin" get_param $current_dist_name "minSCTPPort"										
											if (  ( get_param wnbtsDn "cPlaneList.0.sctpPortMin" ) < 49200 ) add_param wnbtsDn "cPlaneList.0.sctpPortMin" 49200
											if (  ( get_param wnbtsDn "cPlaneList.0.sctpPortMin" ) > 65533 ) add_param wnbtsDn "cPlaneList.0.sctpPortMin" 65533

										end
								end
							if ( param_exist oldIpnoDn "uPlaneIpAddress" ) && ( get_param oldIpnoDn "uPlaneIpAddress" ) == ( get_param ipaddressv4Dn "localIpAddr" )
								begin
									for_objects oldIpnoDn JOIN "/IEIF"
										if ( get_param $current_dist_name "trafficPathShapingEnable" ) == "TPS_OFF" || ( get_param $current_dist_name "trafficPathShapingEnable" ) == "TPS_WFQ"
											for_objects oldIpnoDn JOIN "/TMPAR"
												begin
													if not param_exist wnbtsDn "uPlaneList"
														add_list wnbtsDn "uPlaneList"
													add_complex_param wnbtsDn "uPlaneList.0"
													add_param wnbtsDn "uPlaneList.0.committedBitRate" get_param $current_dist_name "cacCommittedBitRate"
													add_param wnbtsDn "uPlaneList.0.identifier" "1"
													add_param wnbtsDn "uPlaneList.0.ipV4AddressDN" ipaddressv4Dn
												end
									for_objects oldIpnoDn JOIN "/IEIF"
										begin
											define "ieifDn" $current_dist_name
											if ( get_param ieifDn "trafficPathShapingEnable" ) == "TPS_PATH"
												begin
													if ( get_param ieifDn "qosEnabled" ) == "true"
														if ( get_param ieifDn "cir" ) > 999900
															begin
																if not param_exist wnbtsDn "uPlaneList"
																	add_list wnbtsDn "uPlaneList"
																add_complex_param wnbtsDn "uPlaneList.0"
																add_param wnbtsDn "uPlaneList.0.committedBitRate" "999900"
																add_param wnbtsDn "uPlaneList.0.identifier" "1"
																add_param wnbtsDn "uPlaneList.0.ipV4AddressDN" ipaddressv4Dn
															end													
														else
															begin
																if not param_exist wnbtsDn "uPlaneList"
																	add_list wnbtsDn "uPlaneList"
																add_complex_param wnbtsDn "uPlaneList.0"
																add_param wnbtsDn "uPlaneList.0.committedBitRate" get_param ieifDn "cir"
																add_param wnbtsDn "uPlaneList.0.identifier" "1"
																add_param wnbtsDn "uPlaneList.0.ipV4AddressDN" ipaddressv4Dn
															end
														for_objects ieifDn JOIN "/IVIF"
															begin
																define "ivifDn" $current_dist_name
																if ( get_param ivifDn "qosEnabled" ) == "true"
																	if ( get_param ivifDn "cir" ) > 999900
																		begin
																			if not param_exist wnbtsDn "uPlaneList"
																				add_list wnbtsDn "uPlaneList"
																			add_complex_param wnbtsDn "uPlaneList.0"
																			add_param wnbtsDn "uPlaneList.0.committedBitRate" "999900"
																			add_param wnbtsDn "uPlaneList.0.identifier" "1"
																			add_param wnbtsDn "uPlaneList.0.ipV4AddressDN" ipaddressv4Dn
																		end													
																	else
																		begin
																			if not param_exist wnbtsDn "uPlaneList"
																				add_list wnbtsDn "uPlaneList"
																			add_complex_param wnbtsDn "uPlaneList.0"
																			add_param wnbtsDn "uPlaneList.0.committedBitRate" get_param ivifDn "cir"
																			add_param wnbtsDn "uPlaneList.0.identifier" "1"
																			add_param wnbtsDn "uPlaneList.0.ipV4AddressDN" ipaddressv4Dn
																		end
															end
												end
										end
								end
						end
				if ( param_exist oldIpnoDn "uPlane2IpAddress" ) && ( param_exist wnbtsDn "uPlaneList" )
					for_objects "MRBTS/TNLSVC/TNL/IPNO/IPIF/IPADDRESSV4"
						begin
							define "ipaddressv4Dn" $current_dist_name
							if ( get_param oldIpnoDn "uPlane2IpAddress" ) == ( get_param ipaddressv4Dn "localIpAddr" )
								begin
									for_objects oldIpnoDn JOIN "/IEIF"
										if ( get_param $current_dist_name "trafficPathShapingEnable" ) == "TPS_OFF" || ( get_param $current_dist_name "trafficPathShapingEnable" ) == "TPS_WFQ"
											for_objects oldIpnoDn JOIN "/TMPAR"
												begin
													add_complex_param wnbtsDn "uPlaneList.1"
													add_param wnbtsDn "uPlaneList.1.committedBitRate" get_param $current_dist_name "cacCommittedBitRate"
													add_param wnbtsDn "uPlaneList.1.identifier" "2"
													add_param wnbtsDn "uPlaneList.1.ipV4AddressDN" ipaddressv4Dn
												end
									for_objects oldIpnoDn JOIN "/IEIF"
										begin
											define "ieifDn" $current_dist_name
											if ( get_param ieifDn "trafficPathShapingEnable" ) == "TPS_PATH"
												begin
													if ( get_param ieifDn "qosEnabled" ) == "true"
														if ( get_param ieifDn "cir" ) > 999900
															begin
																add_complex_param wnbtsDn "uPlaneList.1"
																add_param wnbtsDn "uPlaneList.1.committedBitRate" "999900"
																add_param wnbtsDn "uPlaneList.1.identifier" "2"
																add_param wnbtsDn "uPlaneList.1.ipV4AddressDN" ipaddressv4Dn
															end
														else
															begin
																add_complex_param wnbtsDn "uPlaneList.1"
																add_param wnbtsDn "uPlaneList.1.committedBitRate" get_param ieifDn "cir"
																add_param wnbtsDn "uPlaneList.1.identifier" "2"
																add_param wnbtsDn "uPlaneList.1.ipV4AddressDN" ipaddressv4Dn
															end
													for_objects ieifDn JOIN "/IVIF"
														begin
															define "ivifDn" $current_dist_name
															if ( get_param ivifDn "qosEnabled" ) == "true"
																if ( get_param ivifDn "cir" ) > 999900
																	begin
																		add_complex_param wnbtsDn "uPlaneList.1"
																		add_param wnbtsDn "uPlaneList.1.committedBitRate" "999900"
																		add_param wnbtsDn "uPlaneList.1.identifier" "2"
																		add_param wnbtsDn "uPlaneList.1.ipV4AddressDN" ipaddressv4Dn
																	end
																else
																	begin
																		add_complex_param wnbtsDn "uPlaneList.1"
																		add_param wnbtsDn "uPlaneList.1.committedBitRate" get_param ivifDn "cir"
																		add_param wnbtsDn "uPlaneList.1.identifier" "2"
																		add_param wnbtsDn "uPlaneList.1.ipV4AddressDN" ipaddressv4Dn
																	end
														end
												end
										end
								end
						end
			end
		for_objects "FTM/IPNO/TMPAR"
			begin
				define "index" "0"
				if ( param_exist $current_dist_name "farEndSctpSubnetIpAddress" )
					begin
						add_list wnbtsDn "rncConfigList"
						add_complex_param wnbtsDn "rncConfigList." JOIN index
						add_param wnbtsDn "rncConfigList." JOIN index JOIN ".identifier" "1"
						add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetIpAddress" get_param $current_dist_name "farEndSctpSubnetIpAddress"
						add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "0"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.255.255.255" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "32" 
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.255.255.254" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "31" 
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.255.255.252" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "30"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.255.255.248" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "29"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.255.255.240" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "28"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.255.255.224" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "27"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.255.255.192" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "26"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.255.255.128" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "25"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.255.255.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "24"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.255.254.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "23"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.255.252.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "22"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.255.248.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "21"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.255.240.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "20"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.255.224.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "19"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.255.192.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "18"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.255.128.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "17"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.255.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "16"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.254.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "15"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.252.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "14"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.248.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "13"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.240.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "12"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.224.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "11"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.192.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "10"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.128.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "9"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "255.0.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "8"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "254.0.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "7"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "252.0.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "6"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "248.0.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "5"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "240.0.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "4"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "224.0.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "3"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "192.0.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "2"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "128.0.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "1"
						if ( get_param $current_dist_name "farEndSctpSubnetMask" ) == "0.0.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "0"
						define "index" index + 1
					end
				if ( param_exist $current_dist_name "addRncConfig.0.farEndSctpSubnetIpAddress" )
					begin
						if not param_exist wnbtsDn "rncConfigList" add_list wnbtsDn "rncConfigList"
						add_complex_param wnbtsDn "rncConfigList." JOIN index
						add_param wnbtsDn "rncConfigList." JOIN index JOIN ".identifier" "2"
						add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetIpAddress" get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetIpAddress"
						add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "0"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.255.255.255" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "32" 
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.255.255.254" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "31" 
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.255.255.252" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "30"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.255.255.248" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "29"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.255.255.240" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "28"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.255.255.224" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "27"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.255.255.192" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "26"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.255.255.128" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "25"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.255.255.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "24"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.255.254.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "23"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.255.252.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "22"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.255.248.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "21"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.255.240.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "20"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.255.224.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "19"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.255.192.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "18"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.255.128.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "17"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.255.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "16"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.254.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "15"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.252.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "14"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.248.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "13"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.240.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "12"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.224.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "11"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.192.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "10"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.128.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "9"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "255.0.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "8"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "254.0.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "7"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "252.0.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "6"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "248.0.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "5"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "240.0.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "4"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "224.0.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "3"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "192.0.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "2"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "128.0.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "1"
						if ( get_param $current_dist_name "addRncConfig.0.farEndSctpSubnetMask" ) == "0.0.0.0" add_param wnbtsDn "rncConfigList." JOIN index JOIN ".sctpFarEndSubnetPrefixLength" "0"
					end
				add_param wnbtsDn "udpPortMin" "49200"
				if param_exist $current_dist_name "minUDPPort"
					if ( get_param $current_dist_name "minUDPPort" ) > 49200
						add_param wnbtsDn "udpPortMin" get_param $current_dist_name "minUDPPort"
				add_param wnbtsDn "udpPortMax" "59200"
			end
		# fix (optional) parameters value
		if param_exist wnbtsDn "numberOfR99ChannelElements"
			if ( get_param wnbtsDn "numberOfR99ChannelElements" ) < 0
				add_param wnbtsDn "numberOfR99ChannelElements" "0"
		if param_exist wnbtsDn "numberOfCCCHSet"
			if ( get_param wnbtsDn "numberOfCCCHSet" ) < 0
				add_param wnbtsDn "numberOfCCCHSet" "0"
		# remove not applicable parameters
		if param_exist wnbtsDn "a20WLicencesInUse" del_param wnbtsDn "a20WLicencesInUse"
		if param_exist wnbtsDn "aasSoftRecoveryEnabled" del_param wnbtsDn "aasSoftRecoveryEnabled"
		if param_exist wnbtsDn "actDistributedSite15" del_param wnbtsDn "actDistributedSite15"
		if param_exist wnbtsDn "actDistributedSite40" del_param wnbtsDn "actDistributedSite40"
		if param_exist wnbtsDn "actEthernetSec" del_param wnbtsDn "actEthernetSec"
		if param_exist wnbtsDn "actPimTesting" del_param wnbtsDn "actPimTesting"
		if param_exist wnbtsDn "actRfChaining" del_param wnbtsDn "actRfChaining"
		if param_exist wnbtsDn "actRfiTesting" del_param wnbtsDn "actRfiTesting"
		if param_exist wnbtsDn "aldSwDownloadEnabled" del_param wnbtsDn "aldSwDownloadEnabled"
		if param_exist wnbtsDn "antLineSupervisionEnabled" del_param wnbtsDn "antLineSupervisionEnabled"
		if param_exist wnbtsDn "antTiltSupportEnabled" del_param wnbtsDn "antTiltSupportEnabled"
		if param_exist wnbtsDn "assocMaxRetrans" del_param wnbtsDn "assocMaxRetrans"
		if param_exist wnbtsDn "btsConfiguration" del_param wnbtsDn "btsConfiguration"
		if param_exist wnbtsDn "btsId" del_param wnbtsDn "btsId"
		if param_exist wnbtsDn "btsName" del_param wnbtsDn "btsName"
		if param_exist wnbtsDn "btsSyncMode" del_param wnbtsDn "btsSyncMode"
		if param_exist wnbtsDn "cablingList" del_param wnbtsDn "cablingList"
		if param_exist wnbtsDn "carrierAggregationEnabled" del_param wnbtsDn "carrierAggregationEnabled"
		if param_exist wnbtsDn "ext1ppsClkOutOn" del_param wnbtsDn "ext1ppsClkOutOn"
		if param_exist wnbtsDn "ext2M048ClkInUse" del_param wnbtsDn "ext2M048ClkInUse"
		if param_exist wnbtsDn "ext2M048ClkOutOn" del_param wnbtsDn "ext2M048ClkOutOn"
		if param_exist wnbtsDn "extendedBtsSiteCapacity" del_param wnbtsDn "extendedBtsSiteCapacity"
		if param_exist wnbtsDn "gpsCableLength" del_param wnbtsDn "gpsCableLength"
		if param_exist wnbtsDn "gpsCtrlBlockForCoLocatedBts" del_param wnbtsDn "gpsCtrlBlockForCoLocatedBts"
		if param_exist wnbtsDn "gpsInUse" del_param wnbtsDn "gpsInUse"
		if param_exist wnbtsDn "gpsTotalAntennaLineDelay" del_param wnbtsDn "gpsTotalAntennaLineDelay"
		if param_exist wnbtsDn "happyBitPingFiltUse" del_param wnbtsDn "happyBitPingFiltUse"
		if param_exist wnbtsDn "happyBitUphThreshold" del_param wnbtsDn "happyBitUphThreshold"
		if param_exist wnbtsDn "highCQIRangeStart" del_param wnbtsDn "highCQIRangeStart"
		if param_exist wnbtsDn "holdOverModeUsed" del_param wnbtsDn "holdOverModeUsed"
		if param_exist wnbtsDn "hsdpaBbResAllocation" del_param wnbtsDn "hsdpaBbResAllocation"
		if param_exist wnbtsDn "hsdpaSchedList" del_param wnbtsDn "hsdpaSchedList"
		if param_exist wnbtsDn "hspaConfiguration" del_param wnbtsDn "hspaConfiguration"
		if param_exist wnbtsDn "intShutdownInUse" del_param wnbtsDn "intShutdownInUse"
		if param_exist wnbtsDn "iubClkInUse" del_param wnbtsDn "iubClkInUse"
		if param_exist wnbtsDn "mainsPowerAlarmId" del_param wnbtsDn "mainsPowerAlarmId"
		if param_exist wnbtsDn "medCQIRangeStart" del_param wnbtsDn "medCQIRangeStart"
		if param_exist wnbtsDn "numberOfHSDPASet1" del_param wnbtsDn "numberOfHSDPASet1"
		if param_exist wnbtsDn "numberOfHSDPASet2" del_param wnbtsDn "numberOfHSDPASet2"
		if param_exist wnbtsDn "numberOfHSDPASet3" del_param wnbtsDn "numberOfHSDPASet3"
		if param_exist wnbtsDn "numberOfHSUPASet1" del_param wnbtsDn "numberOfHSUPASet1"
		if param_exist wnbtsDn "numOfLines" del_param wnbtsDn "numOfLines"
		if param_exist wnbtsDn "pathMaxRetrans" del_param wnbtsDn "pathMaxRetrans"
		if param_exist wnbtsDn "powerCtrlEnhancementsEnabled" del_param wnbtsDn "powerCtrlEnhancementsEnabled"
		if param_exist wnbtsDn "powerMeterEnabled" del_param wnbtsDn "powerMeterEnabled"
		if param_exist wnbtsDn "powerReductionThreshold" del_param wnbtsDn "powerReductionThreshold"
		if param_exist wnbtsDn "powerReductionTreshold" del_param wnbtsDn "powerReductionTreshold"
		if param_exist wnbtsDn "resetBTSIfNoLCGRes" del_param wnbtsDn "resetBTSIfNoLCGRes"
		if param_exist wnbtsDn "rfSharingEnabled" del_param wnbtsDn "rfSharingEnabled"
		if param_exist wnbtsDn "rncType" del_param wnbtsDn "rncType"
		if param_exist wnbtsDn "sharedHsdpaSheduler" del_param wnbtsDn "sharedHsdpaSheduler"
		if param_exist wnbtsDn "staticPowerManagementEnabled" del_param wnbtsDn "staticPowerManagementEnabled"
		if param_exist wnbtsDn "syncPropagationEnabled" del_param wnbtsDn "syncPropagationEnabled"
		if param_exist wnbtsDn "targetBLERHighCQIFadCh" del_param wnbtsDn "targetBLERHighCQIFadCh"
		if param_exist wnbtsDn "targetBLERHighCQIStaCh" del_param wnbtsDn "targetBLERHighCQIStaCh"
		if param_exist wnbtsDn "targetBLERLowCQIFadCh" del_param wnbtsDn "targetBLERLowCQIFadCh"
		if param_exist wnbtsDn "targetBLERLowCQIStaCh" del_param wnbtsDn "targetBLERLowCQIStaCh"
		if param_exist wnbtsDn "targetBLERMedCQIFadCh" del_param wnbtsDn "targetBLERMedCQIFadCh"
		if param_exist wnbtsDn "targetBLERMedCQIStaCh" del_param wnbtsDn "targetBLERMedCQIStaCh"
		if param_exist wnbtsDn "tiltingPerCarrierInUse" del_param wnbtsDn "tiltingPerCarrierInUse"
		if param_exist wnbtsDn "tiltingPerTxRxInUse" del_param wnbtsDn "tiltingPerTxRxInUse"
		if param_exist wnbtsDn "tti2msNonFdpchUserIncEnabled" del_param wnbtsDn "tti2msNonFdpchUserIncEnabled"
		if param_exist wnbtsDn "ueTraceType" del_param wnbtsDn "ueTraceType"
		if param_exist wnbtsDn "ueTracingL3dcConnectionDetails" del_param wnbtsDn "ueTracingL3dcConnectionDetails"
		if param_exist wnbtsDn "ueTracingL3dcIpAddress" del_param wnbtsDn "ueTracingL3dcIpAddress"
		if param_exist wnbtsDn "ueTracingL3dcTcpPort" del_param wnbtsDn "ueTracingL3dcTcpPort"
		if param_exist wnbtsDn "uplinkCoMPEnabled" del_param wnbtsDn "uplinkCoMPEnabled"
		if param_exist wnbtsDn "validCookieLife" del_param wnbtsDn "validCookieLife"
		if param_exist wnbtsDn "verticalSectorizationInUse" del_param wnbtsDn "verticalSectorizationInUse"
		if param_exist wnbtsDn "wcdmaSupportForDemEnabled" del_param wnbtsDn "wcdmaSupportForDemEnabled"
	end

# WNCEL MOIs set-up based on LCELW MOIs
define "lcelwId" 0
for_objects "WBTS/MRBTS/BTSSCW/LCELW"
	begin
		# create new MOI by copy from the old one
		define "wncelDn" wnbtsDn JOIN "/WNCEL-" JOIN $current_LCELW
		copy_object $current_dist_name wncelDn
		set_operation wncelDn operation
		set_version wncelDn version
		set_adaptation wncelDn adaptation
		# add new (mandatory) parameters
		define "lcelwId" lcelwId + 1
		add_param wncelDn "lCelwDN" newMrbtsDn JOIN "/MNL-1/MNLENT-1/CELLMAPPING-1/LCELW-" JOIN lcelwId
		# fix existing parameters
		if param_exist $current_dist_name "maxCarrierPower" add_param wncelDn "maxCarrierPower" replace ( get_param $current_dist_name "maxCarrierPower" ) "\." "" flags "g"
		if param_exist $current_dist_name "intShutdownTimeout" add_param wncelDn "intShutdownTimeout" ( get_param $current_dist_name "intShutdownTimeout" ) / 60
		# remove not applicable parameters
		if param_exist wncelDn "allowedCarrierList" del_param wncelDn "allowedCarrierList"
		if param_exist wncelDn "cellRange" del_param wncelDn "cellRange"
		if param_exist wncelDn "expirationTime" del_param wncelDn "expirationTime"
		if param_exist wncelDn "hspaMapping" del_param wncelDn "hspaMapping"
		if param_exist wncelDn "rachCapacity" del_param wncelDn "rachCapacity"
		if param_exist wncelDn "resourceList" del_param wncelDn "resourceList"
		if param_exist wncelDn "rxVerticalTiltAngle" del_param wncelDn "rxVerticalTiltAngle"
		if param_exist wncelDn "sectorVerticalBeamWidth" del_param wncelDn "sectorVerticalBeamWidth"
		if param_exist wncelDn "shutdownStepAmount" del_param wncelDn "shutdownStepAmount"
		if param_exist wncelDn "shutdownWindow" del_param wncelDn "shutdownWindow"
		if param_exist wncelDn "txVerticalTiltAngle" del_param wncelDn "txVerticalTiltAngle"
		if param_exist wncelDn "usageState" del_param wncelDn "usageState"
	end

# WNCELG MOIs set-up based on LCELGW MOIs
for_objects "WBTS/MRBTS/BTSSCW/LCELGW"
	begin
		# create new MOI by copy from the old one
		define "lcelgwDn" $current_dist_name
		define "wncelgDn" wnbtsDn JOIN "/WNCELG-" JOIN $current_LCELGW
		copy_object lcelgwDn wncelgDn
		set_operation wncelgDn operation
		set_version wncelgDn version
		set_adaptation wncelgDn adaptation
		# move parameters
		for_objects "BTSSCW"
			if param_exist $current_dist_name "hsdpaSchedList"
				copy_list $current_dist_name "hsdpaSchedList" wncelgDn "hsdpaSchedList"
		for_list wncelgDn "hsdpaSchedList"
			if param_exist wncelgDn "hsdpaSchedList." JOIN $current_index JOIN ".mod"
				del_param wncelgDn "hsdpaSchedList." JOIN $current_index JOIN ".mod"
		# add new (optional/mandatory) parameters
		if param_exist lcelgwDn "shareOfHSUPALicences" add_param wncelgDn "shareOfHSUPACapacity" get_param lcelgwDn "shareOfHSUPALicences"
		if param_exist lcelgwDn "lCelIdList" copy_list lcelgwDn "lCelIdList" wncelgDn "wncelIdList"
		if not param_exist wncelgDn "minNumOfHsRachResourceStepsRes" add_param wncelgDn "minNumOfHsRachResourceStepsRes" "0"
		if not param_exist wncelgDn "maxNumOfHsRachResourceStepsRes" add_param wncelgDn "maxNumOfHsRachResourceStepsRes" "1"
		if not param_exist wncelgDn "cAGroupId" add_param wncelgDn "cAGroupId" "None"
		# remove not applicable parameters
		if param_exist wncelgDn "hspaConfigurationList" del_param wncelgDn "hspaConfigurationList"
		if param_exist wncelgDn "hsupaBbDecodCapacity" del_param wncelgDn "hsupaBbDecodCapacity"
		if param_exist wncelgDn "hsupaBbMinimumUsers" del_param wncelgDn "hsupaBbMinimumUsers"
		if param_exist wncelgDn "hsupaBbSharingInUse" del_param wncelgDn "hsupaBbSharingInUse"
		if param_exist wncelgDn "lCelIdList" del_param wncelgDn "lCelIdList"
		if param_exist wncelgDn "minNumHsfachUsers" del_param wncelgDn "minNumHsfachUsers"
		if param_exist wncelgDn "numOfHsRachResourceStepsRes" del_param wncelgDn "numOfHsRachResourceStepsRes"
		if param_exist wncelgDn "preferredFsm" del_param wncelgDn "preferredFsm"
		if param_exist wncelgDn "shareOfHSUPALicences" del_param wncelgDn "shareOfHSUPALicences"
		if param_exist wncelgDn "sModId" del_param wncelgDn "sModId"
	end

# WNPMRNL MOI set-up
# create new MOI
define "wnpmrnlDn" wnbtsDn JOIN "/WNPMRNL-1"
add_object wnpmrnlDn
set_operation wnpmrnlDn operation
set_version wnpmrnlDn version
set_adaptation wnpmrnlDn adaptation
