Compare commits

..

12 Commits

Author SHA1 Message Date
Akshay Jagadish
aac02cb1c9 link test 2020-12-03 16:09:20 -05:00
Lynn Shi
6ece024535 WIFI-1150 Network: The AP list table should also show the Connected/Disconnected status of every AP 2020-12-03 15:05:00 -05:00
Mike Hansen
4837b0e026 mv mapping and constants utilities under the util package 2020-12-02 10:44:24 -05:00
Mike Hansen
0eca082a4d Add null dereference check in handling of ovsdb monitor update for WifiAssociatedClients, add try/catch on Monitor update methods to ensure monitor continues running even if there are issues with ovsdb table updates 2020-12-02 10:28:53 -05:00
Mike Hansen
db4672a9a2 additional validation and error handling for equipment discovery and ap configuration 2020-12-01 20:20:22 -05:00
Mike Hansen
9e58a9d7b7 code cleanup re static analysis checks 2020-12-01 17:59:20 -05:00
Mike Hansen
f083c3488c WIFI-1110: vifS is not applying as wm is crashing due to garbage in /etc/wireless/config -- removing short-term caching of Equipment from OpensyncGatewayExternalCloud 2020-12-01 16:44:46 -05:00
Mike Hansen
b28655a5bd WIFI-1110: vifS is not applying as wm is crashing due to garbage in /etc/wireless/config
WIFI-1139: OpensyncGateway Process ChannelSwitchEvent from EventReport
2020-12-01 14:52:49 -05:00
Mike Hansen
124b6054b5 WIFI-1110: vifS is not applying as wm is crashing due to garbage in /etc/wireless/config 2020-12-01 10:36:28 -05:00
Mike Hansen
d79917d20f WIFI-1132: Cloud osgw static changes 2020-11-30 18:32:01 -05:00
Mike Hansen
c0bb71aed2 WIFI-1130: Cloud osgw dao changes
WIFI-1131: Cloud osgw junit
2020-11-30 18:14:58 -05:00
Mike Hansen
5e32798159 WIFI-1110: vifS is not applying as wm is crashing due to garbage in /etc/wireless/config
Further changes to simplify Cloud/OSGW/AP interaction

Remove hieuristic config changes handling, goes back to reset of all
SSIDs, etc. This will need support from Cloud/UI side if it is to be
implemented in the future as the OSGW cannot effectively ascertain
updates vs inserts without config change content information.
Validate SSID UUID gets added to Wifi_Radio_Config, if not, throw RTE
Only process changes for PROTOCOL_STATUS and FIRMWARE_STATUS when they
differ from the current state.
2020-11-30 15:00:58 -05:00
51 changed files with 4687 additions and 4467 deletions

View File

@@ -1,5 +1,5 @@
BSD 3-Clause License
#Release Testing
Copyright (c) 2020, Telecom Infra Project
All rights reserved.

View File

@@ -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.

View File

@@ -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")) {

View File

@@ -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);
}

View File

@@ -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() {

View File

@@ -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());

View File

@@ -2,7 +2,7 @@
"model_type": "Equipment",
"id": 51,
"customerId": 2,
"profileId": 5,
"profileId": 12,
"locationId": 8,
"equipmentType": "AP",
"inventoryId": "Test_Client_21P10C68818122",

View File

@@ -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
]
}

View File

@@ -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,

View File

@@ -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": [
]
}

View File

@@ -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": [
]
}

View File

@@ -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": [
]
}

View File

@@ -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": []
}

View File

@@ -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

View File

@@ -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": [
]
}

View File

@@ -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">

View File

@@ -2,7 +2,7 @@
"model_type": "Equipment",
"id": 51,
"customerId": 2,
"profileId": 5,
"profileId": 12,
"locationId": 8,
"equipmentType": "AP",
"inventoryId": "Test_Client_21P10C68818122",

View File

@@ -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
]
}

View File

@@ -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,

View File

@@ -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": [
]
}

View File

@@ -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": [
]
}

View File

@@ -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": [
]
}

View File

@@ -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": []
}

View File

@@ -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

View File

@@ -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": [
]
}

View File

@@ -2,7 +2,7 @@
"model_type": "Equipment",
"id": 51,
"customerId": 2,
"profileId": 5,
"profileId": 12,
"locationId": 8,
"equipmentType": "AP",
"inventoryId": "Test_Client_21P10C68818122",

View File

@@ -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
]
}

View File

@@ -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,

View File

@@ -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": [
]
}

View File

@@ -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": [
]
}

View File

@@ -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": [
]
}

View File

@@ -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": []
}

View File

@@ -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

View File

@@ -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": [
]
}

View File

@@ -2,7 +2,7 @@
"model_type": "Equipment",
"id": 51,
"customerId": 2,
"profileId": 5,
"profileId": 12,
"locationId": 8,
"equipmentType": "AP",
"inventoryId": "Test_Client_21P10C68818122",

View File

@@ -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
]
}

View File

@@ -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,

View File

@@ -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": [
]
}

View File

@@ -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": [
]
}

View File

@@ -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": [
]
}

View File

@@ -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": []
}

View File

@@ -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

View File

@@ -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": [
]
}

View File

@@ -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"/>

View File

@@ -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);
}
}

View File

@@ -1,4 +1,4 @@
package com.telecominfraproject.wlan.opensync.ovsdb.dao.utilities;
package com.telecominfraproject.wlan.opensync.util;
public class OvsdbStringConstants {

View File

@@ -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;

View File

@@ -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);

View File

@@ -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));
}

View File

@@ -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;
}
}