mirror of
				https://github.com/Telecominfraproject/wlan-cloud-opensync-controller.git
				synced 2025-10-31 18:47:57 +00:00 
			
		
		
		
	Compare commits
	
		
			12 Commits
		
	
	
		
			testv1.0
			...
			release-te
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | aac02cb1c9 | ||
|   | 6ece024535 | ||
|   | 4837b0e026 | ||
|   | 0eca082a4d | ||
|   | db4672a9a2 | ||
|   | 9e58a9d7b7 | ||
|   | f083c3488c | ||
|   | b28655a5bd | ||
|   | 124b6054b5 | ||
|   | d79917d20f | ||
|   | c0bb71aed2 | ||
|   | 5e32798159 | 
| @@ -1,4 +1,4 @@ | ||||
| # wlan-opensync-wifi-controller | ||||
| # wlan-opensync-wifi-controller  #TESTING | ||||
|   | ||||
| Opensync Wifi Controller - accepts connections from the access points, pushes configuration, reads metrics from the topics on MQTT broker. | ||||
|  | ||||
|   | ||||
| @@ -11,14 +11,10 @@ import java.util.Map; | ||||
| import java.util.Set; | ||||
| import java.util.stream.Collectors; | ||||
|  | ||||
| import javax.annotation.PostConstruct; | ||||
|  | ||||
| import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.beans.factory.annotation.Value; | ||||
| import org.springframework.cache.Cache; | ||||
| import org.springframework.cache.CacheManager; | ||||
| import org.springframework.stereotype.Component; | ||||
|  | ||||
| import com.google.common.collect.ImmutableSet; | ||||
| @@ -70,8 +66,8 @@ import com.telecominfraproject.wlan.opensync.external.integration.models.Opensyn | ||||
| import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAWLANNode; | ||||
| import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncWifiAssociatedClients; | ||||
| import com.telecominfraproject.wlan.opensync.ovsdb.dao.models.enumerations.DhcpFpDeviceType; | ||||
| import com.telecominfraproject.wlan.opensync.ovsdb.dao.utilities.OvsdbStringConstants; | ||||
| import com.telecominfraproject.wlan.opensync.ovsdb.dao.utilities.OvsdbToWlanCloudTypeMappingUtility; | ||||
| import com.telecominfraproject.wlan.opensync.util.OvsdbStringConstants; | ||||
| import com.telecominfraproject.wlan.opensync.util.OvsdbToWlanCloudTypeMappingUtility; | ||||
| import com.telecominfraproject.wlan.profile.ProfileServiceInterface; | ||||
| import com.telecominfraproject.wlan.profile.models.Profile; | ||||
| import com.telecominfraproject.wlan.profile.models.ProfileContainer; | ||||
| @@ -158,32 +154,10 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
| 	@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_wan_name:wan}") | ||||
| 	public String defaultWanInterfaceName; | ||||
|  | ||||
|     @Autowired | ||||
|     private CacheManager cacheManagerShortLived; | ||||
|     private Cache cloudEquipmentRecordCache; | ||||
|  | ||||
|     @PostConstruct | ||||
|     private void postCreate() { | ||||
|         LOG.info("Using Cloud integration"); | ||||
|         cloudEquipmentRecordCache = cacheManagerShortLived.getCache("equipment_record_cache"); | ||||
|     } | ||||
|  | ||||
|     public Equipment getCustomerEquipment(String apId) { | ||||
|         Equipment ce = null; | ||||
|  | ||||
|         try { | ||||
|             ce = cloudEquipmentRecordCache.get(apId, () -> equipmentServiceInterface.getByInventoryIdOrNull(apId)); | ||||
|         } catch (Exception e) { | ||||
|             LOG.error("Could not get customer equipment for {}", apId, e); | ||||
|         } | ||||
|  | ||||
|         return ce; | ||||
|     } | ||||
|  | ||||
| 	@Override | ||||
| 	public void apConnected(String apId, ConnectNodeInfo connectNodeInfo) { | ||||
|  | ||||
|         Equipment ce = getCustomerEquipment(apId); | ||||
| 		Equipment ce = equipmentServiceInterface.getByInventoryIdOrNull(apId); | ||||
|  | ||||
| 		try { | ||||
| 			if (ce == null) { | ||||
| @@ -239,6 +213,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
| 				ce.setDetails(ApElementConfiguration.createWithDefaults()); | ||||
| 				ce.setCustomerId(autoProvisionedCustomerId); | ||||
| 				ce.setName(apId);			 | ||||
| 				ce = equipmentServiceInterface.create(ce); | ||||
| 				 | ||||
| 				ApElementConfiguration apElementConfig = (ApElementConfiguration) ce.getDetails(); | ||||
| 				apElementConfig.setDeviceName(ce.getName()); | ||||
| @@ -298,11 +273,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
|  | ||||
| 				ce.setProfileId(profileId); | ||||
|  | ||||
|                 ce = equipmentServiceInterface.create(ce); | ||||
|  | ||||
|                 // update the cache right away, no need to wait until the | ||||
|                 // entry expires | ||||
|                 cloudEquipmentRecordCache.put(ce.getInventoryId(), ce); | ||||
| 				ce = equipmentServiceInterface.update(ce); | ||||
|  | ||||
| 			} else { | ||||
| 				// equipment already exists | ||||
| @@ -324,9 +295,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
| 						ce.setBaseMacAddress(reportedMacAddress); | ||||
| 						ce = equipmentServiceInterface.update(ce); | ||||
|  | ||||
|                         // update the cache right away, no need to wait | ||||
|                         // until the entry expires | ||||
|                         cloudEquipmentRecordCache.put(ce.getInventoryId(), ce); | ||||
| 					} | ||||
| 				} | ||||
|  | ||||
| @@ -588,7 +556,8 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
| 			networkAdminStatusRec = statusServiceInterface.update(networkAdminStatusRec); | ||||
|  | ||||
| 		} catch (Exception e) { | ||||
|             LOG.debug("Exception in updateApStatus", e); | ||||
| 			LOG.error("Exception in updateApStatus", e); | ||||
| 			throw e; | ||||
| 		} | ||||
|  | ||||
| 	} | ||||
| @@ -762,14 +731,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
| 			OvsdbSession ovsdbSession = ovsdbSessionMapInterface.getSession(apId); | ||||
|  | ||||
| 			if (ovsdbSession != null) { | ||||
|                 // if (ovsdbSession.getCustomerId() > 0 && | ||||
|                 // ovsdbSession.getEquipmentId() > 0L) { | ||||
|                 // List<Status> statusForDisconnectedAp = | ||||
|                 // statusServiceInterface.delete(ovsdbSession.getCustomerId(), | ||||
|                 // ovsdbSession.getEquipmentId()); | ||||
|                 // LOG.info("Deleted status records {} for AP {}", | ||||
|                 // statusForDisconnectedAp, apId); | ||||
|                 // } | ||||
| 				if (ovsdbSession.getRoutingId() > 0L) { | ||||
| 					try { | ||||
| 						routingServiceInterface.delete(ovsdbSession.getRoutingId()); | ||||
| @@ -781,12 +742,39 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
| 			} else { | ||||
| 				LOG.warn("Cannot find ap {} in inventory", apId); | ||||
| 			} | ||||
| 			 | ||||
| 			updateApDisconnectedStatus(apId); | ||||
| 		} catch (Exception e) { | ||||
| 			LOG.error("Exception when registering ap routing {}", apId, e); | ||||
| 		} | ||||
|  | ||||
| 	} | ||||
| 	 | ||||
| 	private void updateApDisconnectedStatus(String apId) { | ||||
| 		try { | ||||
| 			Equipment ce = equipmentServiceInterface.getByInventoryIdOrNull(apId); | ||||
| 			if (ce == null) { | ||||
| 				LOG.debug("updateDisconnectedApStatus::Cannot get Equipment for AP {}", apId); | ||||
| 				return; | ||||
| 			} | ||||
|  | ||||
| 			Status statusRecord = statusServiceInterface.getOrNull(ce.getCustomerId(), ce.getId(), | ||||
| 					StatusDataType.EQUIPMENT_ADMIN); | ||||
| 			if (statusRecord == null) { | ||||
| 				LOG.debug("updateApDisconnectedStatus::Cannot get EQUIPMENT_ADMIN status for CustomerId {} or EquipmentId {} for AP {}",  | ||||
| 						ce.getCustomerId(), ce.getId(), apId); | ||||
| 				return; | ||||
| 			} | ||||
|  | ||||
| 			((EquipmentAdminStatusData) statusRecord.getDetails()).setStatusCode(StatusCode.error); | ||||
| 			// Update the equipment admin status | ||||
| 			statusRecord = statusServiceInterface.update(statusRecord); | ||||
| 		} catch (Exception e) { | ||||
| 			LOG.error("Exception in updateApDisconnectedStatus", e); | ||||
| 			throw e; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public OpensyncAPConfig getApConfig(String apId) { | ||||
| 		LOG.info("Retrieving config for AP {} ", apId); | ||||
| @@ -803,7 +791,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
| 			if ((customer != null) && (customer.getDetails() != null) | ||||
| 					&& (customer.getDetails().getAutoProvisioning() != null) | ||||
| 					&& customer.getDetails().getAutoProvisioning().isEnabled()) { | ||||
|                 Equipment equipmentConfig = getCustomerEquipment(apId); | ||||
| 				Equipment equipmentConfig = equipmentServiceInterface.getByInventoryIdOrNull(apId); | ||||
|  | ||||
| 				if (equipmentConfig == null) { | ||||
| 					throw new IllegalStateException("Cannot retrieve configuration for " + apId); | ||||
| @@ -827,8 +815,8 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
| 				ret.setSsidProfile( | ||||
| 						profileContainer.getChildrenOfType(equipmentConfig.getProfileId(), ProfileType.ssid)); | ||||
|  | ||||
|                 ret.setMetricsProfiles( | ||||
|                         profileContainer.getChildrenOfType(equipmentConfig.getProfileId(), ProfileType.service_metrics_collection_config)); | ||||
| 				ret.setMetricsProfiles(profileContainer.getChildrenOfType(equipmentConfig.getProfileId(), | ||||
| 						ProfileType.service_metrics_collection_config)); | ||||
|  | ||||
| 				Set<Profile> radiusSet = new HashSet<>(); | ||||
| 				Set<Long> captiveProfileIds = new HashSet<>(); | ||||
| @@ -863,12 +851,12 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
|  | ||||
| 				if (hotspot20ProfileSet.size() > 0) { | ||||
| 					for (Profile hotspot20Profile : hotspot20ProfileSet) { | ||||
|                         hotspot20OperatorSet.addAll( | ||||
|                                 profileContainer.getChildrenOfType(hotspot20Profile.getId(), ProfileType.passpoint_operator)); | ||||
|                         hotspot20VenueSet.addAll( | ||||
|                                 profileContainer.getChildrenOfType(hotspot20Profile.getId(), ProfileType.passpoint_venue)); | ||||
|                         hotspot20ProviderSet.addAll( | ||||
|                                 profileContainer.getChildrenOfType(hotspot20Profile.getId(), ProfileType.passpoint_osu_id_provider)); | ||||
| 						hotspot20OperatorSet.addAll(profileContainer.getChildrenOfType(hotspot20Profile.getId(), | ||||
| 								ProfileType.passpoint_operator)); | ||||
| 						hotspot20VenueSet.addAll(profileContainer.getChildrenOfType(hotspot20Profile.getId(), | ||||
| 								ProfileType.passpoint_venue)); | ||||
| 						hotspot20ProviderSet.addAll(profileContainer.getChildrenOfType(hotspot20Profile.getId(), | ||||
| 								ProfileType.passpoint_osu_id_provider)); | ||||
| 					} | ||||
| 					hotspotConfig.setHotspot20OperatorSet(hotspot20OperatorSet); | ||||
| 					hotspotConfig.setHotspot20ProfileSet(hotspot20ProfileSet); | ||||
| @@ -1133,9 +1121,10 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
| 			if (protocolStatus != null) { | ||||
|  | ||||
| 				protocolStatusData = (EquipmentProtocolStatusData) protocolStatus.getDetails(); | ||||
|                 if (!protocolStatusData.getReportedCC() | ||||
|                         .equals(CountryCode.getByName((radioState.getCountry())))) { | ||||
|                     protocolStatusData.setReportedCC(CountryCode.getByName((radioState.getCountry()))); | ||||
| 				if (!protocolStatusData.getReportedCC().equals(CountryCode.getByName((radioState.getCountry())))) { | ||||
| 					 | ||||
| 					LOG.debug("Protocol Status reportedCC {} radioStatus.getCountry {} radioStatus CountryCode fromName {}", protocolStatusData.getReportedCC(), radioState.getCountry(), CountryCode.getByName((radioState.getCountry()))); | ||||
| 					protocolStatusData.setReportedCC(CountryCode.getByName((radioState. getCountry()))); | ||||
| 					protocolStatus.setDetails(protocolStatusData); | ||||
|  | ||||
| 				} else { | ||||
| @@ -1452,7 +1441,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
| 		OvsdbSession ovsdbSession = ovsdbSessionMapInterface.getSession(apId); | ||||
|  | ||||
| 		if (ovsdbSession == null) { | ||||
|             LOG.debug("awlanNodeDbTableUpdate::Cannot get Session for AP {}", apId); | ||||
| 			LOG.info("awlanNodeDbTableUpdate::Cannot get Session for AP {}", apId); | ||||
| 			return; | ||||
| 		} | ||||
|  | ||||
| @@ -1460,22 +1449,27 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
| 		long equipmentId = ovsdbSession.getEquipmentId(); | ||||
|  | ||||
| 		if ((customerId < 0) || (equipmentId < 0)) { | ||||
|             LOG.debug("awlanNodeDbTableUpdate::Cannot get valid CustomerId {} or EquipmentId {} for AP {}", customerId, | ||||
| 			LOG.info("awlanNodeDbTableUpdate::Cannot get valid CustomerId {} or EquipmentId {} for AP {}", customerId, | ||||
| 					equipmentId, apId); | ||||
| 			return; | ||||
| 		} | ||||
|  | ||||
| 		Equipment ce = equipmentServiceInterface.getByInventoryIdOrNull(apId); | ||||
| 		if (ce == null) { | ||||
| 			LOG.info("awlanNodeDbTableUpdate::Cannot find AP {}", apId); | ||||
| 			return; | ||||
| 		} | ||||
|  | ||||
| 		int upgradeStatusFromAp = opensyncAPState.getUpgradeStatus(); | ||||
| 		EquipmentUpgradeState fwUpgradeState = null; | ||||
| 		FailureReason fwUpgradeFailureReason = null; | ||||
|  | ||||
| 		if (opensyncAPState.getFirmwareUrl().equals(OvsdbStringConstants.OVSDB_AWLAN_AP_FACTORY_RESET) | ||||
|                 || opensyncAPState.getFirmwareUrl().equals(OvsdbStringConstants.OVSDB_AWLAN_AP_FACTORY_RESET) | ||||
|                 || opensyncAPState.getFirmwareUrl().equals(OvsdbStringConstants.OVSDB_AWLAN_AP_FACTORY_RESET) | ||||
| 				|| opensyncAPState.getFirmwareUrl().equals(OvsdbStringConstants.OVSDB_AWLAN_AP_REBOOT) | ||||
| 				|| opensyncAPState.getFirmwareUrl().equals(OvsdbStringConstants.OVSDB_AWLAN_AP_SWITCH_SOFTWARE_BANK) | ||||
| 				|| opensyncAPState.getFirmwareUrl().equals("")) { | ||||
|  | ||||
|             fwUpgradeState = EquipmentUpgradeState.undefined; | ||||
|  | ||||
| 			LOG.debug("Firmware Url {}, no fwUpgradeState", opensyncAPState.getFirmwareUrl()); | ||||
| 		} else { | ||||
| 			fwUpgradeState = OvsdbToWlanCloudTypeMappingUtility | ||||
| 					.getCloudEquipmentUpgradeStateFromOpensyncUpgradeStatus(upgradeStatusFromAp); | ||||
| @@ -1486,19 +1480,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
|         Status protocolStatus = statusServiceInterface.getOrNull(customerId, equipmentId, StatusDataType.PROTOCOL); | ||||
|         if (protocolStatus == null) { | ||||
|             protocolStatus = new Status(); | ||||
|             protocolStatus.setCustomerId(customerId); | ||||
|             protocolStatus.setEquipmentId(equipmentId); | ||||
|             protocolStatus.setStatusDataType(StatusDataType.PROTOCOL); | ||||
|             EquipmentProtocolStatusData protocolStatusData = new EquipmentProtocolStatusData(); | ||||
|             protocolStatus.setDetails(protocolStatusData); | ||||
|  | ||||
|             protocolStatus = statusServiceInterface.update(protocolStatus); | ||||
|  | ||||
|         } | ||||
|  | ||||
| 		String reportedFwImageName = null; | ||||
| 		String reportedAltFwImageName = null; | ||||
|  | ||||
| @@ -1515,63 +1496,86 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
| 			reportedAltFwImageName = opensyncAPState.getVersionMatrix().get(OvsdbStringConstants.FW_IMAGE_NAME_KEY); | ||||
|  | ||||
| 		} | ||||
|  | ||||
|         EquipmentProtocolStatusData protocolStatusData = (EquipmentProtocolStatusData) protocolStatus.getDetails(); | ||||
|         protocolStatusData.setReportedSku(opensyncAPState.getSkuNumber()); | ||||
|         if (reportedFwImageName != null) { | ||||
|             protocolStatusData.setReportedSwVersion(reportedFwImageName); | ||||
|         } | ||||
|         protocolStatusData.setReportedSwAltVersion(reportedAltFwImageName); | ||||
|         protocolStatusData.setReportedHwVersion(opensyncAPState.getPlatformVersion()); | ||||
|         protocolStatusData.setSystemName(opensyncAPState.getModel()); | ||||
|  | ||||
| 		List<Status> updates = new ArrayList<>(); | ||||
|  | ||||
|         // only post update if there is a change | ||||
|         if (!((EquipmentProtocolStatusData) statusServiceInterface | ||||
|                 .getOrNull(customerId, equipmentId, StatusDataType.PROTOCOL).getDetails()).equals(protocolStatusData)) { | ||||
|             protocolStatus.setDetails(protocolStatusData); | ||||
| 		Status protocolStatus = configureProtocolStatus(opensyncAPState, customerId, equipmentId, reportedFwImageName, | ||||
| 				reportedAltFwImageName); | ||||
| 		if (protocolStatus != null) { | ||||
| 			updates.add(protocolStatus); | ||||
| 		} | ||||
|  | ||||
|         Status firmwareStatus = statusServiceInterface.getOrNull(customerId, equipmentId, StatusDataType.FIRMWARE); | ||||
|         if (firmwareStatus == null) { | ||||
|             firmwareStatus = new Status(); | ||||
|             firmwareStatus.setCustomerId(customerId); | ||||
|             firmwareStatus.setEquipmentId(equipmentId); | ||||
|             firmwareStatus.setStatusDataType(StatusDataType.FIRMWARE); | ||||
|             firmwareStatus.setDetails(new EquipmentUpgradeStatusData()); | ||||
|             firmwareStatus = statusServiceInterface.update(firmwareStatus); | ||||
|  | ||||
|         } | ||||
|  | ||||
|         Equipment ce = getCustomerEquipment(apId); | ||||
|         if (ce != null) { | ||||
|             ce.getDetails(); | ||||
|  | ||||
|             if (fwUpgradeState.equals(EquipmentUpgradeState.up_to_date)) { | ||||
|                 LOG.info("Firmware load is up to date."); | ||||
|  | ||||
|                 EquipmentUpgradeStatusData firmwareStatusData = (EquipmentUpgradeStatusData) firmwareStatus | ||||
|                         .getDetails(); | ||||
|                 if (reportedFwImageName != null) { | ||||
|                     if (!firmwareStatusData.getActiveSwVersion().equals(reportedFwImageName) | ||||
|                             || !firmwareStatusData.getUpgradeState().equals(fwUpgradeState) | ||||
|                             || !firmwareStatusData.getAlternateSwVersion().equals(reportedAltFwImageName)) { | ||||
|                         firmwareStatusData.setActiveSwVersion(reportedFwImageName); | ||||
|                         firmwareStatusData.setAlternateSwVersion(reportedAltFwImageName); | ||||
|                         firmwareStatusData.setUpgradeState(fwUpgradeState, fwUpgradeFailureReason); | ||||
|                         firmwareStatus.setDetails(firmwareStatusData); | ||||
| 		Status firmwareStatus = configureFirmwareStatus(customerId, equipmentId, fwUpgradeState, fwUpgradeFailureReason, | ||||
| 				reportedFwImageName, reportedAltFwImageName); | ||||
| 		if (firmwareStatus != null) { | ||||
| 			updates.add(firmwareStatus); | ||||
| 		} | ||||
|  | ||||
|                 } | ||||
|  | ||||
|                 if (!updates.isEmpty()) { // may be some updates from protocol | ||||
| 		if (!updates.isEmpty()) {// may be some updates from | ||||
| 			// protocol | ||||
| 			// status | ||||
| 			updates = statusServiceInterface.update(updates); | ||||
| 		}  | ||||
| 	} | ||||
|  | ||||
| 	private Status configureProtocolStatus(OpensyncAWLANNode opensyncAPState, int customerId, long equipmentId, | ||||
| 			String reportedSwImageName, String reportedAltSwImageName) { | ||||
| 		Status protocolStatus = statusServiceInterface.getOrNull(customerId, equipmentId, StatusDataType.PROTOCOL); | ||||
| 		if (protocolStatus != null) { | ||||
| 			EquipmentProtocolStatusData protocolStatusData = ((EquipmentProtocolStatusData) protocolStatus.getDetails()); | ||||
| 			if (protocolStatusData.getReportedSku() != null && protocolStatusData.getReportedSku().equals(opensyncAPState.getSkuNumber()) | ||||
| 					&& protocolStatusData.getReportedSwVersion() != null && protocolStatusData.getReportedSwVersion().equals(reportedSwImageName)  | ||||
| 					&& protocolStatusData.getReportedSwAltVersion() != null && protocolStatusData.getReportedSwAltVersion().equals(reportedAltSwImageName) | ||||
| 					&& protocolStatusData.getReportedHwVersion() != null && protocolStatusData.getReportedHwVersion().equals(opensyncAPState.getPlatformVersion()) | ||||
| 					&& protocolStatusData.getSystemName() != null && protocolStatusData.getSystemName().equals(opensyncAPState.getModel())) { | ||||
| 				// no changes | ||||
| 				return null; | ||||
| 			} | ||||
| 			protocolStatusData.setReportedSku(opensyncAPState.getSkuNumber()); | ||||
| 			if (reportedSwImageName != null) { | ||||
| 				protocolStatusData.setReportedSwVersion(reportedSwImageName); | ||||
| 			} else { | ||||
| 				protocolStatusData.setReportedSwVersion("Unknown"); | ||||
| 			} | ||||
| 			if (reportedAltSwImageName != null) { | ||||
| 				protocolStatusData.setReportedSwAltVersion(reportedAltSwImageName); | ||||
| 			} else { | ||||
| 				protocolStatusData.setReportedSwAltVersion("Unknown"); | ||||
| 			} | ||||
| 			protocolStatusData | ||||
| 			.setReportedHwVersion(opensyncAPState.getPlatformVersion()); | ||||
| 			protocolStatusData.setSystemName(opensyncAPState.getModel()); | ||||
| 		} | ||||
| 		return protocolStatus; | ||||
| 	} | ||||
|  | ||||
| 	private Status configureFirmwareStatus(int customerId, long equipmentId,EquipmentUpgradeState fwUpgradeState, | ||||
| 			FailureReason fwUpgradeFailureReason, String reportedFwImageName, String reportedAltFwImageName) { | ||||
|  | ||||
| 		Status firmwareStatus =  statusServiceInterface.getOrNull(customerId, equipmentId, StatusDataType.FIRMWARE); | ||||
| 		if (firmwareStatus != null) { | ||||
| 			EquipmentUpgradeStatusData upgradeStatusData = (EquipmentUpgradeStatusData)firmwareStatus.getDetails(); | ||||
| 			if (upgradeStatusData.getActiveSwVersion() != null && upgradeStatusData.getActiveSwVersion().equals(reportedFwImageName) && upgradeStatusData.getAlternateSwVersion() != null &&upgradeStatusData.getAlternateSwVersion().equals(reportedAltFwImageName) && upgradeStatusData.getUpgradeState() != null && upgradeStatusData.getUpgradeState().equals(fwUpgradeState)) { | ||||
| 				return null; // no changes | ||||
| 			} | ||||
| 			if (reportedFwImageName != null) { | ||||
| 				upgradeStatusData.setActiveSwVersion(reportedFwImageName); | ||||
| 			} else { | ||||
| 				upgradeStatusData.setActiveSwVersion("Unknown"); | ||||
|  | ||||
| 			} | ||||
| 			if (reportedAltFwImageName != null) { | ||||
| 				upgradeStatusData.setAlternateSwVersion(reportedAltFwImageName); | ||||
| 			} else { | ||||
| 				((EquipmentUpgradeStatusData) firmwareStatus.getDetails()) | ||||
| 				.setAlternateSwVersion("Unknown"); | ||||
| 			} | ||||
|  | ||||
| 			if (fwUpgradeState == null) fwUpgradeState = EquipmentUpgradeState.undefined; | ||||
|  | ||||
| 			if (fwUpgradeState.equals(EquipmentUpgradeState.up_to_date)) { | ||||
| 				LOG.info("Firmware load is up to date."); | ||||
| 				upgradeStatusData.setUpgradeState(fwUpgradeState); | ||||
| 				firmwareStatus.setDetails(upgradeStatusData); | ||||
| 			} else if (fwUpgradeState.equals(EquipmentUpgradeState.download_complete) | ||||
| 					|| fwUpgradeState.equals(EquipmentUpgradeState.apply_complete) | ||||
| 					|| fwUpgradeState.equals(EquipmentUpgradeState.apply_initiated) | ||||
| @@ -1583,98 +1587,30 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
|  | ||||
| 				LOG.info("Firmware upgrade is in state {}", fwUpgradeState); | ||||
|  | ||||
|                 EquipmentUpgradeStatusData firmwareStatusData = (EquipmentUpgradeStatusData) firmwareStatus | ||||
|                         .getDetails(); | ||||
|                 if (reportedFwImageName != null) { | ||||
|                     if (!firmwareStatusData.getActiveSwVersion().equals(reportedFwImageName) | ||||
|                             || !firmwareStatusData.getUpgradeState().equals(fwUpgradeState) | ||||
|                             || !firmwareStatusData.getAlternateSwVersion().equals(reportedAltFwImageName)) { | ||||
|                         firmwareStatusData.setActiveSwVersion(reportedFwImageName); | ||||
|                         firmwareStatusData.setAlternateSwVersion(reportedAltFwImageName); | ||||
|                         firmwareStatusData.setUpgradeState(fwUpgradeState, fwUpgradeFailureReason); | ||||
| 				upgradeStatusData.setUpgradeState(fwUpgradeState); | ||||
| 				if (fwUpgradeState.equals(EquipmentUpgradeState.apply_initiated)) { | ||||
|                             firmwareStatusData.setUpgradeStartTime(System.currentTimeMillis()); | ||||
| 					upgradeStatusData.setUpgradeStartTime(System.currentTimeMillis()); | ||||
| 				} else if (fwUpgradeState.equals(EquipmentUpgradeState.reboot_initiated) | ||||
| 						|| fwUpgradeState.equals(EquipmentUpgradeState.rebooting)) { | ||||
|                             firmwareStatusData.setRebooted(true); | ||||
| 					upgradeStatusData.setRebooted(true); | ||||
| 				} | ||||
|                         firmwareStatus.setDetails(firmwareStatusData); | ||||
|                         updates.add(firmwareStatus); | ||||
|                     } | ||||
|                 } | ||||
|  | ||||
|                 if (!updates.isEmpty()) {// may be some updates from protocol | ||||
|                                          // status | ||||
|                     updates = statusServiceInterface.update(updates); | ||||
|                 } | ||||
|  | ||||
|                 // no other action here, these are just transient states | ||||
|  | ||||
| 				firmwareStatus.setDetails(upgradeStatusData); | ||||
| 			} else if (fwUpgradeState.equals(EquipmentUpgradeState.apply_failed) | ||||
| 					|| fwUpgradeState.equals(EquipmentUpgradeState.download_failed) | ||||
| 					|| fwUpgradeState.equals(EquipmentUpgradeState.reboot_failed)) { | ||||
| 				LOG.warn("Firmware upgrade is in a failed state {} due to {}", fwUpgradeState, fwUpgradeFailureReason); | ||||
|  | ||||
|                 EquipmentUpgradeStatusData firmwareStatusData = (EquipmentUpgradeStatusData) firmwareStatus | ||||
|                         .getDetails(); | ||||
|                 if (reportedFwImageName != null) { | ||||
|                     if (!firmwareStatusData.getActiveSwVersion().equals(reportedFwImageName) | ||||
|                             || !firmwareStatusData.getAlternateSwVersion().equals(reportedAltFwImageName) | ||||
|                             || !firmwareStatusData.getUpgradeState().equals(fwUpgradeState) | ||||
|                             || !firmwareStatusData.getReason().equals(fwUpgradeFailureReason)) { | ||||
|                         firmwareStatusData.setActiveSwVersion(reportedFwImageName); | ||||
|                         firmwareStatusData.setAlternateSwVersion(reportedAltFwImageName); | ||||
|                         firmwareStatusData.setUpgradeState(fwUpgradeState, fwUpgradeFailureReason); | ||||
|                         firmwareStatus.setDetails(firmwareStatusData); | ||||
|                         updates.add(firmwareStatus); | ||||
|                         updates = statusServiceInterface.update(updates); | ||||
|                         reconcileFwVersionToTrack(ce, reportedFwImageName, opensyncAPState.getModel()); | ||||
| 				upgradeStatusData.setUpgradeState(fwUpgradeState, fwUpgradeFailureReason); | ||||
| 				firmwareStatus.setDetails(upgradeStatusData); | ||||
| 			} else { | ||||
|                         if (!updates.isEmpty()) { | ||||
|                             updates = statusServiceInterface.update(updates); | ||||
|                         } | ||||
|                     } | ||||
|  | ||||
|                 } else { | ||||
|                     if (!updates.isEmpty()) {// may be some updates from | ||||
|                                              // protocol | ||||
|                         // status | ||||
|                         updates = statusServiceInterface.update(updates); | ||||
| 				((EquipmentUpgradeStatusData) firmwareStatus.getDetails()) | ||||
| 				.setUpgradeState(EquipmentUpgradeState.undefined); | ||||
| 				((EquipmentUpgradeStatusData) firmwareStatus.getDetails()) | ||||
| 				.setUpgradeStartTime(null); | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
|             } else { | ||||
|                 LOG.info("Firmware upgrade state is {}", fwUpgradeState); | ||||
|                 EquipmentUpgradeStatusData firmwareStatusData = (EquipmentUpgradeStatusData) firmwareStatus | ||||
|                         .getDetails(); | ||||
|                 if (reportedFwImageName != null) { | ||||
|                     if (!firmwareStatusData.getActiveSwVersion().equals(reportedFwImageName) | ||||
|                             || !firmwareStatusData.getUpgradeState().equals(fwUpgradeState) | ||||
|                             || !firmwareStatusData.getAlternateSwVersion().equals(reportedAltFwImageName)) { | ||||
|                         firmwareStatusData.setActiveSwVersion(reportedFwImageName); | ||||
|                         firmwareStatusData.setAlternateSwVersion(reportedAltFwImageName); | ||||
|                         firmwareStatusData.setUpgradeState(fwUpgradeState, fwUpgradeFailureReason); | ||||
|                         firmwareStatus.setDetails(firmwareStatusData); | ||||
|                         updates.add(firmwareStatus); | ||||
|                         updates = statusServiceInterface.update(updates); | ||||
|                     } else { | ||||
|                         if (!updates.isEmpty()) {// may be some updates from | ||||
|                                                  // protocol | ||||
|                             // status | ||||
|                             updates = statusServiceInterface.update(updates); | ||||
|                         } | ||||
|                     } | ||||
|                 } else { | ||||
|                     if (!updates.isEmpty()) {// may be some updates from | ||||
|                                              // protocol | ||||
|                         // status | ||||
|                         updates = statusServiceInterface.update(updates); | ||||
|                     } | ||||
|  | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
| 		return firmwareStatus; | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| @@ -1697,11 +1633,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
| 			return; | ||||
| 		} | ||||
|  | ||||
|         if (equipmentId < 0L) { | ||||
|             LOG.debug("wifiVIFStateDbTableDelete Cannot get equipmentId {} for session {}", equipmentId); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
| 		Status activeBssidsStatus = statusServiceInterface.getOrNull(customerId, equipmentId, | ||||
| 				StatusDataType.ACTIVE_BSSIDS); | ||||
|  | ||||
| @@ -1736,7 +1667,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
|  | ||||
| 		} | ||||
|  | ||||
|         bssidList.removeAll(toBeDeleted); | ||||
| 		if (bssidList != null) bssidList.removeAll(toBeDeleted); | ||||
|  | ||||
| 		statusDetails.setActiveBSSIDs(bssidList); | ||||
|  | ||||
| @@ -1773,13 +1704,14 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
| 				new MacAddress(deletedClientMac)); | ||||
|  | ||||
| 		if (client != null) { | ||||
|             if (clientSession != null) { | ||||
| 		    if (clientSession != null && clientSession.getDetails() != null && clientSession.getDetails().getAssociationState() != null) { | ||||
| 		        if (!clientSession.getDetails().getAssociationState().equals(AssociationState.Disconnected)) { | ||||
| 		            clientSession.getDetails().setAssociationState(AssociationState.Disconnected); | ||||
| 		            clientSession = clientServiceInterface.updateSession(clientSession); | ||||
| 		            LOG.info("Session {} for client {} is now disconnected.", clientSession, client.getMacAddress()); | ||||
| 		        } | ||||
| 		    } | ||||
|  | ||||
| 		} else { | ||||
| 			if (clientSession != null) { | ||||
|  | ||||
| @@ -1790,7 +1722,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| @@ -1815,7 +1746,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
| 			return; | ||||
| 		} | ||||
|  | ||||
|         Equipment ce = getCustomerEquipment(apId); | ||||
| 		Equipment ce = equipmentServiceInterface.getByInventoryIdOrNull(apId); | ||||
|  | ||||
| 		if (ce == null) { | ||||
| 			LOG.debug("updateDhcpIpClientFingerprints::Cannot get Equipment for AP {}", apId); | ||||
| @@ -1845,7 +1776,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
| 				} else if (clientMacAddress.equals(equipmentServiceInterface.get(equipmentId).getBaseMacAddress())) { | ||||
| 					LOG.info("Not a client device {} ", dhcpLeasedIps); | ||||
|  | ||||
|  | ||||
| 					// In case somehow this equipment has accidentally been | ||||
| 					// tagged as a client, remove | ||||
|  | ||||
| @@ -1859,7 +1789,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
|  | ||||
| 					LOG.info("Deleting invalid client {}", clientServiceInterface.delete(customerId, clientMacAddress)); | ||||
|  | ||||
|  | ||||
| 					continue; | ||||
| 				} else { | ||||
| 					LOG.info("Client {} already exists on the cloud, update client values", dhcpLeasedIps); | ||||
| @@ -1939,7 +1868,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
|  | ||||
| 					LOG.info("Not a client device {} ", dhcpLeasedIps); | ||||
|  | ||||
|  | ||||
| 					// In case somehow this equipment has accidentally been | ||||
| 					// tagged as a client, remove | ||||
|  | ||||
| @@ -1953,12 +1881,10 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra | ||||
|  | ||||
| 					LOG.info("Deleting invalid client {}", clientServiceInterface.delete(customerId, clientMacAddress)); | ||||
|  | ||||
|  | ||||
| 					continue; | ||||
|  | ||||
| 				} else { | ||||
|  | ||||
|  | ||||
| 					ClientInfoDetails clientDetails = (ClientInfoDetails) client.getDetails(); | ||||
| 					if (dhcpLeasedIps.containsKey("hostname")) { | ||||
|  | ||||
|   | ||||
| @@ -30,6 +30,7 @@ import com.telecominfraproject.wlan.client.session.models.ClientSessionDetails; | ||||
| import com.telecominfraproject.wlan.client.session.models.ClientSessionMetricDetails; | ||||
| import com.telecominfraproject.wlan.cloudeventdispatcher.CloudEventDispatcherInterface; | ||||
| import com.telecominfraproject.wlan.core.model.equipment.ChannelBandwidth; | ||||
| import com.telecominfraproject.wlan.core.model.equipment.ChannelHopReason; | ||||
| import com.telecominfraproject.wlan.core.model.equipment.DetectedAuthMode; | ||||
| import com.telecominfraproject.wlan.core.model.equipment.MacAddress; | ||||
| import com.telecominfraproject.wlan.core.model.equipment.NeighborScanPacketType; | ||||
| @@ -39,8 +40,9 @@ import com.telecominfraproject.wlan.core.model.equipment.SecurityType; | ||||
| import com.telecominfraproject.wlan.core.model.equipment.WiFiSessionUtility; | ||||
| import com.telecominfraproject.wlan.core.model.utils.DecibelUtils; | ||||
| import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface; | ||||
| import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration; | ||||
| import com.telecominfraproject.wlan.equipment.models.Equipment; | ||||
| import com.telecominfraproject.wlan.opensync.ovsdb.dao.utilities.OvsdbToWlanCloudTypeMappingUtility; | ||||
| import com.telecominfraproject.wlan.opensync.util.OvsdbToWlanCloudTypeMappingUtility; | ||||
| import com.telecominfraproject.wlan.profile.ProfileServiceInterface; | ||||
| import com.telecominfraproject.wlan.profile.models.Profile; | ||||
| import com.telecominfraproject.wlan.profile.models.ProfileContainer; | ||||
| @@ -76,6 +78,7 @@ import com.telecominfraproject.wlan.status.models.Status; | ||||
| import com.telecominfraproject.wlan.status.models.StatusCode; | ||||
| import com.telecominfraproject.wlan.status.models.StatusDataType; | ||||
| import com.telecominfraproject.wlan.status.network.models.NetworkAdminStatusData; | ||||
| import com.telecominfraproject.wlan.systemevent.equipment.realtime.RealTimeChannelHopEvent; | ||||
| import com.telecominfraproject.wlan.systemevent.equipment.realtime.RealTimeEventType; | ||||
| import com.telecominfraproject.wlan.systemevent.equipment.realtime.RealTimeSipCallReportEvent; | ||||
| import com.telecominfraproject.wlan.systemevent.equipment.realtime.RealTimeSipCallStartEvent; | ||||
| @@ -92,6 +95,7 @@ import sts.OpensyncStats.AssocType; | ||||
| import sts.OpensyncStats.CallReport; | ||||
| import sts.OpensyncStats.CallStart; | ||||
| import sts.OpensyncStats.CallStop; | ||||
| import sts.OpensyncStats.ChannelSwitchReason; | ||||
| import sts.OpensyncStats.Client; | ||||
| import sts.OpensyncStats.ClientReport; | ||||
| import sts.OpensyncStats.DNSProbeMetric; | ||||
| @@ -150,7 +154,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|     void processMqttMessage(String topic, WCStatsReport wcStatsReport) { | ||||
|         LOG.info("Received WCStatsReport {}", wcStatsReport.toString()); | ||||
|  | ||||
|         LOG.info("Received report on topic {}", topic); | ||||
|         LOG.debug("Received report on topic {}", topic); | ||||
|         int customerId = extractCustomerIdFromTopic(topic); | ||||
|  | ||||
|         long equipmentId = extractEquipmentIdFromTopic(topic); | ||||
| @@ -245,7 +249,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|         } | ||||
|  | ||||
|         if (!metricRecordList.isEmpty()) { | ||||
|             LOG.info("Publishing Metrics {}", metricRecordList); | ||||
|             LOG.debug("Publishing Metrics {}", metricRecordList); | ||||
|             equipmentMetricsCollectorInterface.publishMetrics(metricRecordList); | ||||
|         } | ||||
|  | ||||
| @@ -296,7 +300,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|  | ||||
|             for (sts.OpensyncStats.EventReport.ClientSession apEventClientSession : e.getClientSessionList()) { | ||||
|  | ||||
|                 LOG.info("Processing EventReport::ClientSession {}", apEventClientSession); | ||||
|                 LOG.debug("Processing EventReport::ClientSession {}", apEventClientSession); | ||||
|  | ||||
|                 processClientConnectEvent(customerId, equipmentId, locationId, e, apEventClientSession); | ||||
|  | ||||
| @@ -318,10 +322,74 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|  | ||||
|             } | ||||
|  | ||||
|             publishChannelHopEvents(customerId, equipmentId, e); | ||||
|  | ||||
|         }); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     private void publishChannelHopEvents(int customerId, long equipmentId, EventReport e) { | ||||
|          | ||||
|         LOG.info("publishChannelHopEvents for customerId {} equipmentId {}"); | ||||
|          | ||||
|         List<SystemEvent> events = new ArrayList<>(); | ||||
|          | ||||
|         for (sts.OpensyncStats.EventReport.ChannelSwitchEvent channelSwitchEvent : e.getChannelSwitchList()) { | ||||
|             Equipment equipment = equipmentServiceInterface.getOrNull(equipmentId); | ||||
|             if (equipment == null) | ||||
|                 continue; | ||||
|             RadioType radioType = null; | ||||
|             Long timestamp = null; | ||||
|             ChannelHopReason reason = null; | ||||
|             Integer channel = null; | ||||
|             if (channelSwitchEvent.hasBand()) {                    | ||||
|                radioType = OvsdbToWlanCloudTypeMappingUtility | ||||
|                 .getRadioTypeFromOpensyncStatsRadioBandType(channelSwitchEvent.getBand());             | ||||
|             } | ||||
|             if (RadioType.isUnsupported(radioType)) { | ||||
|                 LOG.warn("publishChannelHopEvents:RadioType {} is unsupported, cannot send RealTimeChannelHopEvent for {}", radioType, channelSwitchEvent); | ||||
|                 continue; | ||||
|             } | ||||
|             if (channelSwitchEvent.hasTimestampMs()) { | ||||
|                 timestamp = channelSwitchEvent.getTimestampMs(); | ||||
|             } | ||||
|             if (timestamp == null) { | ||||
|                 LOG.warn("publishChannelHopEvents:timestamp is null, cannot send RealTimeChannelHopEvent for {}", channelSwitchEvent); | ||||
|                 continue;   | ||||
|             } | ||||
|              | ||||
|             if (channelSwitchEvent.hasReason()) { | ||||
|                 if (channelSwitchEvent.getReason().equals(ChannelSwitchReason.high_interference)) reason = ChannelHopReason.HighInterference; | ||||
|                 else if (channelSwitchEvent.getReason().equals(ChannelSwitchReason.radar_detected)) reason = ChannelHopReason.RadarDetected; | ||||
|             } | ||||
|             if (ChannelHopReason.isUnsupported(reason)) { | ||||
|                 LOG.warn("publishChannelHopEvents:reason {} is unsupported, cannot send RealTimeChannelHopEvent for {}", channelSwitchEvent.getReason(), channelSwitchEvent); | ||||
|                 continue;  | ||||
|             } | ||||
|             if (channelSwitchEvent.hasChannel()) { | ||||
|                 channel = channelSwitchEvent.getChannel(); | ||||
|             } | ||||
|             if (channel == null) { | ||||
|                 LOG.warn("publishChannelHopEvents:channel is null, cannot send RealTimeChannelHopEvent for {}", channelSwitchEvent); | ||||
|                 continue;  | ||||
|             } | ||||
|  | ||||
|             RealTimeChannelHopEvent channelHopEvent = new RealTimeChannelHopEvent(RealTimeEventType.Channel_Hop, customerId, equipmentId, radioType, channel, ((ApElementConfiguration)equipment.getDetails()).getRadioMap().get(radioType).getChannelNumber(), reason, timestamp); | ||||
|              | ||||
|             events.add(channelHopEvent); | ||||
|              | ||||
|             LOG.debug("publishChannelHopEvents:Adding ChannelHopEvent to bulk list {}", channelHopEvent); | ||||
|         } | ||||
|          | ||||
|  | ||||
|         if (events.size() > 0) { | ||||
|             LOG.info("publishChannelHopEvents:publishEventsBulk: {}", events); | ||||
|             equipmentMetricsCollectorInterface.publishEventsBulk(events); | ||||
|         } else { | ||||
|             LOG.info("publishChannelHopEvents:No ChannelHopEvents in report"); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     protected void processClientConnectEvent(int customerId, long equipmentId, long locationId, EventReport e, | ||||
|             sts.OpensyncStats.EventReport.ClientSession apEventClientSession) { | ||||
|         for (ClientConnectEvent clientConnectEvent : apEventClientSession.getClientConnectEventList()) { | ||||
| @@ -533,7 +601,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 clientSession = clientServiceInterface.updateSession(clientSession); | ||||
|  | ||||
|             } else { | ||||
|                 LOG.info("Cannot update client or client session when no client mac address is present"); | ||||
|                 LOG.warn("Cannot update client or client session when no client mac address is present"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -593,7 +661,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 clientSession = clientServiceInterface.updateSession(clientSession); | ||||
|  | ||||
|             } else { | ||||
|                 LOG.info("Cannot update client or client session when no client mac address is present"); | ||||
|                 LOG.warn("Cannot update client or client session when no client mac address is present"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -666,7 +734,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 clientSession = clientServiceInterface.updateSession(clientSession); | ||||
|  | ||||
|             } else { | ||||
|                 LOG.info("Cannot update client or client session when no client mac address is present"); | ||||
|                 LOG.warn("Cannot update client or client session when no client mac address is present"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -728,7 +796,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 clientSession = clientServiceInterface.updateSession(clientSession); | ||||
|  | ||||
|             } else { | ||||
|                 LOG.info("Cannot update client or client session when no client mac address is present"); | ||||
|                 LOG.warn("Cannot update client or client session when no client mac address is present"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -787,7 +855,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 clientSession = clientServiceInterface.updateSession(clientSession); | ||||
|  | ||||
|             } else { | ||||
|                 LOG.info("Cannot update client or client session when no client mac address is present"); | ||||
|                 LOG.warn("Cannot update client or client session when no client mac address is present"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -836,7 +904,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 clientSession = clientServiceInterface.updateSession(clientSession); | ||||
|  | ||||
|             } else { | ||||
|                 LOG.info("Cannot update client or client session when no client mac address is present"); | ||||
|                 LOG.warn("Cannot update client or client session when no client mac address is present"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -893,7 +961,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 clientSession = clientServiceInterface.updateSession(clientSession); | ||||
|  | ||||
|             } else { | ||||
|                 LOG.info("Cannot update client or client session when no clientmac address is present"); | ||||
|                 LOG.warn("Cannot update client or client session when no clientmac address is present"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -960,7 +1028,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 clientSession = clientServiceInterface.updateSession(clientSession); | ||||
|  | ||||
|             } else { | ||||
|                 LOG.info("Cannot update client or client session when no client mac address is present"); | ||||
|                 LOG.warn("Cannot update client or client session when no client mac address is present"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -978,7 +1046,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 eventTimestamp = videoVoiceReport.getTimestampMs(); | ||||
|             } | ||||
|  | ||||
|             LOG.info("Received VideoVoiceReport {} for SIP call", videoVoiceReport); | ||||
|             LOG.debug("Received VideoVoiceReport {} for SIP call", videoVoiceReport); | ||||
|  | ||||
|             processRealTImeSipCallReportEvent(customerId, equipmentId, eventTimestamp, eventsList, videoVoiceReport); | ||||
|  | ||||
| @@ -1601,7 +1669,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|             NetworkAdminStatusData statusData = (NetworkAdminStatusData) networkAdminStatus.getDetails(); | ||||
|              | ||||
|             if (n.getDnsState() == null) { | ||||
|                 LOG.info("No DnsState present in networkProbeMetrics, DnsState and CloudLinkStatus set to 'normal"); | ||||
|                 LOG.debug("No DnsState present in networkProbeMetrics, DnsState and CloudLinkStatus set to 'normal"); | ||||
|                 statusData.setDnsStatus(StatusCode.normal); | ||||
|                 statusData.setCloudLinkStatus(StatusCode.normal); | ||||
|             } else { | ||||
| @@ -1609,13 +1677,13 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 statusData.setCloudLinkStatus(stateUpDownErrorToStatusCode(n.getDnsState())); | ||||
|             } | ||||
|             if (n.getDhcpState() == null) { | ||||
|                 LOG.info("No DhcpState present in networkProbeMetrics, set to 'normal"); | ||||
|                 LOG.debug("No DhcpState present in networkProbeMetrics, set to 'normal"); | ||||
|                 statusData.setDhcpStatus(StatusCode.normal); | ||||
|             } else { | ||||
|                 statusData.setDhcpStatus(stateUpDownErrorToStatusCode(n.getDhcpState())); | ||||
|             } | ||||
|             if (n.getRadiusState() == null) { | ||||
|                 LOG.info("No RadiusState present in networkProbeMetrics, set to 'normal"); | ||||
|                 LOG.debug("No RadiusState present in networkProbeMetrics, set to 'normal"); | ||||
|                 statusData.setRadiusStatus(StatusCode.normal); | ||||
|             } else { | ||||
|                 statusData.setRadiusStatus(stateUpDownErrorToStatusCode(n.getRadiusState())); | ||||
| @@ -1625,7 +1693,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|  | ||||
|             networkAdminStatus = statusServiceInterface.update(networkAdminStatus); | ||||
|  | ||||
|             LOG.info("Updated NetworkAdminStatus {}", networkAdminStatus); | ||||
|             LOG.debug("Updated NetworkAdminStatus {}", networkAdminStatus); | ||||
|  | ||||
|         }); | ||||
|  | ||||
| @@ -1658,7 +1726,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 StatusDataType.RADIO_UTILIZATION); | ||||
|  | ||||
|         if (radioUtilizationStatus == null) { | ||||
|             LOG.info("Create new radioUtilizationStatus"); | ||||
|             LOG.debug("Create new radioUtilizationStatus"); | ||||
|             radioUtilizationStatus = new Status(); | ||||
|             radioUtilizationStatus.setCustomerId(customerId); | ||||
|             radioUtilizationStatus.setEquipmentId(equipmentId); | ||||
| @@ -1719,7 +1787,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 if (radiusMetrics.hasLatency()) { | ||||
|                     networkProbeMetrics.setRadiusLatencyInMs(radiusMetrics.getLatency()); | ||||
|                 } | ||||
|                 if (radiusMetrics.hasRadiusState()) { | ||||
|  | ||||
|                 if (radiusMetrics.hasRadiusState()) { | ||||
|                     StateUpDownError radiusState = OvsdbToWlanCloudTypeMappingUtility | ||||
| @@ -1729,7 +1796,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|  | ||||
|                 } | ||||
|  | ||||
|                 } | ||||
|  | ||||
|             } | ||||
|  | ||||
|             if (networkProbe.hasVlanProbe()) { | ||||
| @@ -1769,7 +1836,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|         eqOsPerformance.setTotalAvailableMemoryKb(deviceReport.getMemUtil().getMemTotal()); | ||||
|         status.setDetails(eqOsPerformance); | ||||
|         status = statusServiceInterface.update(status); | ||||
|         LOG.info("updated status {}", status); | ||||
|         LOG.debug("updated status {}", status); | ||||
|     } | ||||
|  | ||||
|     void populateApClientMetrics(List<ServiceMetric> metricRecordList, Report report, int customerId, long equipmentId, | ||||
| @@ -1780,12 +1847,12 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|             for (Client cl : clReport.getClientListList()) { | ||||
|  | ||||
|                 if (cl.getMacAddress() == null) { | ||||
|                     LOG.info("No mac address for Client {}, cannot set device mac address for client in ClientMetrics.", | ||||
|                     LOG.debug("No mac address for Client {}, cannot set device mac address for client in ClientMetrics.", | ||||
|                             cl); | ||||
|                     continue; | ||||
|                 } | ||||
|  | ||||
|                 LOG.info("Processing ClientReport from AP {}", cl.getMacAddress()); | ||||
|                 LOG.debug("Processing ClientReport from AP {}", cl.getMacAddress()); | ||||
|  | ||||
|                 ServiceMetric smr = new ServiceMetric(customerId, equipmentId, new MacAddress(cl.getMacAddress())); | ||||
|                 smr.setLocationId(locationId); | ||||
| @@ -1809,7 +1876,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 long sessionId = WiFiSessionUtility.encodeWiFiAssociationId(clReport.getTimestampMs() / 1000L, | ||||
|                         MacAddress.convertMacStringToLongValue(cl.getMacAddress())); | ||||
|  | ||||
|                 LOG.info("populateApClientMetrics Session Id {}", sessionId); | ||||
|                 LOG.debug("populateApClientMetrics Session Id {}", sessionId); | ||||
|                 cMetrics.setSessionId(sessionId); | ||||
|  | ||||
|                 if (cl.hasStats()) { | ||||
| @@ -1867,7 +1934,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                     } | ||||
|                 } | ||||
|  | ||||
|                 LOG.info("ApClientMetrics Report {}", cMetrics); | ||||
|                 LOG.debug("ApClientMetrics Report {}", cMetrics); | ||||
|  | ||||
|             } | ||||
|  | ||||
| @@ -1951,18 +2018,18 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|             boolean isReassociation = true; | ||||
|             if (clientInstance == null) { | ||||
|  | ||||
|                 LOG.info("Cannot get client instance for {}", client.getMacAddress()); | ||||
|                 LOG.debug("Cannot get client instance for {}", client.getMacAddress()); | ||||
|                 return null; | ||||
|  | ||||
|             } | ||||
|  | ||||
|             LOG.info("Client {}", clientInstance); | ||||
|             LOG.debug("Client {}", clientInstance); | ||||
|  | ||||
|             ClientSession clientSession = clientServiceInterface.getSessionOrNull(customerId, equipmentId, | ||||
|                     clientInstance.getMacAddress()); | ||||
|  | ||||
|             if (clientSession == null) { | ||||
|                 LOG.info("Cannot get client session for {}", clientInstance.getMacAddress()); | ||||
|                 LOG.warn("Cannot get client session for {}", clientInstance.getMacAddress()); | ||||
|                 return null; | ||||
|             } | ||||
|  | ||||
| @@ -2037,7 +2104,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|  | ||||
|             clientSession = clientServiceInterface.updateSession(clientSession); | ||||
|  | ||||
|             LOG.info("Updated client session {}", clientSession); | ||||
|             LOG.debug("Updated client session {}", clientSession); | ||||
|  | ||||
|             return clientSession; | ||||
|         } catch (Exception e) { | ||||
| @@ -2054,7 +2121,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|         ClientSessionMetricDetails metricDetails = new ClientSessionMetricDetails(); | ||||
|  | ||||
|         if (LOG.isDebugEnabled()) | ||||
|             LOG.info("Stats: {} DurationMs {}", client.getStats(), client.getDurationMs()); | ||||
|             LOG.debug("Stats: {} DurationMs {}", client.getStats(), client.getDurationMs()); | ||||
|         int rssi = client.getStats().getRssi(); | ||||
|         metricDetails.setRssi(rssi); | ||||
|         metricDetails.setRxBytes(client.getStats().getRxBytes()); | ||||
| @@ -2072,7 +2139,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|         metricDetails.setRxRateKbps((long) client.getStats().getRxRate()); | ||||
|         metricDetails.setTxRateKbps((long) client.getStats().getTxRate()); | ||||
|         if (LOG.isDebugEnabled()) | ||||
|             LOG.info("RxRateKbps {} TxRateKbps {}", metricDetails.getRxRateKbps(), metricDetails.getTxRateKbps()); | ||||
|             LOG.debug("RxRateKbps {} TxRateKbps {}", metricDetails.getRxRateKbps(), metricDetails.getTxRateKbps()); | ||||
|  | ||||
|         // Throughput, do rate / duration | ||||
|         if (client.getDurationMs() > 1000) { | ||||
| @@ -2085,15 +2152,15 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|             float txBytesToMb = txBytesFv / 125000F; | ||||
|  | ||||
|             if (LOG.isDebugEnabled()) | ||||
|                 LOG.info("rxBytesToMb {} txBytesToMb {} ", rxBytesToMb, txBytesToMb); | ||||
|                 LOG.debug("rxBytesToMb {} txBytesToMb {} ", rxBytesToMb, txBytesToMb); | ||||
|  | ||||
|             metricDetails.setRxMbps(rxBytesToMb / durationSec); | ||||
|             metricDetails.setTxMbps(txBytesToMb / durationSec); | ||||
|             if (LOG.isDebugEnabled()) | ||||
|                 LOG.info("RxMbps {} TxMbps {} ", metricDetails.getRxMbps(), metricDetails.getTxMbps()); | ||||
|                 LOG.debug("RxMbps {} TxMbps {} ", metricDetails.getRxMbps(), metricDetails.getTxMbps()); | ||||
|  | ||||
|         } else { | ||||
|             LOG.info("Cannot calculate tx/rx throughput for Client {} based on duration of {} Ms", | ||||
|             LOG.warn("Cannot calculate tx/rx throughput for Client {} based on duration of {} Ms", | ||||
|                     client.getMacAddress(), client.getDurationMs()); | ||||
|         } | ||||
|         metricDetails.setLastMetricTimestamp(timestamp); | ||||
| @@ -2114,7 +2181,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|  | ||||
|         for (ClientReport clientReport : report.getClientsList()) { | ||||
|  | ||||
|             LOG.info("ClientReport for channel {} RadioBand {}", clientReport.getChannel(), clientReport.getBand()); | ||||
|             LOG.debug("ClientReport for channel {} RadioBand {}", clientReport.getChannel(), clientReport.getBand()); | ||||
|  | ||||
|             if (smr.getCreatedTimestamp() < clientReport.getTimestampMs()) { | ||||
|                 smr.setCreatedTimestamp(clientReport.getTimestampMs()); | ||||
| @@ -2157,7 +2224,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|             LOG.info("Client Report Date is {}", new Date(clientReport.getTimestampMs())); | ||||
|             LOG.debug("Client Report Date is {}", new Date(clientReport.getTimestampMs())); | ||||
|             int numConnectedClients = 0; | ||||
|             for (Client client : clientReport.getClientListList()) { | ||||
|                 if (client.hasStats()) { | ||||
| @@ -2237,7 +2304,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                         } | ||||
|  | ||||
|                     } catch (Exception e) { | ||||
|                         LOG.info("Unabled to update client {} session {}", client, e); | ||||
|                         LOG.error("Unabled to update client {}", client, e); | ||||
|                     } | ||||
|  | ||||
|                 } | ||||
| @@ -2267,7 +2334,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|  | ||||
|         } | ||||
|  | ||||
|         LOG.info("ApSsidMetrics {}", apSsidMetrics); | ||||
|         LOG.debug("ApSsidMetrics {}", apSsidMetrics); | ||||
|  | ||||
|     } | ||||
|  | ||||
| @@ -2313,8 +2380,18 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|  | ||||
|         ProfileContainer profileContainer = new ProfileContainer( | ||||
|                 profileServiceInterface.getProfileWithChildren(profileId)); | ||||
|         RfConfiguration rfConfig = (RfConfiguration) profileContainer.getChildOfTypeOrNull(profileId, ProfileType.rf) | ||||
|          | ||||
|         Profile rfProfile = profileContainer.getChildOfTypeOrNull(profileId, ProfileType.rf); | ||||
|         RfConfiguration rfConfig = null; | ||||
|         if (rfProfile != null) { | ||||
|          rfConfig = (RfConfiguration) profileContainer.getChildOfTypeOrNull(profileId, ProfileType.rf) | ||||
|                 .getDetails(); | ||||
|         } | ||||
|          | ||||
|         if (rfConfig == null) { | ||||
|             LOG.warn("Cannot get RfConfiguration for customerId {} equipmentId {}", customerId,equipmentId); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         for (Survey survey : report.getSurveyList()) { | ||||
|  | ||||
| @@ -2374,7 +2451,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|             smr.setCreatedTimestamp(survey.getTimestampMs()); | ||||
|             metricRecordList.add(smr); | ||||
|  | ||||
|             LOG.info("ChannelInfoReports {}", channelInfoReports); | ||||
|             LOG.debug("ChannelInfoReports {}", channelInfoReports); | ||||
|  | ||||
|         } | ||||
|  | ||||
|   | ||||
| @@ -88,7 +88,6 @@ import sts.OpensyncStats.Client; | ||||
| import sts.OpensyncStats.ClientReport; | ||||
| import sts.OpensyncStats.EventReport; | ||||
| import sts.OpensyncStats.EventReport.ClientAssocEvent; | ||||
| import sts.OpensyncStats.EventType; | ||||
| import sts.OpensyncStats.RadioBandType; | ||||
| import sts.OpensyncStats.Report; | ||||
|  | ||||
| @@ -162,20 +161,6 @@ public class OpensyncExternalIntegrationCloudTest { | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testGetCustomerEquipment() { | ||||
|  | ||||
|         Equipment equipment = new Equipment(); | ||||
|         equipment.setDetails(ApElementConfiguration.createWithDefaults()); | ||||
|  | ||||
|         Mockito.when( | ||||
|                 equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.eq("Test_Client_21P10C68818122"))) | ||||
|                 .thenReturn(equipment); | ||||
|         assertNotNull(opensyncExternalIntegrationCloud.getCustomerEquipment("Test_Client_21P10C68818122")); | ||||
|         assertNull(opensyncExternalIntegrationCloud.getCustomerEquipment("Test_Client_21P10C68818133")); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testApConnected() { | ||||
|  | ||||
|   | ||||
| @@ -39,10 +39,15 @@ import com.telecominfraproject.wlan.core.model.equipment.MacAddress; | ||||
| import com.telecominfraproject.wlan.core.model.equipment.RadioType; | ||||
| import com.telecominfraproject.wlan.customer.service.CustomerServiceInterface; | ||||
| import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface; | ||||
| import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration; | ||||
| import com.telecominfraproject.wlan.equipment.models.Equipment; | ||||
| import com.telecominfraproject.wlan.firmware.FirmwareServiceInterface; | ||||
| import com.telecominfraproject.wlan.location.service.LocationServiceInterface; | ||||
| import com.telecominfraproject.wlan.opensync.external.integration.controller.OpensyncCloudGatewayController; | ||||
| import com.telecominfraproject.wlan.profile.ProfileServiceInterface; | ||||
| import com.telecominfraproject.wlan.profile.models.ProfileContainer; | ||||
| import com.telecominfraproject.wlan.profile.models.ProfileType; | ||||
| import com.telecominfraproject.wlan.profile.rf.models.RfConfiguration; | ||||
| import com.telecominfraproject.wlan.routing.RoutingServiceInterface; | ||||
| import com.telecominfraproject.wlan.servicemetric.apnode.models.ApNodeMetrics; | ||||
| import com.telecominfraproject.wlan.servicemetric.apnode.models.StateUpDownError; | ||||
| @@ -53,17 +58,19 @@ import com.telecominfraproject.wlan.status.models.Status; | ||||
| import com.telecominfraproject.wlan.status.models.StatusDataType; | ||||
|  | ||||
| import sts.OpensyncStats.AssocType; | ||||
| import sts.OpensyncStats.ChannelSwitchReason; | ||||
| import sts.OpensyncStats.Client; | ||||
| import sts.OpensyncStats.ClientReport; | ||||
| import sts.OpensyncStats.DNSProbeMetric; | ||||
| import sts.OpensyncStats.EventReport; | ||||
| import sts.OpensyncStats.EventReport.ChannelSwitchEvent; | ||||
| import sts.OpensyncStats.EventReport.ClientAssocEvent; | ||||
| import sts.OpensyncStats.NetworkProbe; | ||||
| import sts.OpensyncStats.RADIUSMetrics; | ||||
| import sts.OpensyncStats.RadioBandType; | ||||
| import sts.OpensyncStats.Report; | ||||
| import sts.OpensyncStats.StateUpDown; | ||||
| import sts.OpensyncStats.VLANMetrics; | ||||
| import sts.OpensyncStats.EventReport.ClientAssocEvent; | ||||
|  | ||||
| @RunWith(SpringRunner.class) | ||||
| @ActiveProfiles(profiles = { "integration_test", }) | ||||
| @@ -164,6 +171,20 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest { | ||||
|  | ||||
|     @Test | ||||
|     public void testProcessMqttMessageStringReport() { | ||||
|         Equipment equipment = new Equipment(); | ||||
|  | ||||
|         equipment.setDetails(ApElementConfiguration.createWithDefaults()); | ||||
|          | ||||
|         equipment.setId(1L); | ||||
|  | ||||
|         Mockito.when( | ||||
|                 equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.eq("Test_Client_21P10C68818122"))) | ||||
|                 .thenReturn(equipment); | ||||
|          | ||||
|         equipment.setProfileId(0L); | ||||
|          | ||||
|         Mockito.when(equipmentServiceInterface.getOrNull(1L)).thenReturn(equipment); | ||||
|         Mockito.when(equipmentServiceInterface.get(1L)).thenReturn(equipment); | ||||
|  | ||||
|         Report report = Report.newBuilder().setNodeID("21P10C68818122") | ||||
|                 .addAllClients(getOpensyncStatsClientReportsList()) | ||||
| @@ -342,7 +363,14 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest { | ||||
|         List<sts.OpensyncStats.EventReport.ClientSession> clientSessionList = new ArrayList<>(); | ||||
|         clientSessionList.add(clientSessionBuilder.build()); | ||||
|          | ||||
|         sts.OpensyncStats.EventReport.ChannelSwitchEvent.Builder channelSwitchEventBuilder = sts.OpensyncStats.EventReport.ChannelSwitchEvent.getDefaultInstance().toBuilder(); | ||||
|         channelSwitchEventBuilder.setBand(RadioBandType.BAND5GL).setChannel(40).setReason(ChannelSwitchReason.high_interference).setTimestampMs(System.currentTimeMillis()); | ||||
|  | ||||
|         List<ChannelSwitchEvent> channelSwitchEventList = new ArrayList<>(); | ||||
|         channelSwitchEventList.add(channelSwitchEventBuilder.build()); | ||||
|          | ||||
|         eventReportBuilder.addAllClientSession(clientSessionList); | ||||
|         eventReportBuilder.addAllChannelSwitch(channelSwitchEventList); | ||||
|  | ||||
|         eventReportList.add(eventReportBuilder.build()); | ||||
|  | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|   "model_type": "Equipment", | ||||
|   "id": 51, | ||||
|   "customerId": 2, | ||||
|   "profileId": 5, | ||||
|   "profileId": 12, | ||||
|   "locationId": 8, | ||||
|   "equipmentType": "AP", | ||||
|   "inventoryId": "Test_Client_21P10C68818122", | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
| 	"id": 23, | ||||
|     "id": 12, | ||||
|     "customerId": 2, | ||||
|     "profileType": "equipment_ap", | ||||
| 	"name": "ApProfile-3-radios-passpoint", | ||||
|     "name": "ApProfile-3-radios", | ||||
|     "details": { | ||||
|         "model_type": "ApNetworkConfiguration", | ||||
|         "networkConfigVersion": "AP-1", | ||||
| @@ -44,12 +44,13 @@ | ||||
|         }, | ||||
|         "profileType": "equipment_ap" | ||||
|     }, | ||||
| 	"createdTimestamp": 1605711197140, | ||||
| 	"lastModifiedTimestamp": 1605711197140, | ||||
|     "createdTimestamp": 1606778369934, | ||||
|     "lastModifiedTimestamp": 1606778443413, | ||||
|     "childProfileIds": [ | ||||
|         16, | ||||
| 		21, | ||||
| 		22, | ||||
|         5, | ||||
|         10, | ||||
|         11, | ||||
|         15 | ||||
|     ] | ||||
| } | ||||
| @@ -1,14 +1,16 @@ | ||||
| [ | ||||
| { | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 24, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint", | ||||
|         "name": "TipWlan-Hotspot20-Config", | ||||
| 		"name": "TipWlan-Passpoint-Config", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointProfile", | ||||
| 			"enableInterworkingAndHs20": true, | ||||
| 			"hessid": null, | ||||
| 			"passpointAccessNetworkType": "free_public_network", | ||||
| 			"passpointNetworkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
| 			"additionalStepsRequiredForAccess": 0, | ||||
| 			"deauthRequestTimeout": 0, | ||||
| 			"operatingClass": 0, | ||||
| @@ -29,8 +31,8 @@ | ||||
| 				{ | ||||
| 					"model_type": "PasspointConnectionCapability", | ||||
| 					"connectionCapabilitiesPortNumber": 8888, | ||||
|                     "connectionCapabilitiesIpProtocol": "TCP", | ||||
|                     "connectionCapabilitiesStatus": "open" | ||||
| 					"connectionCapabilitiesStatus": "open", | ||||
| 					"connectionCapabilitiesIpProtocol": "TCP" | ||||
| 				} | ||||
| 			], | ||||
| 			"ipAddressTypeAvailability": "public_IPv4_address_available", | ||||
| @@ -43,25 +45,22 @@ | ||||
| 			"disableDownstreamGroupAddressedForwarding": false, | ||||
| 			"enable2pt4GHz": true, | ||||
| 			"enable5GHz": true, | ||||
|             "associatedAccessSsidNames": [ | ||||
|                 "TipWlan-cloud-hotspot-access" | ||||
| 			"associatedAccessSsidProfileIds": [ | ||||
| 				15 | ||||
| 			], | ||||
|             "osuSsidName": "TipWlan-cloud-hotspot-osu", | ||||
|             "operatorProfileName": "TipWlan-Hotspot20-Operator", | ||||
|             "venueProfileName": "TipWlan-Hotspot20-Venue", | ||||
|             "idProviderProfileNames": [ | ||||
|                 "TipWlan-Hotspot20-OSU-Provider-2", | ||||
|                 "TipWlan-Hotspot20-OSU-Provider" | ||||
| 			"osuSsidProfileId": 16, | ||||
| 			"passpointOperatorProfileId": 17, | ||||
| 			"passpointVenueProfileId": 18, | ||||
| 			"passpointOsuProviderProfileIds": [ | ||||
| 				19, | ||||
| 				20 | ||||
| 			], | ||||
| 			"accessNetworkType": "free_public_network", | ||||
| 			"networkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
|             "associatedSsids": [ | ||||
|                 "TipWlan-cloud-hotspot-access" | ||||
|             ], | ||||
| 			"profileType": "passpoint" | ||||
| 		}, | ||||
|         "createdTimestamp": 1605711223339, | ||||
|         "lastModifiedTimestamp": 1605711223339, | ||||
| 		"createdTimestamp": 1606778370807, | ||||
| 		"lastModifiedTimestamp": 1606778370807, | ||||
| 		"childProfileIds": [ | ||||
| 			17, | ||||
| 			18, | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 19, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Hotspot20-OSU-Provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "rogers.com", | ||||
| @@ -128,8 +128,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711165325, | ||||
| 		"lastModifiedTimestamp": 1605711165325, | ||||
| 		"createdTimestamp": 1606778370345, | ||||
| 		"lastModifiedTimestamp": 1606778370345, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| @@ -138,7 +138,7 @@ | ||||
| 		"id": 20, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Hotspot20-OSU-Provider-2", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider-2", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "telus.com", | ||||
| @@ -262,8 +262,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711165330, | ||||
| 		"lastModifiedTimestamp": 1605711165330, | ||||
| 		"createdTimestamp": 1606778370351, | ||||
| 		"lastModifiedTimestamp": 1606778370351, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 22, | ||||
| 		"id": 10, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "service_metrics_collection_config", | ||||
| 		"name": "Metrics-Profile-Passpoint", | ||||
| 		"name": "Metrics-Profile-3-Radios", | ||||
| 		"details": { | ||||
| 			"model_type": "ServiceMetricsCollectionConfigProfile", | ||||
| 			"radioTypes": [ | ||||
| @@ -21,30 +21,6 @@ | ||||
| 			], | ||||
| 			"metricConfigParameterMap": { | ||||
| 				"ApNode": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -69,18 +45,6 @@ | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -92,9 +56,52 @@ | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"ApSsid": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -108,13 +115,6 @@ | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					} | ||||
| 				], | ||||
| 				"Client": [ | ||||
| @@ -144,12 +144,12 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| @@ -168,12 +168,12 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| @@ -192,41 +192,29 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"Neighbour": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -251,18 +239,6 @@ | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -286,13 +262,37 @@ | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				] | ||||
| 			}, | ||||
| 			"profileType": "service_metrics_collection_config" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711195528, | ||||
| 		"lastModifiedTimestamp": 1605711195528, | ||||
| 		"createdTimestamp": 1606778369931, | ||||
| 		"lastModifiedTimestamp": 1606778369931, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 17, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_operator", | ||||
| 		"name": "TipWlan-Hotspot20-Operator", | ||||
| 		"name": "TipWlan-Passpoint-Operator", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOperatorProfile", | ||||
| 			"serverOnlyAuthenticatedL2EncryptionNetwork": false, | ||||
| @@ -29,8 +29,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_operator" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711164952, | ||||
| 		"lastModifiedTimestamp": 1605711164952, | ||||
| 		"createdTimestamp": 1606778369945, | ||||
| 		"lastModifiedTimestamp": 1606778369945, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
| 	"id": 21, | ||||
|     "id": 11, | ||||
|     "customerId": 2, | ||||
|     "profileType": "rf", | ||||
| 	"name": "TipWlan-rf-passpoint", | ||||
|     "name": "TipWlan-rf", | ||||
|     "details": { | ||||
|         "model_type": "RfConfiguration", | ||||
|         "rfConfigMap": { | ||||
| @@ -11,7 +11,7 @@ | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHz", | ||||
|                 "radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
| @@ -58,7 +58,7 @@ | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is2dot4GHz", | ||||
|                 "radioMode": "modeN", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
| @@ -105,7 +105,7 @@ | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzU", | ||||
|                 "radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
| @@ -152,7 +152,7 @@ | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzL", | ||||
|                 "radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
| @@ -198,8 +198,7 @@ | ||||
|         }, | ||||
|         "profileType": "rf" | ||||
|     }, | ||||
| 	"createdTimestamp": 1605711191976, | ||||
| 	"lastModifiedTimestamp": 1605711191976, | ||||
| 	"childProfileIds": [ | ||||
| 	] | ||||
|     "createdTimestamp": 1606778369933, | ||||
|     "lastModifiedTimestamp": 1606778369933, | ||||
|     "childProfileIds": [] | ||||
| } | ||||
| @@ -1,13 +1,80 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 5, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-3-radios", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-3-radios", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is2dot4GHz", | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "wpa2OnlyPSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": "openwifi", | ||||
| 			"broadcastSsid": "enabled", | ||||
| 			"keyRefresh": 0, | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| 			"clientBandwidthLimitDown": 0, | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is2dot4GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				} | ||||
| 			}, | ||||
| 			"bonjourGatewayProfileId": null, | ||||
| 			"enable80211w": null, | ||||
| 			"wepConfig": null, | ||||
| 			"forwardMode": "BRIDGE", | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369598, | ||||
| 		"lastModifiedTimestamp": 1606778369598, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 15, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-hotspot-access", | ||||
| 		"name": "TipWlan-cloud-passpoint-access", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-access", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-access", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is5GHzU" | ||||
| @@ -21,6 +88,7 @@ | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -28,7 +96,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -40,13 +108,13 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzL": { | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -59,8 +127,8 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711164949, | ||||
| 		"lastModifiedTimestamp": 1605711223372, | ||||
| 		"createdTimestamp": 1606778369943, | ||||
| 		"lastModifiedTimestamp": 1606778370811, | ||||
| 		"childProfileIds": [ | ||||
| 			24 | ||||
| 		] | ||||
| @@ -70,10 +138,10 @@ | ||||
| 		"id": 16, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-hotspot-osu", | ||||
| 		"name": "TipWlan-cloud-passpoint-osu", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-osu", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-osu", | ||||
| 			"appliedRadios": [ | ||||
| 				"is2dot4GHz" | ||||
| 			], | ||||
| @@ -86,6 +154,7 @@ | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -93,7 +162,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -105,13 +174,13 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzL": { | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -124,8 +193,8 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711164950, | ||||
| 		"lastModifiedTimestamp": 1605711171732, | ||||
| 		"createdTimestamp": 1606778369944, | ||||
| 		"lastModifiedTimestamp": 1606778370352, | ||||
| 		"childProfileIds": [ | ||||
| 			19, | ||||
| 			20 | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 18, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_venue", | ||||
| 		"name": "TipWlan-Hotspot20-Venue", | ||||
| 		"name": "TipWlan-Passpoint-Venue", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointVenueProfile", | ||||
| 			"venueNameSet": [ | ||||
| @@ -28,15 +28,15 @@ | ||||
| 				} | ||||
| 			], | ||||
| 			"venueTypeAssignment": { | ||||
| 				"model_type": "ProfileVenueTypeAssignment", | ||||
| 				"model_type": "PasspointVenueTypeAssignment", | ||||
| 				"venueDescription": "Research and Development Facility", | ||||
| 				"venueGroupId": 2, | ||||
| 				"venueTypeId": 8 | ||||
| 			}, | ||||
| 			"profileType": "passpoint_venue" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711164956, | ||||
| 		"lastModifiedTimestamp": 1605711164956, | ||||
| 		"createdTimestamp": 1606778369950, | ||||
| 		"lastModifiedTimestamp": 1606778369950, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -7,6 +7,7 @@ | ||||
|         <listEntry value="1"/> | ||||
|     </listAttribute> | ||||
|     <booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/> | ||||
|     <booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/> | ||||
|     <booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/> | ||||
|     <booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/> | ||||
|     <listAttribute key="org.eclipse.jdt.launching.CLASSPATH"> | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|   "model_type": "Equipment", | ||||
|   "id": 51, | ||||
|   "customerId": 2, | ||||
|   "profileId": 5, | ||||
|   "profileId": 12, | ||||
|   "locationId": 8, | ||||
|   "equipmentType": "AP", | ||||
|   "inventoryId": "Test_Client_21P10C68818122", | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
| 	"id": 23, | ||||
|     "id": 12, | ||||
|     "customerId": 2, | ||||
|     "profileType": "equipment_ap", | ||||
| 	"name": "ApProfile-3-radios-passpoint", | ||||
|     "name": "ApProfile-3-radios", | ||||
|     "details": { | ||||
|         "model_type": "ApNetworkConfiguration", | ||||
|         "networkConfigVersion": "AP-1", | ||||
| @@ -44,12 +44,13 @@ | ||||
|         }, | ||||
|         "profileType": "equipment_ap" | ||||
|     }, | ||||
| 	"createdTimestamp": 1605711197140, | ||||
| 	"lastModifiedTimestamp": 1605711197140, | ||||
|     "createdTimestamp": 1606778369934, | ||||
|     "lastModifiedTimestamp": 1606778443413, | ||||
|     "childProfileIds": [ | ||||
|         16, | ||||
| 		21, | ||||
| 		22, | ||||
|         5, | ||||
|         10, | ||||
|         11, | ||||
|         15 | ||||
|     ] | ||||
| } | ||||
| @@ -1,14 +1,16 @@ | ||||
| [ | ||||
| { | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 24, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint", | ||||
|         "name": "TipWlan-Hotspot20-Config", | ||||
| 		"name": "TipWlan-Passpoint-Config", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointProfile", | ||||
| 			"enableInterworkingAndHs20": true, | ||||
| 			"hessid": null, | ||||
| 			"passpointAccessNetworkType": "free_public_network", | ||||
| 			"passpointNetworkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
| 			"additionalStepsRequiredForAccess": 0, | ||||
| 			"deauthRequestTimeout": 0, | ||||
| 			"operatingClass": 0, | ||||
| @@ -29,8 +31,8 @@ | ||||
| 				{ | ||||
| 					"model_type": "PasspointConnectionCapability", | ||||
| 					"connectionCapabilitiesPortNumber": 8888, | ||||
|                     "connectionCapabilitiesIpProtocol": "TCP", | ||||
|                     "connectionCapabilitiesStatus": "open" | ||||
| 					"connectionCapabilitiesStatus": "open", | ||||
| 					"connectionCapabilitiesIpProtocol": "TCP" | ||||
| 				} | ||||
| 			], | ||||
| 			"ipAddressTypeAvailability": "public_IPv4_address_available", | ||||
| @@ -43,25 +45,22 @@ | ||||
| 			"disableDownstreamGroupAddressedForwarding": false, | ||||
| 			"enable2pt4GHz": true, | ||||
| 			"enable5GHz": true, | ||||
|             "associatedAccessSsidNames": [ | ||||
|                 "TipWlan-cloud-hotspot-access" | ||||
| 			"associatedAccessSsidProfileIds": [ | ||||
| 				15 | ||||
| 			], | ||||
|             "osuSsidName": "TipWlan-cloud-hotspot-osu", | ||||
|             "operatorProfileName": "TipWlan-Hotspot20-Operator", | ||||
|             "venueProfileName": "TipWlan-Hotspot20-Venue", | ||||
|             "idProviderProfileNames": [ | ||||
|                 "TipWlan-Hotspot20-OSU-Provider-2", | ||||
|                 "TipWlan-Hotspot20-OSU-Provider" | ||||
| 			"osuSsidProfileId": 16, | ||||
| 			"passpointOperatorProfileId": 17, | ||||
| 			"passpointVenueProfileId": 18, | ||||
| 			"passpointOsuProviderProfileIds": [ | ||||
| 				19, | ||||
| 				20 | ||||
| 			], | ||||
| 			"accessNetworkType": "free_public_network", | ||||
| 			"networkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
|             "associatedSsids": [ | ||||
|                 "TipWlan-cloud-hotspot-access" | ||||
|             ], | ||||
| 			"profileType": "passpoint" | ||||
| 		}, | ||||
|         "createdTimestamp": 1605711223339, | ||||
|         "lastModifiedTimestamp": 1605711223339, | ||||
| 		"createdTimestamp": 1606778370807, | ||||
| 		"lastModifiedTimestamp": 1606778370807, | ||||
| 		"childProfileIds": [ | ||||
| 			17, | ||||
| 			18, | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 19, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Hotspot20-OSU-Provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "rogers.com", | ||||
| @@ -128,8 +128,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711165325, | ||||
| 		"lastModifiedTimestamp": 1605711165325, | ||||
| 		"createdTimestamp": 1606778370345, | ||||
| 		"lastModifiedTimestamp": 1606778370345, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| @@ -138,7 +138,7 @@ | ||||
| 		"id": 20, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Hotspot20-OSU-Provider-2", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider-2", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "telus.com", | ||||
| @@ -262,8 +262,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711165330, | ||||
| 		"lastModifiedTimestamp": 1605711165330, | ||||
| 		"createdTimestamp": 1606778370351, | ||||
| 		"lastModifiedTimestamp": 1606778370351, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 22, | ||||
| 		"id": 10, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "service_metrics_collection_config", | ||||
| 		"name": "Metrics-Profile-Passpoint", | ||||
| 		"name": "Metrics-Profile-3-Radios", | ||||
| 		"details": { | ||||
| 			"model_type": "ServiceMetricsCollectionConfigProfile", | ||||
| 			"radioTypes": [ | ||||
| @@ -21,30 +21,6 @@ | ||||
| 			], | ||||
| 			"metricConfigParameterMap": { | ||||
| 				"ApNode": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -69,18 +45,6 @@ | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -92,9 +56,52 @@ | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"ApSsid": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -108,13 +115,6 @@ | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					} | ||||
| 				], | ||||
| 				"Client": [ | ||||
| @@ -144,12 +144,12 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| @@ -168,12 +168,12 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| @@ -192,41 +192,29 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"Neighbour": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -251,18 +239,6 @@ | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -286,13 +262,37 @@ | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				] | ||||
| 			}, | ||||
| 			"profileType": "service_metrics_collection_config" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711195528, | ||||
| 		"lastModifiedTimestamp": 1605711195528, | ||||
| 		"createdTimestamp": 1606778369931, | ||||
| 		"lastModifiedTimestamp": 1606778369931, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 17, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_operator", | ||||
| 		"name": "TipWlan-Hotspot20-Operator", | ||||
| 		"name": "TipWlan-Passpoint-Operator", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOperatorProfile", | ||||
| 			"serverOnlyAuthenticatedL2EncryptionNetwork": false, | ||||
| @@ -29,8 +29,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_operator" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711164952, | ||||
| 		"lastModifiedTimestamp": 1605711164952, | ||||
| 		"createdTimestamp": 1606778369945, | ||||
| 		"lastModifiedTimestamp": 1606778369945, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
| 	"id": 21, | ||||
|     "id": 11, | ||||
|     "customerId": 2, | ||||
|     "profileType": "rf", | ||||
| 	"name": "TipWlan-rf-passpoint", | ||||
|     "name": "TipWlan-rf", | ||||
|     "details": { | ||||
|         "model_type": "RfConfiguration", | ||||
|         "rfConfigMap": { | ||||
| @@ -11,7 +11,7 @@ | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHz", | ||||
|                 "radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
| @@ -58,7 +58,7 @@ | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is2dot4GHz", | ||||
|                 "radioMode": "modeN", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
| @@ -105,7 +105,7 @@ | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzU", | ||||
|                 "radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
| @@ -152,7 +152,7 @@ | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzL", | ||||
|                 "radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
| @@ -198,8 +198,7 @@ | ||||
|         }, | ||||
|         "profileType": "rf" | ||||
|     }, | ||||
| 	"createdTimestamp": 1605711191976, | ||||
| 	"lastModifiedTimestamp": 1605711191976, | ||||
| 	"childProfileIds": [ | ||||
| 	] | ||||
|     "createdTimestamp": 1606778369933, | ||||
|     "lastModifiedTimestamp": 1606778369933, | ||||
|     "childProfileIds": [] | ||||
| } | ||||
| @@ -1,13 +1,80 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 5, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-3-radios", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-3-radios", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is2dot4GHz", | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "wpa2OnlyPSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": "openwifi", | ||||
| 			"broadcastSsid": "enabled", | ||||
| 			"keyRefresh": 0, | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| 			"clientBandwidthLimitDown": 0, | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is2dot4GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				} | ||||
| 			}, | ||||
| 			"bonjourGatewayProfileId": null, | ||||
| 			"enable80211w": null, | ||||
| 			"wepConfig": null, | ||||
| 			"forwardMode": "BRIDGE", | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369598, | ||||
| 		"lastModifiedTimestamp": 1606778369598, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 15, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-hotspot-access", | ||||
| 		"name": "TipWlan-cloud-passpoint-access", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-access", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-access", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is5GHzU" | ||||
| @@ -21,6 +88,7 @@ | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -28,7 +96,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -40,13 +108,13 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzL": { | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -59,8 +127,8 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711164949, | ||||
| 		"lastModifiedTimestamp": 1605711223372, | ||||
| 		"createdTimestamp": 1606778369943, | ||||
| 		"lastModifiedTimestamp": 1606778370811, | ||||
| 		"childProfileIds": [ | ||||
| 			24 | ||||
| 		] | ||||
| @@ -70,10 +138,10 @@ | ||||
| 		"id": 16, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-hotspot-osu", | ||||
| 		"name": "TipWlan-cloud-passpoint-osu", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-osu", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-osu", | ||||
| 			"appliedRadios": [ | ||||
| 				"is2dot4GHz" | ||||
| 			], | ||||
| @@ -86,6 +154,7 @@ | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -93,7 +162,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -105,13 +174,13 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzL": { | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -124,8 +193,8 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711164950, | ||||
| 		"lastModifiedTimestamp": 1605711171732, | ||||
| 		"createdTimestamp": 1606778369944, | ||||
| 		"lastModifiedTimestamp": 1606778370352, | ||||
| 		"childProfileIds": [ | ||||
| 			19, | ||||
| 			20 | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 18, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_venue", | ||||
| 		"name": "TipWlan-Hotspot20-Venue", | ||||
| 		"name": "TipWlan-Passpoint-Venue", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointVenueProfile", | ||||
| 			"venueNameSet": [ | ||||
| @@ -28,15 +28,15 @@ | ||||
| 				} | ||||
| 			], | ||||
| 			"venueTypeAssignment": { | ||||
| 				"model_type": "ProfileVenueTypeAssignment", | ||||
| 				"model_type": "PasspointVenueTypeAssignment", | ||||
| 				"venueDescription": "Research and Development Facility", | ||||
| 				"venueGroupId": 2, | ||||
| 				"venueTypeId": 8 | ||||
| 			}, | ||||
| 			"profileType": "passpoint_venue" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711164956, | ||||
| 		"lastModifiedTimestamp": 1605711164956, | ||||
| 		"createdTimestamp": 1606778369950, | ||||
| 		"lastModifiedTimestamp": 1606778369950, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|   "model_type": "Equipment", | ||||
|   "id": 51, | ||||
|   "customerId": 2, | ||||
|   "profileId": 5, | ||||
|   "profileId": 12, | ||||
|   "locationId": 8, | ||||
|   "equipmentType": "AP", | ||||
|   "inventoryId": "Test_Client_21P10C68818122", | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
| 	"id": 23, | ||||
|     "id": 12, | ||||
|     "customerId": 2, | ||||
|     "profileType": "equipment_ap", | ||||
| 	"name": "ApProfile-3-radios-passpoint", | ||||
|     "name": "ApProfile-3-radios", | ||||
|     "details": { | ||||
|         "model_type": "ApNetworkConfiguration", | ||||
|         "networkConfigVersion": "AP-1", | ||||
| @@ -44,12 +44,13 @@ | ||||
|         }, | ||||
|         "profileType": "equipment_ap" | ||||
|     }, | ||||
| 	"createdTimestamp": 1605711197140, | ||||
| 	"lastModifiedTimestamp": 1605711197140, | ||||
|     "createdTimestamp": 1606778369934, | ||||
|     "lastModifiedTimestamp": 1606778443413, | ||||
|     "childProfileIds": [ | ||||
|         16, | ||||
| 		21, | ||||
| 		22, | ||||
|         5, | ||||
|         10, | ||||
|         11, | ||||
|         15 | ||||
|     ] | ||||
| } | ||||
| @@ -1,14 +1,16 @@ | ||||
| [ | ||||
| { | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 24, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint", | ||||
|         "name": "TipWlan-Hotspot20-Config", | ||||
| 		"name": "TipWlan-Passpoint-Config", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointProfile", | ||||
| 			"enableInterworkingAndHs20": true, | ||||
| 			"hessid": null, | ||||
| 			"passpointAccessNetworkType": "free_public_network", | ||||
| 			"passpointNetworkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
| 			"additionalStepsRequiredForAccess": 0, | ||||
| 			"deauthRequestTimeout": 0, | ||||
| 			"operatingClass": 0, | ||||
| @@ -29,8 +31,8 @@ | ||||
| 				{ | ||||
| 					"model_type": "PasspointConnectionCapability", | ||||
| 					"connectionCapabilitiesPortNumber": 8888, | ||||
|                     "connectionCapabilitiesIpProtocol": "TCP", | ||||
|                     "connectionCapabilitiesStatus": "open" | ||||
| 					"connectionCapabilitiesStatus": "open", | ||||
| 					"connectionCapabilitiesIpProtocol": "TCP" | ||||
| 				} | ||||
| 			], | ||||
| 			"ipAddressTypeAvailability": "public_IPv4_address_available", | ||||
| @@ -43,25 +45,22 @@ | ||||
| 			"disableDownstreamGroupAddressedForwarding": false, | ||||
| 			"enable2pt4GHz": true, | ||||
| 			"enable5GHz": true, | ||||
|             "associatedAccessSsidNames": [ | ||||
|                 "TipWlan-cloud-hotspot-access" | ||||
| 			"associatedAccessSsidProfileIds": [ | ||||
| 				15 | ||||
| 			], | ||||
|             "osuSsidName": "TipWlan-cloud-hotspot-osu", | ||||
|             "operatorProfileName": "TipWlan-Hotspot20-Operator", | ||||
|             "venueProfileName": "TipWlan-Hotspot20-Venue", | ||||
|             "idProviderProfileNames": [ | ||||
|                 "TipWlan-Hotspot20-OSU-Provider-2", | ||||
|                 "TipWlan-Hotspot20-OSU-Provider" | ||||
| 			"osuSsidProfileId": 16, | ||||
| 			"passpointOperatorProfileId": 17, | ||||
| 			"passpointVenueProfileId": 18, | ||||
| 			"passpointOsuProviderProfileIds": [ | ||||
| 				19, | ||||
| 				20 | ||||
| 			], | ||||
| 			"accessNetworkType": "free_public_network", | ||||
| 			"networkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
|             "associatedSsids": [ | ||||
|                 "TipWlan-cloud-hotspot-access" | ||||
|             ], | ||||
| 			"profileType": "passpoint" | ||||
| 		}, | ||||
|         "createdTimestamp": 1605711223339, | ||||
|         "lastModifiedTimestamp": 1605711223339, | ||||
| 		"createdTimestamp": 1606778370807, | ||||
| 		"lastModifiedTimestamp": 1606778370807, | ||||
| 		"childProfileIds": [ | ||||
| 			17, | ||||
| 			18, | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 19, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Hotspot20-OSU-Provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "rogers.com", | ||||
| @@ -128,8 +128,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711165325, | ||||
| 		"lastModifiedTimestamp": 1605711165325, | ||||
| 		"createdTimestamp": 1606778370345, | ||||
| 		"lastModifiedTimestamp": 1606778370345, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| @@ -138,7 +138,7 @@ | ||||
| 		"id": 20, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Hotspot20-OSU-Provider-2", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider-2", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "telus.com", | ||||
| @@ -262,8 +262,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711165330, | ||||
| 		"lastModifiedTimestamp": 1605711165330, | ||||
| 		"createdTimestamp": 1606778370351, | ||||
| 		"lastModifiedTimestamp": 1606778370351, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 22, | ||||
| 		"id": 10, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "service_metrics_collection_config", | ||||
| 		"name": "Metrics-Profile-Passpoint", | ||||
| 		"name": "Metrics-Profile-3-Radios", | ||||
| 		"details": { | ||||
| 			"model_type": "ServiceMetricsCollectionConfigProfile", | ||||
| 			"radioTypes": [ | ||||
| @@ -21,30 +21,6 @@ | ||||
| 			], | ||||
| 			"metricConfigParameterMap": { | ||||
| 				"ApNode": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -69,18 +45,6 @@ | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -92,9 +56,52 @@ | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"ApSsid": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -108,13 +115,6 @@ | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					} | ||||
| 				], | ||||
| 				"Client": [ | ||||
| @@ -144,12 +144,12 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| @@ -168,12 +168,12 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| @@ -192,41 +192,29 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"Neighbour": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -251,18 +239,6 @@ | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -286,13 +262,37 @@ | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				] | ||||
| 			}, | ||||
| 			"profileType": "service_metrics_collection_config" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711195528, | ||||
| 		"lastModifiedTimestamp": 1605711195528, | ||||
| 		"createdTimestamp": 1606778369931, | ||||
| 		"lastModifiedTimestamp": 1606778369931, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 17, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_operator", | ||||
| 		"name": "TipWlan-Hotspot20-Operator", | ||||
| 		"name": "TipWlan-Passpoint-Operator", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOperatorProfile", | ||||
| 			"serverOnlyAuthenticatedL2EncryptionNetwork": false, | ||||
| @@ -29,8 +29,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_operator" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711164952, | ||||
| 		"lastModifiedTimestamp": 1605711164952, | ||||
| 		"createdTimestamp": 1606778369945, | ||||
| 		"lastModifiedTimestamp": 1606778369945, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
| 	"id": 21, | ||||
|     "id": 11, | ||||
|     "customerId": 2, | ||||
|     "profileType": "rf", | ||||
| 	"name": "TipWlan-rf-passpoint", | ||||
|     "name": "TipWlan-rf", | ||||
|     "details": { | ||||
|         "model_type": "RfConfiguration", | ||||
|         "rfConfigMap": { | ||||
| @@ -11,7 +11,7 @@ | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHz", | ||||
|                 "radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
| @@ -58,7 +58,7 @@ | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is2dot4GHz", | ||||
|                 "radioMode": "modeN", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
| @@ -105,7 +105,7 @@ | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzU", | ||||
|                 "radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
| @@ -152,7 +152,7 @@ | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzL", | ||||
|                 "radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
| @@ -198,8 +198,7 @@ | ||||
|         }, | ||||
|         "profileType": "rf" | ||||
|     }, | ||||
| 	"createdTimestamp": 1605711191976, | ||||
| 	"lastModifiedTimestamp": 1605711191976, | ||||
| 	"childProfileIds": [ | ||||
| 	] | ||||
|     "createdTimestamp": 1606778369933, | ||||
|     "lastModifiedTimestamp": 1606778369933, | ||||
|     "childProfileIds": [] | ||||
| } | ||||
| @@ -1,13 +1,80 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 5, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-3-radios", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-3-radios", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is2dot4GHz", | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "wpa2OnlyPSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": "openwifi", | ||||
| 			"broadcastSsid": "enabled", | ||||
| 			"keyRefresh": 0, | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| 			"clientBandwidthLimitDown": 0, | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is2dot4GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				} | ||||
| 			}, | ||||
| 			"bonjourGatewayProfileId": null, | ||||
| 			"enable80211w": null, | ||||
| 			"wepConfig": null, | ||||
| 			"forwardMode": "BRIDGE", | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369598, | ||||
| 		"lastModifiedTimestamp": 1606778369598, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 15, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-hotspot-access", | ||||
| 		"name": "TipWlan-cloud-passpoint-access", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-access", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-access", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is5GHzU" | ||||
| @@ -21,6 +88,7 @@ | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -28,7 +96,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -40,13 +108,13 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzL": { | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -59,8 +127,8 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711164949, | ||||
| 		"lastModifiedTimestamp": 1605711223372, | ||||
| 		"createdTimestamp": 1606778369943, | ||||
| 		"lastModifiedTimestamp": 1606778370811, | ||||
| 		"childProfileIds": [ | ||||
| 			24 | ||||
| 		] | ||||
| @@ -70,10 +138,10 @@ | ||||
| 		"id": 16, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-hotspot-osu", | ||||
| 		"name": "TipWlan-cloud-passpoint-osu", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-osu", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-osu", | ||||
| 			"appliedRadios": [ | ||||
| 				"is2dot4GHz" | ||||
| 			], | ||||
| @@ -86,6 +154,7 @@ | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -93,7 +162,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -105,13 +174,13 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzL": { | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -124,8 +193,8 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711164950, | ||||
| 		"lastModifiedTimestamp": 1605711171732, | ||||
| 		"createdTimestamp": 1606778369944, | ||||
| 		"lastModifiedTimestamp": 1606778370352, | ||||
| 		"childProfileIds": [ | ||||
| 			19, | ||||
| 			20 | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 18, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_venue", | ||||
| 		"name": "TipWlan-Hotspot20-Venue", | ||||
| 		"name": "TipWlan-Passpoint-Venue", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointVenueProfile", | ||||
| 			"venueNameSet": [ | ||||
| @@ -28,15 +28,15 @@ | ||||
| 				} | ||||
| 			], | ||||
| 			"venueTypeAssignment": { | ||||
| 				"model_type": "ProfileVenueTypeAssignment", | ||||
| 				"model_type": "PasspointVenueTypeAssignment", | ||||
| 				"venueDescription": "Research and Development Facility", | ||||
| 				"venueGroupId": 2, | ||||
| 				"venueTypeId": 8 | ||||
| 			}, | ||||
| 			"profileType": "passpoint_venue" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711164956, | ||||
| 		"lastModifiedTimestamp": 1605711164956, | ||||
| 		"createdTimestamp": 1606778369950, | ||||
| 		"lastModifiedTimestamp": 1606778369950, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|   "model_type": "Equipment", | ||||
|   "id": 51, | ||||
|   "customerId": 2, | ||||
|   "profileId": 5, | ||||
|   "profileId": 12, | ||||
|   "locationId": 8, | ||||
|   "equipmentType": "AP", | ||||
|   "inventoryId": "Test_Client_21P10C68818122", | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
| 	"id": 23, | ||||
|     "id": 12, | ||||
|     "customerId": 2, | ||||
|     "profileType": "equipment_ap", | ||||
| 	"name": "ApProfile-3-radios-passpoint", | ||||
|     "name": "ApProfile-3-radios", | ||||
|     "details": { | ||||
|         "model_type": "ApNetworkConfiguration", | ||||
|         "networkConfigVersion": "AP-1", | ||||
| @@ -44,12 +44,13 @@ | ||||
|         }, | ||||
|         "profileType": "equipment_ap" | ||||
|     }, | ||||
| 	"createdTimestamp": 1605711197140, | ||||
| 	"lastModifiedTimestamp": 1605711197140, | ||||
|     "createdTimestamp": 1606778369934, | ||||
|     "lastModifiedTimestamp": 1606778443413, | ||||
|     "childProfileIds": [ | ||||
|         16, | ||||
| 		21, | ||||
| 		22, | ||||
|         5, | ||||
|         10, | ||||
|         11, | ||||
|         15 | ||||
|     ] | ||||
| } | ||||
| @@ -1,14 +1,16 @@ | ||||
| [ | ||||
| { | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 24, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint", | ||||
|         "name": "TipWlan-Hotspot20-Config", | ||||
| 		"name": "TipWlan-Passpoint-Config", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointProfile", | ||||
| 			"enableInterworkingAndHs20": true, | ||||
| 			"hessid": null, | ||||
| 			"passpointAccessNetworkType": "free_public_network", | ||||
| 			"passpointNetworkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
| 			"additionalStepsRequiredForAccess": 0, | ||||
| 			"deauthRequestTimeout": 0, | ||||
| 			"operatingClass": 0, | ||||
| @@ -29,8 +31,8 @@ | ||||
| 				{ | ||||
| 					"model_type": "PasspointConnectionCapability", | ||||
| 					"connectionCapabilitiesPortNumber": 8888, | ||||
|                     "connectionCapabilitiesIpProtocol": "TCP", | ||||
|                     "connectionCapabilitiesStatus": "open" | ||||
| 					"connectionCapabilitiesStatus": "open", | ||||
| 					"connectionCapabilitiesIpProtocol": "TCP" | ||||
| 				} | ||||
| 			], | ||||
| 			"ipAddressTypeAvailability": "public_IPv4_address_available", | ||||
| @@ -43,25 +45,22 @@ | ||||
| 			"disableDownstreamGroupAddressedForwarding": false, | ||||
| 			"enable2pt4GHz": true, | ||||
| 			"enable5GHz": true, | ||||
|             "associatedAccessSsidNames": [ | ||||
|                 "TipWlan-cloud-hotspot-access" | ||||
| 			"associatedAccessSsidProfileIds": [ | ||||
| 				15 | ||||
| 			], | ||||
|             "osuSsidName": "TipWlan-cloud-hotspot-osu", | ||||
|             "operatorProfileName": "TipWlan-Hotspot20-Operator", | ||||
|             "venueProfileName": "TipWlan-Hotspot20-Venue", | ||||
|             "idProviderProfileNames": [ | ||||
|                 "TipWlan-Hotspot20-OSU-Provider-2", | ||||
|                 "TipWlan-Hotspot20-OSU-Provider" | ||||
| 			"osuSsidProfileId": 16, | ||||
| 			"passpointOperatorProfileId": 17, | ||||
| 			"passpointVenueProfileId": 18, | ||||
| 			"passpointOsuProviderProfileIds": [ | ||||
| 				19, | ||||
| 				20 | ||||
| 			], | ||||
| 			"accessNetworkType": "free_public_network", | ||||
| 			"networkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
|             "associatedSsids": [ | ||||
|                 "TipWlan-cloud-hotspot-access" | ||||
|             ], | ||||
| 			"profileType": "passpoint" | ||||
| 		}, | ||||
|         "createdTimestamp": 1605711223339, | ||||
|         "lastModifiedTimestamp": 1605711223339, | ||||
| 		"createdTimestamp": 1606778370807, | ||||
| 		"lastModifiedTimestamp": 1606778370807, | ||||
| 		"childProfileIds": [ | ||||
| 			17, | ||||
| 			18, | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 19, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Hotspot20-OSU-Provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "rogers.com", | ||||
| @@ -128,8 +128,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711165325, | ||||
| 		"lastModifiedTimestamp": 1605711165325, | ||||
| 		"createdTimestamp": 1606778370345, | ||||
| 		"lastModifiedTimestamp": 1606778370345, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| @@ -138,7 +138,7 @@ | ||||
| 		"id": 20, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Hotspot20-OSU-Provider-2", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider-2", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "telus.com", | ||||
| @@ -262,8 +262,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711165330, | ||||
| 		"lastModifiedTimestamp": 1605711165330, | ||||
| 		"createdTimestamp": 1606778370351, | ||||
| 		"lastModifiedTimestamp": 1606778370351, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 22, | ||||
| 		"id": 10, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "service_metrics_collection_config", | ||||
| 		"name": "Metrics-Profile-Passpoint", | ||||
| 		"name": "Metrics-Profile-3-Radios", | ||||
| 		"details": { | ||||
| 			"model_type": "ServiceMetricsCollectionConfigProfile", | ||||
| 			"radioTypes": [ | ||||
| @@ -21,30 +21,6 @@ | ||||
| 			], | ||||
| 			"metricConfigParameterMap": { | ||||
| 				"ApNode": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -69,18 +45,6 @@ | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -92,9 +56,52 @@ | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"ApSsid": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -108,13 +115,6 @@ | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					} | ||||
| 				], | ||||
| 				"Client": [ | ||||
| @@ -144,12 +144,12 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| @@ -168,12 +168,12 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| @@ -192,41 +192,29 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"Neighbour": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -251,18 +239,6 @@ | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -286,13 +262,37 @@ | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				] | ||||
| 			}, | ||||
| 			"profileType": "service_metrics_collection_config" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711195528, | ||||
| 		"lastModifiedTimestamp": 1605711195528, | ||||
| 		"createdTimestamp": 1606778369931, | ||||
| 		"lastModifiedTimestamp": 1606778369931, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 17, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_operator", | ||||
| 		"name": "TipWlan-Hotspot20-Operator", | ||||
| 		"name": "TipWlan-Passpoint-Operator", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOperatorProfile", | ||||
| 			"serverOnlyAuthenticatedL2EncryptionNetwork": false, | ||||
| @@ -29,8 +29,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_operator" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711164952, | ||||
| 		"lastModifiedTimestamp": 1605711164952, | ||||
| 		"createdTimestamp": 1606778369945, | ||||
| 		"lastModifiedTimestamp": 1606778369945, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
| 	"id": 21, | ||||
|     "id": 11, | ||||
|     "customerId": 2, | ||||
|     "profileType": "rf", | ||||
| 	"name": "TipWlan-rf-passpoint", | ||||
|     "name": "TipWlan-rf", | ||||
|     "details": { | ||||
|         "model_type": "RfConfiguration", | ||||
|         "rfConfigMap": { | ||||
| @@ -11,7 +11,7 @@ | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHz", | ||||
|                 "radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
| @@ -58,7 +58,7 @@ | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is2dot4GHz", | ||||
|                 "radioMode": "modeN", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
| @@ -105,7 +105,7 @@ | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzU", | ||||
|                 "radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
| @@ -152,7 +152,7 @@ | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzL", | ||||
|                 "radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
| @@ -198,8 +198,7 @@ | ||||
|         }, | ||||
|         "profileType": "rf" | ||||
|     }, | ||||
| 	"createdTimestamp": 1605711191976, | ||||
| 	"lastModifiedTimestamp": 1605711191976, | ||||
| 	"childProfileIds": [ | ||||
| 	] | ||||
|     "createdTimestamp": 1606778369933, | ||||
|     "lastModifiedTimestamp": 1606778369933, | ||||
|     "childProfileIds": [] | ||||
| } | ||||
| @@ -1,13 +1,80 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 5, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-3-radios", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-3-radios", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is2dot4GHz", | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "wpa2OnlyPSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": "openwifi", | ||||
| 			"broadcastSsid": "enabled", | ||||
| 			"keyRefresh": 0, | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| 			"clientBandwidthLimitDown": 0, | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is2dot4GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				} | ||||
| 			}, | ||||
| 			"bonjourGatewayProfileId": null, | ||||
| 			"enable80211w": null, | ||||
| 			"wepConfig": null, | ||||
| 			"forwardMode": "BRIDGE", | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369598, | ||||
| 		"lastModifiedTimestamp": 1606778369598, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 15, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-hotspot-access", | ||||
| 		"name": "TipWlan-cloud-passpoint-access", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-access", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-access", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is5GHzU" | ||||
| @@ -21,6 +88,7 @@ | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -28,7 +96,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -40,13 +108,13 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzL": { | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -59,8 +127,8 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711164949, | ||||
| 		"lastModifiedTimestamp": 1605711223372, | ||||
| 		"createdTimestamp": 1606778369943, | ||||
| 		"lastModifiedTimestamp": 1606778370811, | ||||
| 		"childProfileIds": [ | ||||
| 			24 | ||||
| 		] | ||||
| @@ -70,10 +138,10 @@ | ||||
| 		"id": 16, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-hotspot-osu", | ||||
| 		"name": "TipWlan-cloud-passpoint-osu", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-osu", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-osu", | ||||
| 			"appliedRadios": [ | ||||
| 				"is2dot4GHz" | ||||
| 			], | ||||
| @@ -86,6 +154,7 @@ | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -93,7 +162,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -105,13 +174,13 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzL": { | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -124,8 +193,8 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711164950, | ||||
| 		"lastModifiedTimestamp": 1605711171732, | ||||
| 		"createdTimestamp": 1606778369944, | ||||
| 		"lastModifiedTimestamp": 1606778370352, | ||||
| 		"childProfileIds": [ | ||||
| 			19, | ||||
| 			20 | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 18, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_venue", | ||||
| 		"name": "TipWlan-Hotspot20-Venue", | ||||
| 		"name": "TipWlan-Passpoint-Venue", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointVenueProfile", | ||||
| 			"venueNameSet": [ | ||||
| @@ -28,15 +28,15 @@ | ||||
| 				} | ||||
| 			], | ||||
| 			"venueTypeAssignment": { | ||||
| 				"model_type": "ProfileVenueTypeAssignment", | ||||
| 				"model_type": "PasspointVenueTypeAssignment", | ||||
| 				"venueDescription": "Research and Development Facility", | ||||
| 				"venueGroupId": 2, | ||||
| 				"venueTypeId": 8 | ||||
| 			}, | ||||
| 			"profileType": "passpoint_venue" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1605711164956, | ||||
| 		"lastModifiedTimestamp": 1605711164956, | ||||
| 		"createdTimestamp": 1606778369950, | ||||
| 		"lastModifiedTimestamp": 1606778369950, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -7,6 +7,7 @@ | ||||
|         <listEntry value="1"/> | ||||
|     </listAttribute> | ||||
|     <booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/> | ||||
|     <booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/> | ||||
|     <booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/> | ||||
|     <booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/> | ||||
|     <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/> | ||||
|   | ||||
| @@ -30,7 +30,7 @@ import com.telecominfraproject.wlan.opensync.external.integration.models.Opensyn | ||||
| import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPVIFState; | ||||
| import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncWifiAssociatedClients; | ||||
| import com.telecominfraproject.wlan.opensync.ovsdb.dao.OvsdbDao; | ||||
| import com.telecominfraproject.wlan.opensync.ovsdb.dao.utilities.OvsdbStringConstants; | ||||
| import com.telecominfraproject.wlan.opensync.util.OvsdbStringConstants; | ||||
| import com.telecominfraproject.wlan.opensync.util.SslUtil; | ||||
| import com.telecominfraproject.wlan.profile.network.models.ApNetworkConfiguration; | ||||
| import com.vmware.ovsdb.callback.ConnectionCallback; | ||||
| @@ -193,40 +193,36 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|         LOG.debug("Client {} connect for AP {}", clientCn, apId); | ||||
|          | ||||
|         ovsdbDao.removeAllPasspointConfigs(ovsdbClient); | ||||
|         ovsdbDao.removeAllSsids(ovsdbClient); // always     | ||||
|         ovsdbDao.removeAllInetConfigs(ovsdbClient);        | ||||
|         ovsdbDao.removeWifiRrm(ovsdbClient); | ||||
|         ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always | ||||
|          | ||||
|         OpensyncAPConfig opensyncAPConfig = extIntegrationInterface.getApConfig(apId); | ||||
|  | ||||
|         if (opensyncAPConfig != null) { | ||||
|             // cleanup existing | ||||
|             ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always | ||||
|             ovsdbDao.removeAllPasspointConfigs(ovsdbClient); | ||||
|             ovsdbDao.removeWifiRrm(ovsdbClient); | ||||
|             ovsdbDao.removeAllSsids(ovsdbClient, opensyncAPConfig); // always | ||||
|             ovsdbDao.removeAllGreTunnels(ovsdbClient, opensyncAPConfig); | ||||
|             // reconfigure | ||||
|              | ||||
|             ovsdbDao.configureWifiRadios(ovsdbClient, opensyncAPConfig); | ||||
|             ovsdbDao.configureInterfaces(ovsdbClient); | ||||
|             ovsdbDao.configureGreTunnels(ovsdbClient, opensyncAPConfig); | ||||
|             ovsdbDao.configureSsids(ovsdbClient, opensyncAPConfig); | ||||
|             ovsdbDao.configureWifiRrm(ovsdbClient, opensyncAPConfig); | ||||
|             ovsdbDao.configureGreTunnels(ovsdbClient, opensyncAPConfig);        | ||||
|             ovsdbDao.createVlanNetworkInterfaces(ovsdbClient, opensyncAPConfig); | ||||
|              | ||||
|             ovsdbDao.configureSsids(ovsdbClient, opensyncAPConfig); | ||||
|             if (opensyncAPConfig.getHotspotConfig() != null) { | ||||
|                 ovsdbDao.configureHotspots(ovsdbClient, opensyncAPConfig); | ||||
|             } | ||||
|             ovsdbDao.configureStatsFromProfile(ovsdbClient, opensyncAPConfig); | ||||
|             if (((ApNetworkConfiguration) opensyncAPConfig.getApProfile().getDetails()).getSyntheticClientEnabled()) { | ||||
|                 ovsdbDao.enableNetworkProbeForSyntheticClient(ovsdbClient); | ||||
|             } | ||||
|         } else { | ||||
|             ovsdbDao.removeAllPasspointConfigs(ovsdbClient); | ||||
|             ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always | ||||
|             ovsdbDao.removeWifiRrm(ovsdbClient); | ||||
|             ovsdbDao.removeAllSsids(ovsdbClient); // always | ||||
|             ovsdbDao.removeAllGreTunnels(ovsdbClient, null); | ||||
|         } | ||||
|              | ||||
|             ovsdbDao.configureInterfaces(ovsdbClient); | ||||
|  | ||||
|             ovsdbDao.configureStatsFromProfile(ovsdbClient, opensyncAPConfig); | ||||
|             if (ovsdbDao.getDeviceStatsReportingInterval(ovsdbClient) != collectionIntervalSecDeviceStats) { | ||||
|                 ovsdbDao.updateDeviceStatsReportingInterval(ovsdbClient, collectionIntervalSecDeviceStats); | ||||
|             } | ||||
|              | ||||
|         } else { | ||||
|             LOG.info("No Configuration available for {}", apId); | ||||
|         } | ||||
|  | ||||
|         LOG.debug("Client connect Done"); | ||||
|         return connectNodeInfo; | ||||
| @@ -270,20 +266,25 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|             LOG.warn("AP with id " + apId + " does not have a config to apply."); | ||||
|             return; | ||||
|         } | ||||
|         ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always | ||||
|          | ||||
|         ovsdbDao.removeAllPasspointConfigs(ovsdbClient); | ||||
|         ovsdbDao.removeAllSsids(ovsdbClient); // always     | ||||
|         ovsdbDao.removeAllInetConfigs(ovsdbClient);        | ||||
|         ovsdbDao.removeWifiRrm(ovsdbClient); | ||||
|         ovsdbDao.removeAllSsids(ovsdbClient, opensyncAPConfig); // always | ||||
|         ovsdbDao.removeAllGreTunnels(ovsdbClient, opensyncAPConfig); | ||||
|         ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always | ||||
|  | ||||
|         ovsdbDao.configureWifiRadios(ovsdbClient, opensyncAPConfig); | ||||
|         ovsdbDao.configureInterfaces(ovsdbClient); | ||||
|         ovsdbDao.configureGreTunnels(ovsdbClient, opensyncAPConfig); | ||||
|         ovsdbDao.configureSsids(ovsdbClient, opensyncAPConfig); | ||||
|         ovsdbDao.configureWifiRrm(ovsdbClient, opensyncAPConfig); | ||||
|         ovsdbDao.configureGreTunnels(ovsdbClient, opensyncAPConfig);        | ||||
|         ovsdbDao.createVlanNetworkInterfaces(ovsdbClient, opensyncAPConfig); | ||||
|          | ||||
|         ovsdbDao.configureSsids(ovsdbClient, opensyncAPConfig); | ||||
|         if (opensyncAPConfig.getHotspotConfig() != null) { | ||||
|             ovsdbDao.configureHotspots(ovsdbClient, opensyncAPConfig); | ||||
|         } | ||||
|          | ||||
|         ovsdbDao.configureInterfaces(ovsdbClient); | ||||
|  | ||||
|         ovsdbDao.configureStatsFromProfile(ovsdbClient, opensyncAPConfig); | ||||
|         if (ovsdbDao.getDeviceStatsReportingInterval(ovsdbClient) != collectionIntervalSecDeviceStats) { | ||||
|             ovsdbDao.updateDeviceStatsReportingInterval(ovsdbClient, collectionIntervalSecDeviceStats); | ||||
| @@ -373,6 +374,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.dhcpLeasedIpDbTable + "_" + key + " monitor callback received {}", | ||||
|                                     tableUpdates); | ||||
|  | ||||
| @@ -430,6 +432,9 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|                                 extIntegrationInterface.dhcpLeasedIpDbTableUpdate(update, key, RowUpdateOperation.MODIFY); | ||||
|  | ||||
|                             } | ||||
|                         } catch (Exception e) { | ||||
|                             LOG.error("dhcpLeasedIpDbTableUpdate failed", e); | ||||
|                         } | ||||
|  | ||||
|                     } | ||||
|  | ||||
| @@ -448,6 +453,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.commandStateDbTable + "_" + key + " monitor callback received {}", | ||||
|                                     tableUpdates); | ||||
|  | ||||
| @@ -505,6 +511,9 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|                                 extIntegrationInterface.commandStateDbTableUpdate(update, key, RowUpdateOperation.MODIFY); | ||||
|  | ||||
|                             } | ||||
|                         } catch (Exception e) { | ||||
|                             LOG.error("commandStateDbTableUpdate failed", e); | ||||
|                         } | ||||
|  | ||||
|                     } | ||||
|  | ||||
| @@ -522,10 +531,14 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.awlanNodeDbTable + "_" + key + " monitor callback received {}", tableUpdates); | ||||
|  | ||||
|                             extIntegrationInterface.awlanNodeDbTableUpdate( | ||||
|                                     ovsdbDao.getOpensyncAWLANNode(tableUpdates, key, ovsdbClient), key); | ||||
|                         } catch (Exception e) { | ||||
|                             LOG.error("awlanNodeDbTableUpdate failed",e); | ||||
|                         } | ||||
|                     } | ||||
|  | ||||
|                 }); | ||||
| @@ -543,6 +556,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|  | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.wifiAssociatedClientsDbTable + "_" + key + " monitor callback received {}", | ||||
|                                     tableUpdates); | ||||
|  | ||||
| @@ -568,6 +582,9 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|                             // now address the update/add | ||||
|                             extIntegrationInterface.wifiAssociatedClientsDbTableUpdate(associatedClients, key); | ||||
|                         } catch (Exception e) { | ||||
|                            LOG.error("wifiAssociatedClientsDbTableUpdate failed", e); | ||||
|                         } | ||||
|  | ||||
|                     } | ||||
|  | ||||
| @@ -586,6 +603,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.ovsdbName, | ||||
|                                     OvsdbDao.wifiInetStateDbTable + "_" + key + " monitor callback received {}", | ||||
|                                     tableUpdates); | ||||
| @@ -613,6 +631,9 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|                             // now process updates and mutations | ||||
|                             extIntegrationInterface.wifiInetStateDbTableUpdate(inetStateInsertOrUpdate, key); | ||||
|                         } catch (Exception e) { | ||||
|                             LOG.error("wifiInetStateDbTableUpdate failed",e); | ||||
|                         } | ||||
|  | ||||
|                     } | ||||
|  | ||||
| @@ -630,11 +651,15 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.wifiRadioStateDbTable + "_" + key + " monitor callback received {}", | ||||
|                                     tableUpdates); | ||||
|  | ||||
|                             extIntegrationInterface.wifiRadioStatusDbTableUpdate( | ||||
|                                     ovsdbDao.getOpensyncAPRadioState(tableUpdates, key, ovsdbClient), key); | ||||
|                         } catch (Exception e) { | ||||
|                             LOG.error("wifiRadioStatusDbTableUpdate failed",e); | ||||
|                         } | ||||
|                     } | ||||
|  | ||||
|                 }); | ||||
| @@ -651,6 +676,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.wifiVifStateDbTable + "_" + key + " monitor callback received {}", | ||||
|                                     tableUpdates); | ||||
|  | ||||
| @@ -684,6 +710,9 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|                                 } | ||||
|  | ||||
|                             } | ||||
|                         } catch (Exception e) { | ||||
|                             LOG.error("wifiVIFStateDbTableUpdate failed", e); | ||||
|                         } | ||||
|  | ||||
|                     } | ||||
|  | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,4 +1,4 @@ | ||||
| package com.telecominfraproject.wlan.opensync.ovsdb.dao.utilities; | ||||
| package com.telecominfraproject.wlan.opensync.util; | ||||
| 
 | ||||
| 
 | ||||
| public class OvsdbStringConstants { | ||||
| @@ -1,4 +1,4 @@ | ||||
| package com.telecominfraproject.wlan.opensync.ovsdb.dao.utilities; | ||||
| package com.telecominfraproject.wlan.opensync.util; | ||||
| 
 | ||||
| import com.telecominfraproject.wlan.client.models.ClientType; | ||||
| import com.telecominfraproject.wlan.core.model.equipment.RadioType; | ||||
| @@ -126,7 +126,7 @@ public class OpensyncGatewayTipWlanOvsdbClientTest { | ||||
|         Mockito.verify(ovsdbSessionMapInterface).getSession("Test_Client_21P10C68818122"); | ||||
|         Mockito.verify(ovsdbSession).getOvsdbClient(); | ||||
|         Mockito.verify(opensyncExternalIntegrationInterface).getApConfig("Test_Client_21P10C68818122"); | ||||
|         Mockito.verify(ovsdbDao).removeAllSsids(ovsdbClient, apConfig); | ||||
|         Mockito.verify(ovsdbDao).removeAllSsids(ovsdbClient); | ||||
|         Mockito.verify(ovsdbDao).removeAllStatsConfigs(ovsdbClient); | ||||
|         Mockito.verify(ovsdbDao).configureWifiRadios(ovsdbClient, apConfig); | ||||
|         Mockito.verify(ovsdbDao).configureSsids(ovsdbClient, apConfig); | ||||
|   | ||||
| @@ -142,48 +142,6 @@ public class OvsdbDaoTest { | ||||
|         mockito.finishMocking(); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testRemoveAllGreTunnels() throws Exception { | ||||
|         List<Row> rows = new ArrayList<>(); | ||||
|         OperationResult[] operationResult = new OperationResult[] { new SelectResult(rows) }; | ||||
|         Mockito.when(ovsdbClient.transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList())) | ||||
|                 .thenReturn(selectionFutureResult); | ||||
|         Mockito.when(selectionFutureResult.get(30, TimeUnit.SECONDS)).thenReturn(operationResult); | ||||
|         Profile apProfile = new Profile(); | ||||
|         apProfile.setCustomerId(2); | ||||
|         apProfile.setId(1L); | ||||
|         apProfile.setName("ApProfile"); | ||||
|         apProfile.setProfileType(ProfileType.equipment_ap); | ||||
|         ApNetworkConfiguration tunnelProfileDetails = ApNetworkConfiguration.createWithDefaults(); | ||||
|  | ||||
|         tunnelProfileDetails.setGreLocalInetAddr(InetAddress.getByName("10.0.10.10")); | ||||
|         tunnelProfileDetails.setGreRemoteInetAddr(InetAddress.getByName("192.168.0.10")); | ||||
|         tunnelProfileDetails.setGreTunnelName("gre1"); | ||||
|         tunnelProfileDetails.setGreParentIfName("wan"); | ||||
|         apProfile.setDetails(tunnelProfileDetails); | ||||
|         OpensyncAPConfig apConfig = Mockito.mock(OpensyncAPConfig.class); | ||||
|         Mockito.when(apConfig.getApProfile()).thenReturn(apProfile); | ||||
|         ovsdbDao.removeAllGreTunnels(ovsdbClient, apConfig); | ||||
|  | ||||
|         Mockito.verify(apConfig, Mockito.times(2)).getApProfile(); | ||||
|         Mockito.verify(ovsdbClient, Mockito.times(1)).transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList()); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testRemoveAllGreTunnelsNoProfile() throws Exception { | ||||
|         List<Row> rows = new ArrayList<>(); | ||||
|         OperationResult[] operationResult = new OperationResult[] { new SelectResult(rows) }; | ||||
|         Mockito.when(ovsdbClient.transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList())) | ||||
|                 .thenReturn(selectionFutureResult); | ||||
|         Mockito.when(selectionFutureResult.get(30, TimeUnit.SECONDS)).thenReturn(operationResult); | ||||
|  | ||||
|         ovsdbDao.removeAllGreTunnels(ovsdbClient, null); | ||||
|  | ||||
|         Mockito.verify(ovsdbClient, Mockito.times(1)).transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList()); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testConfigureGreTunnels() throws Exception { | ||||
|         List<Row> rows = new ArrayList<>(); | ||||
| @@ -339,7 +297,7 @@ public class OvsdbDaoTest { | ||||
|  | ||||
|         ovsdbDao.configureHotspots(ovsdbClient, apConfig); | ||||
|  | ||||
|         Mockito.verify(futureResult, Mockito.times(11)).get(Mockito.anyLong(), Mockito.eq(TimeUnit.SECONDS)); | ||||
|         Mockito.verify(futureResult, Mockito.times(13)).get(Mockito.anyLong(), Mockito.eq(TimeUnit.SECONDS)); | ||||
|  | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -12,7 +12,6 @@ import java.util.Set; | ||||
| import java.util.UUID; | ||||
|  | ||||
| import com.telecominfraproject.wlan.core.model.equipment.RadioType; | ||||
| import com.telecominfraproject.wlan.customer.models.Customer; | ||||
| import com.telecominfraproject.wlan.profile.models.Profile; | ||||
| import com.telecominfraproject.wlan.profile.models.ProfileType; | ||||
| import com.telecominfraproject.wlan.profile.network.models.ApNetworkConfiguration; | ||||
| @@ -41,35 +40,37 @@ import com.vmware.ovsdb.protocol.operation.result.UpdateResult; | ||||
|  | ||||
| public class OvsdbDaoTestUtilities { | ||||
|  | ||||
|  | ||||
|     // Static creation of Profiles and Results to use with the OvsdbDao JUnit tests. | ||||
|     static void createPasspointHotspot(int customerId, Profile passpointHotspotConfig, | ||||
|             Profile passpointOperatorProfile, Profile passpointVenueProfile, Profile hotspot20IdProviderProfile, | ||||
|             Profile hotspot20IdProviderProfile2, Profile profileSsidPsk, Profile profileSsidOsu, | ||||
|             Profile hotspotProfileAp) { | ||||
|     // Static creation of Profiles and Results to use with the OvsdbDao JUnit | ||||
|     // tests. | ||||
|     static void createPasspointHotspot(int customerId, Profile passpointHotspotConfig, Profile passpointOperatorProfile, | ||||
|             Profile passpointVenueProfile, Profile hotspot20IdProviderProfile, Profile hotspot20IdProviderProfile2, | ||||
|             Profile profileSsidPsk, Profile profileSsidOsu, Profile hotspotProfileAp) { | ||||
|  | ||||
|         profileSsidPsk = createPasspointAccessSsid(customerId); | ||||
|         profileSsidPsk.setId(1L); | ||||
|         profileSsidOsu = createPasspointOsuSsid(customerId); | ||||
|         profileSsidOsu.setId(2L); | ||||
|  | ||||
|         passpointOperatorProfile = createPasspointOperatorProfile(customerId); | ||||
|  | ||||
|         passpointOperatorProfile.setId(3L); | ||||
|         passpointVenueProfile = createPasspointVenueProfile(customerId); | ||||
|  | ||||
|         passpointVenueProfile.setId(4L); | ||||
|         hotspot20IdProviderProfile = createPasspointIdProviderProfile(customerId, hotspot20IdProviderProfile, | ||||
|                 "TipWlan-Hotspot20-OSU-Provider", "Rogers AT&T Wireless", "Canada", "ca", 302, 720, "rogers.com", 1); | ||||
|  | ||||
|         hotspot20IdProviderProfile.setId(5L); | ||||
|         hotspot20IdProviderProfile2 = createPasspointIdProviderProfile(customerId, hotspot20IdProviderProfile2, | ||||
|                 "TipWlan-Hotspot20-OSU-Provider-2", "Telus Mobility", "Canada", "ca", 302, 220, "telus.com", 1); | ||||
|  | ||||
|  | ||||
|         hotspot20IdProviderProfile2.setId(6L); | ||||
|         profileSsidOsu.getChildProfileIds().add(hotspot20IdProviderProfile.getId()); | ||||
|         profileSsidOsu.getChildProfileIds().add(hotspot20IdProviderProfile2.getId()); | ||||
|  | ||||
|         passpointHotspotConfig = createPasspointHotspotConfig(customerId, hotspot20IdProviderProfile2, | ||||
|                 hotspot20IdProviderProfile, passpointOperatorProfile, passpointVenueProfile, profileSsidPsk, | ||||
|                 profileSsidOsu); | ||||
|         passpointHotspotConfig.setId(7L); | ||||
|  | ||||
|         hotspotProfileAp = createPasspointApProfile(customerId, profileSsidPsk, profileSsidOsu); | ||||
|         hotspotProfileAp.setId(8L); | ||||
|     } | ||||
|  | ||||
|     static Profile createPasspointHotspotConfig(int customerId, Profile hotspot20IdProviderProfile2, | ||||
| @@ -87,15 +88,18 @@ public class OvsdbDaoTestUtilities { | ||||
|         passpointHotspotConfigChildIds.add(hotspot20IdProviderProfile2.getId()); | ||||
|         passpointHotspotConfig.setChildProfileIds(passpointHotspotConfigChildIds); | ||||
|         passpointHotspotConfig.setDetails(PasspointProfile.createWithDefaults()); | ||||
|         Set<String> providerNames = new HashSet<>(); | ||||
|         providerNames.add(hotspot20IdProviderProfile.getName()); | ||||
|         providerNames.add(hotspot20IdProviderProfile2.getName()); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()).setIdProviderProfileNames(providerNames); | ||||
|         Set<Long> providerIds = new HashSet<>(); | ||||
|         providerIds.add(hotspot20IdProviderProfile.getId()); | ||||
|         providerIds.add(hotspot20IdProviderProfile2.getId()); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()).setPasspointOsuProviderProfileIds(providerIds); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()) | ||||
|                 .setOperatorProfileName(passpointOperatorProfile.getName()); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()).setVenueProfileName(passpointVenueProfile.getName()); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()).setOsuSsidName(profileSsidOpen.getName()); | ||||
|                 .setPasspointOperatorProfileId(passpointOperatorProfile.getId()); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()) | ||||
|                 .setPasspointVenueProfileId(passpointVenueProfile.getId()); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()).setOsuSsidProfileId(profileSsidOpen.getId()); | ||||
|         profileSsidPsk.getChildProfileIds().add(passpointHotspotConfig.getId()); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()) | ||||
|                 .setAssociatedAccessSsidProfileIds(List.of(profileSsidPsk.getId())); | ||||
|         return passpointHotspotConfig; | ||||
|     } | ||||
|  | ||||
| @@ -117,14 +121,13 @@ public class OvsdbDaoTestUtilities { | ||||
|         mccMncList.add(passpointMccMnc); | ||||
|         Set<String> naiRealms = new HashSet<>(); | ||||
|         naiRealms.add(naiRealm); | ||||
|         naiRealm.split("."); | ||||
|         List<Byte> roamingOi = new ArrayList<>(); | ||||
|         roamingOi.add(Byte.valueOf("1")); | ||||
|         roamingOi.add(Byte.valueOf("2")); | ||||
|         roamingOi.add(Byte.valueOf("3")); | ||||
|         roamingOi.add(Byte.valueOf("4")); | ||||
|         hotspot20IdProviderProfile = createOsuProviderProfile(customerId, hotspot20IdProviderProfile, mccMncList, | ||||
|                 naiRealms, "https://example.com/osu/" + naiRealm.split(".com")[0], naiRealm.split(".com")[0], naiRealm, | ||||
|                 naiRealms, "https://example.com/osu/" + naiRealm.split("/.com")[0], naiRealm.split(".com")[0], naiRealm, | ||||
|                 roamingOi); | ||||
|         return hotspot20IdProviderProfile; | ||||
|     } | ||||
| @@ -305,7 +308,8 @@ public class OvsdbDaoTestUtilities { | ||||
|         columns.put("network_auth_type", new Atom<>("00")); | ||||
|         columns.put("operating_class", new Atom<>(0)); | ||||
|         columns.put("operator_friendly_name", | ||||
|                 com.vmware.ovsdb.protocol.operation.notation.Set.of(new Atom<>("eng:Default friendly passpoint_operator name"), | ||||
|                 com.vmware.ovsdb.protocol.operation.notation.Set.of( | ||||
|                         new Atom<>("eng:Default friendly passpoint_operator name"), | ||||
|                         new Atom<>("fra:Nom de l'opérateur convivial par défaut"))); | ||||
|         columns.put("operator_icons", | ||||
|                 com.vmware.ovsdb.protocol.operation.notation.Set.of( | ||||
| @@ -322,8 +326,8 @@ public class OvsdbDaoTestUtilities { | ||||
|                 com.vmware.ovsdb.protocol.operation.notation.Set.of(new Atom<>("11223344"), new Atom<>("234433"))); | ||||
|         columns.put("tos", new Atom<>("https://localhost:9091/filestore/termsAndConditions")); | ||||
|         columns.put("venue_group_type", new Atom<>("2:8")); | ||||
|         columns.put("venue_name", com.vmware.ovsdb.protocol.operation.notation.Set.of(new Atom<>("eng:Example passpoint_venue"), | ||||
|                 new Atom<>("fra:Exemple de lieu"))); | ||||
|         columns.put("venue_name", com.vmware.ovsdb.protocol.operation.notation.Set | ||||
|                 .of(new Atom<>("eng:Example passpoint_venue"), new Atom<>("fra:Exemple de lieu"))); | ||||
|         columns.put("venue_url", com.vmware.ovsdb.protocol.operation.notation.Set | ||||
|                 .of(new Atom<>("1:http://www.example.com/info-fra"), new Atom<>("2:http://www.example.com/info-eng"))); | ||||
|         columns.put("vif_config", | ||||
| @@ -408,7 +412,6 @@ public class OvsdbDaoTestUtilities { | ||||
|         return operationResult; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     static OperationResult[] hs20IconRows() { | ||||
|         List<Row> ret = new ArrayList<>(); | ||||
|  | ||||
| @@ -514,7 +517,6 @@ public class OvsdbDaoTestUtilities { | ||||
|  | ||||
|         SelectResult selectResult = new SelectResult(ret); | ||||
|  | ||||
|  | ||||
|         OperationResult[] operationResult = new OperationResult[1]; | ||||
|         operationResult[0].equals(selectResult); | ||||
|         return operationResult; | ||||
| @@ -543,5 +545,4 @@ public class OvsdbDaoTestUtilities { | ||||
|         return profileRadius; | ||||
|     } | ||||
|  | ||||
|      | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user