Compare commits

..

16 Commits

Author SHA1 Message Date
Mike Hansen
b8cd98017d Merge branch 'master' of github.com:Telecominfraproject/wlan-cloud-opensync-controller 2020-12-04 15:16:57 -05:00
Mike Hansen
0c89e6c624 WIFI-1062: Add provisioning capability to OvsdbDao when configuring Ssids 2020-12-04 15:16:38 -05:00
Rahul Sharma
becf59dc0f Merge pull request #18 from Telecominfraproject/WIFI-1151
WIFI-1151: Update Opensync GW to align with the new RealSipCall data …
2020-12-04 12:09:41 -05:00
Rahul Sharma
feff3d6530 Incorporating comments from Mike 2020-12-04 11:01:27 -05:00
Rahul Sharma
2e7a090722 WIFI-1151: Update Opensync GW to align with the new RealSipCall data model
and add new atributes coming in the Sip call.
2020-12-03 20:42:54 -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 5135 additions and 4614 deletions

View File

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

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,8 +1121,9 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
if (protocolStatus != null) {
protocolStatusData = (EquipmentProtocolStatusData) protocolStatus.getDetails();
if (!protocolStatusData.getReportedCC()
.equals(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);
@@ -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,9 +1046,9 @@ 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);
processRealTimeSipCallReportEvent(customerId, equipmentId, eventTimestamp, eventsList, videoVoiceReport);
processRealTimeSipCallStartEvent(customerId, equipmentId, eventTimestamp, eventsList, videoVoiceReport);
@@ -1000,13 +1068,229 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
protected void processRealTImeSipCallReportEvent(int customerId, long equipmentId, long eventTimestamp,
protected void processRealTimeSipCallReportEvent(int customerId, long equipmentId, long eventTimestamp,
List<SystemEvent> eventsList, VideoVoiceReport videoVoiceReport) {
if (videoVoiceReport.hasCallReport()) {
CallReport callReport = videoVoiceReport.getCallReport();
RealTimeSipCallReportEvent cloudSipCallReportEvent = new RealTimeSipCallReportEvent(customerId, equipmentId,
eventTimestamp);
if (callReport.hasClientMac() && callReport.getClientMac().isValidUtf8()) {
cloudSipCallReportEvent.setClientMacAddress(MacAddress.valueOf(callReport.getClientMac().toStringUtf8()));
}
cloudSipCallReportEvent.setStatuses(processRtpFlowStats(callReport.getStatsList()));
cloudSipCallReportEvent.setEventType(RealTimeEventType.SipCallReport);
cloudSipCallReportEvent.setSipCallId(callReport.getWifiSessionId());
cloudSipCallReportEvent.setAssociationId(callReport.getSessionId());
if (callReport.hasReason()) {
cloudSipCallReportEvent.setReportReason(getCallReportReason(callReport.getReason()));
}
if (callReport.hasProviderDomain()) {
cloudSipCallReportEvent.setProviderDomain(callReport.getProviderDomain());
}
if (callReport.getCodecsCount() > 0) {
cloudSipCallReportEvent.setCodecs(callReport.getCodecsList());
}
if (callReport.hasChannel()) {
cloudSipCallReportEvent.setChannel(callReport.getChannel());
}
if (callReport.hasBand()) {
cloudSipCallReportEvent.setRadioType(OvsdbToWlanCloudTypeMappingUtility
.getRadioTypeFromOpensyncStatsRadioBandType(callReport.getBand()));
}
eventsList.add(cloudSipCallReportEvent);
}
}
private SIPCallReportReason getCallReportReason(CallReport.CallReportReason reason) {
if (reason != null) {
switch (reason) {
case ROAMED_TO:
return SIPCallReportReason.ROAMED_TO;
case GOT_PUBLISH:
return SIPCallReportReason.GOT_PUBLISH;
case ROAMED_FROM:
return SIPCallReportReason.ROAMED_FROM;
default:
return SIPCallReportReason.UNSUPPORTED;
}
}
return SIPCallReportReason.UNSUPPORTED;
}
protected void processRealTimeSipCallStartEvent(int customerId, long equipmentId, long eventTimestamp,
List<SystemEvent> eventsList, VideoVoiceReport videoVoiceReport) {
if (videoVoiceReport.hasCallStart()) {
CallStart apCallStart = videoVoiceReport.getCallStart();
RealTimeSipCallStartEvent cloudSipCallStartEvent = new RealTimeSipCallStartEvent(customerId, equipmentId,
eventTimestamp);
if (apCallStart.hasClientMac() && apCallStart.getClientMac().isValidUtf8()) {
cloudSipCallStartEvent.setClientMacAddress(MacAddress.valueOf(apCallStart.getClientMac().toStringUtf8()));
}
if (apCallStart.hasDeviceInfo()) {
cloudSipCallStartEvent.setDeviceInfo(apCallStart.getDeviceInfo());
}
if (apCallStart.hasProviderDomain()) {
cloudSipCallStartEvent.setProviderDomain(apCallStart.getProviderDomain());
}
if (apCallStart.hasSessionId()) {
cloudSipCallStartEvent.setAssociationId(apCallStart.getSessionId());
}
if (apCallStart.hasWifiSessionId()) {
cloudSipCallStartEvent.setAssociationId(apCallStart.getWifiSessionId());
}
if (apCallStart.getCodecsCount() > 0) {
cloudSipCallStartEvent.setCodecs(apCallStart.getCodecsList());
}
if (apCallStart.hasChannel()) {
cloudSipCallStartEvent.setChannel(apCallStart.getChannel());
}
if (apCallStart.hasBand()) {
cloudSipCallStartEvent.setRadioType(OvsdbToWlanCloudTypeMappingUtility
.getRadioTypeFromOpensyncStatsRadioBandType(apCallStart.getBand()));
}
eventsList.add(cloudSipCallStartEvent);
}
}
protected void processRealTimeSipCallStopEvent(int customerId, long equipmentId, long eventTimestamp,
List<SystemEvent> eventsList, VideoVoiceReport videoVoiceReport) {
if (videoVoiceReport.hasCallStop()) {
CallStop apCallStop = videoVoiceReport.getCallStop();
RealTimeSipCallStopEvent cloudSipCallStopEvent = new RealTimeSipCallStopEvent(customerId, equipmentId,
eventTimestamp);
if (apCallStop.hasCallDuration()) {
cloudSipCallStopEvent.setCallDuration(apCallStop.getCallDuration());
}
if (apCallStop.hasClientMac() && apCallStop.getClientMac().isValidUtf8()) {
cloudSipCallStopEvent.setClientMacAddress(MacAddress.valueOf(apCallStop.getClientMac().toStringUtf8()));
}
if (apCallStop.hasReason()) {
switch (apCallStop.getReason()) {
case BYE_OK:
cloudSipCallStopEvent.setReason(SipCallStopReason.BYE_OK);
break;
case CALL_DROPPED:
cloudSipCallStopEvent.setReason(SipCallStopReason.DROPPED);
break;
default:
cloudSipCallStopEvent.setReason(SipCallStopReason.UNSUPPORTED);
}
}
if (apCallStop.hasSessionId()) {
cloudSipCallStopEvent.setAssociationId(apCallStop.getSessionId());
}
if (apCallStop.hasWifiSessionId()) {
cloudSipCallStopEvent.setSipCallId(apCallStop.getWifiSessionId());
}
if (apCallStop.getStatsCount() > 0) {
cloudSipCallStopEvent.setStatuses(processRtpFlowStats(apCallStop.getStatsList()));
}
if (apCallStop.hasProviderDomain()) {
cloudSipCallStopEvent.setProviderDomain(apCallStop.getProviderDomain());
}
if (apCallStop.getCodecsCount() > 0) {
cloudSipCallStopEvent.setCodecs(apCallStop.getCodecsList());
}
if (apCallStop.hasChannel()) {
cloudSipCallStopEvent.setChannel(apCallStop.getChannel());
}
if (apCallStop.hasBand()) {
cloudSipCallStopEvent.setRadioType(OvsdbToWlanCloudTypeMappingUtility
.getRadioTypeFromOpensyncStatsRadioBandType(apCallStop.getBand()));
}
eventsList.add(cloudSipCallStopEvent);
}
}
protected void processRtsStartEvent(int customerId, long equipmentId, long eventTimestamp,
List<SystemEvent> eventsList, VideoVoiceReport videoVoiceReport) {
if (videoVoiceReport.hasStreamVideoServer()) {
StreamingVideoServerDetected apStreamVideoServer = videoVoiceReport.getStreamVideoServer();
RealTimeStreamingStartEvent rtsStartEvent = new RealTimeStreamingStartEvent(customerId, equipmentId,
eventTimestamp);
if (apStreamVideoServer.hasServerIp()) {
try {
rtsStartEvent
.setServerIp(InetAddress.getByAddress(apStreamVideoServer.getServerIp().toByteArray()));
} catch (UnknownHostException e) {
LOG.error("Cannot get IP Address from {}", apStreamVideoServer.getServerIp(), e);
}
}
if (apStreamVideoServer.hasStreamingVideoType()) {
rtsStartEvent.setType(OvsdbToWlanCloudTypeMappingUtility
.getCloudStreamingVideoTypeFromApReport(apStreamVideoServer.getStreamingVideoType()));
}
if (apStreamVideoServer.hasServerDnsName()) {
rtsStartEvent.setServerDnsName(apStreamVideoServer.getServerDnsName());
}
if (apStreamVideoServer.hasClientMac()) {
rtsStartEvent.setClientMacAddress(MacAddress.valueOf(apStreamVideoServer.getClientMac().toByteArray()));
}
if (apStreamVideoServer.hasSessionId()) {
rtsStartEvent.setSessionId(apStreamVideoServer.getSessionId());
}
if (apStreamVideoServer.hasVideoSessionId()) {
rtsStartEvent.setVideoSessionId(apStreamVideoServer.getVideoSessionId());
}
eventsList.add(rtsStartEvent);
}
}
private List<com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowStats> processRtpFlowStats(List<OpensyncStats.RtpFlowStats> stats) {
List<com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowStats> cloudRtpFlowStatsList = new ArrayList<>();
for (RtpFlowStats apRtpFlowStats : callReport.getStatsList()) {
for (RtpFlowStats apRtpFlowStats : stats) {
com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowStats cloudRtpStats = new com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowStats();
@@ -1090,147 +1374,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
cloudRtpFlowStatsList.add(cloudRtpStats);
}
RealTimeSipCallReportEvent cloudSipCallReportEvent = new RealTimeSipCallReportEvent(customerId, equipmentId,
eventTimestamp);
cloudSipCallReportEvent.setClientMacAddress(MacAddress.valueOf(callReport.getClientMac()));
cloudSipCallReportEvent.setStatuses(cloudRtpFlowStatsList);
cloudSipCallReportEvent.setEventType(RealTimeEventType.SipCallReport);
cloudSipCallReportEvent.setReportReason(SIPCallReportReason.GOT_PUBLISH);
cloudSipCallReportEvent.setSipCallId(callReport.getWifiSessionId());
cloudSipCallReportEvent.setAssociationId(callReport.getSessionId());
eventsList.add(cloudSipCallReportEvent);
}
}
protected void processRealTimeSipCallStartEvent(int customerId, long equipmentId, long eventTimestamp,
List<SystemEvent> eventsList, VideoVoiceReport videoVoiceReport) {
if (videoVoiceReport.hasCallStart()) {
CallStart apCallStart = videoVoiceReport.getCallStart();
RealTimeSipCallStartEvent cloudSipCallStartEvent = new RealTimeSipCallStartEvent(customerId, equipmentId,
eventTimestamp);
if (apCallStart.hasClientMac()) {
cloudSipCallStartEvent.setClientMacAddress(MacAddress.valueOf(apCallStart.getClientMac()));
}
if (apCallStart.hasDeviceInfo()) {
cloudSipCallStartEvent.setDeviceInfo(apCallStart.getDeviceInfo());
}
if (apCallStart.hasProviderDomain()) {
cloudSipCallStartEvent.setProviderDomain(apCallStart.getProviderDomain());
}
if (apCallStart.hasSessionId()) {
cloudSipCallStartEvent.setAssociationId(apCallStart.getSessionId());
}
if (apCallStart.hasWifiSessionId()) {
cloudSipCallStartEvent.setAssociationId(apCallStart.getWifiSessionId());
}
eventsList.add(cloudSipCallStartEvent);
}
}
protected void processRealTimeSipCallStopEvent(int customerId, long equipmentId, long eventTimestamp,
List<SystemEvent> eventsList, VideoVoiceReport videoVoiceReport) {
if (videoVoiceReport.hasCallStop()) {
CallStop apCallStop = videoVoiceReport.getCallStop();
RealTimeSipCallStopEvent cloudSipCallStopEvent = new RealTimeSipCallStopEvent(customerId, equipmentId,
eventTimestamp);
if (apCallStop.hasCallDuration()) {
cloudSipCallStopEvent.setCallDuration(apCallStop.getCallDuration());
}
if (apCallStop.hasClientMac()) {
cloudSipCallStopEvent.setClientMacAddress(MacAddress.valueOf(apCallStop.getClientMac()));
}
if (apCallStop.hasReason()) {
switch (apCallStop.getReason()) {
case BYE_OK:
cloudSipCallStopEvent.setReason(SipCallStopReason.BYE_OK);
break;
case CALL_DROPPED:
cloudSipCallStopEvent.setReason(SipCallStopReason.DROPPED);
break;
default:
cloudSipCallStopEvent.setReason(SipCallStopReason.UNSUPPORTED);
}
}
if (apCallStop.hasSessionId()) {
cloudSipCallStopEvent.setAssociationId(apCallStop.getSessionId());
}
if (apCallStop.hasWifiSessionId()) {
cloudSipCallStopEvent.setSipCallId(apCallStop.getWifiSessionId());
}
eventsList.add(cloudSipCallStopEvent);
}
}
protected void processRtsStartEvent(int customerId, long equipmentId, long eventTimestamp,
List<SystemEvent> eventsList, VideoVoiceReport videoVoiceReport) {
if (videoVoiceReport.hasStreamVideoServer()) {
StreamingVideoServerDetected apStreamVideoServer = videoVoiceReport.getStreamVideoServer();
RealTimeStreamingStartEvent rtsStartEvent = new RealTimeStreamingStartEvent(customerId, equipmentId,
eventTimestamp);
if (apStreamVideoServer.hasServerIp()) {
try {
rtsStartEvent
.setServerIp(InetAddress.getByAddress(apStreamVideoServer.getServerIp().toByteArray()));
} catch (UnknownHostException e) {
LOG.error("Cannot get IP Address from {}", apStreamVideoServer.getServerIp(), e);
}
}
if (apStreamVideoServer.hasStreamingVideoType()) {
rtsStartEvent.setType(OvsdbToWlanCloudTypeMappingUtility
.getCloudStreamingVideoTypeFromApReport(apStreamVideoServer.getStreamingVideoType()));
}
if (apStreamVideoServer.hasServerDnsName()) {
rtsStartEvent.setServerDnsName(apStreamVideoServer.getServerDnsName());
}
if (apStreamVideoServer.hasClientMac()) {
rtsStartEvent.setClientMacAddress(MacAddress.valueOf(apStreamVideoServer.getClientMac().toByteArray()));
}
if (apStreamVideoServer.hasSessionId()) {
rtsStartEvent.setSessionId(apStreamVideoServer.getSessionId());
}
if (apStreamVideoServer.hasVideoSessionId()) {
rtsStartEvent.setVideoSessionId(apStreamVideoServer.getVideoSessionId());
}
eventsList.add(rtsStartEvent);
}
return cloudRtpFlowStatsList;
}
protected void processRtsStartSessionEvent(int customerId, long equipmentId, long eventTimestamp,
@@ -1601,7 +1745,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 +1753,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 +1769,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
networkAdminStatus = statusServiceInterface.update(networkAdminStatus);
LOG.info("Updated NetworkAdminStatus {}", networkAdminStatus);
LOG.debug("Updated NetworkAdminStatus {}", networkAdminStatus);
});
@@ -1658,7 +1802,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 +1863,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
if (radiusMetrics.hasLatency()) {
networkProbeMetrics.setRadiusLatencyInMs(radiusMetrics.getLatency());
}
if (radiusMetrics.hasRadiusState()) {
if (radiusMetrics.hasRadiusState()) {
StateUpDownError radiusState = OvsdbToWlanCloudTypeMappingUtility
@@ -1729,7 +1872,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
}
}
if (networkProbe.hasVlanProbe()) {
@@ -1769,7 +1912,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 +1923,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 +1952,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 +2010,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
}
LOG.info("ApClientMetrics Report {}", cMetrics);
LOG.debug("ApClientMetrics Report {}", cMetrics);
}
@@ -1951,18 +2094,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;
}
@@ -2002,6 +2145,9 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
|| ssidConfig.getSecureMode().equals(SecureMode.wpa2PSK)
|| ssidConfig.getSecureMode().equals(SecureMode.wpa2OnlyPSK)) {
latestClientSessionDetails.setSecurityType(SecurityType.PSK);
} else if (ssidConfig.getSecureMode().equals(SecureMode.wpa3OnlySAE)
|| ssidConfig.getSecureMode().equals(SecureMode.wpa3MixedSAE)){
latestClientSessionDetails.setSecurityType(SecurityType.SAE);
} else if (ssidConfig.getSecureMode().equals(SecureMode.wpa2Radius)
|| ssidConfig.getSecureMode().equals(SecureMode.wpaRadius)
|| ssidConfig.getSecureMode().equals(SecureMode.wpa2OnlyRadius)) {
@@ -2009,7 +2155,9 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
latestClientSessionDetails.setEapDetails(new ClientEapDetails());
} else if (ssidConfig.getSecureMode().equals(SecureMode.wpaEAP)
|| ssidConfig.getSecureMode().equals(SecureMode.wpa2EAP)
|| ssidConfig.getSecureMode().equals(SecureMode.wpa2OnlyEAP)) {
|| ssidConfig.getSecureMode().equals(SecureMode.wpa2OnlyEAP)
|| ssidConfig.getSecureMode().equals(SecureMode.wpa3OnlyEAP)
|| ssidConfig.getSecureMode().equals(SecureMode.wpa3MixedEAP)) {
latestClientSessionDetails.setSecurityType(SecurityType.RADIUS);
latestClientSessionDetails.setEapDetails(new ClientEapDetails());
} else {
@@ -2037,7 +2185,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 +2202,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 +2220,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 +2233,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 +2262,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 +2305,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 +2385,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 +2415,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
LOG.info("ApSsidMetrics {}", apSsidMetrics);
LOG.debug("ApSsidMetrics {}", apSsidMetrics);
}
@@ -2313,8 +2461,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 +2532,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

@@ -7,6 +7,7 @@ import java.net.InetAddress;
import java.util.ArrayList;
import java.util.List;
import com.telecominfraproject.wlan.systemevent.models.SystemEvent;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
@@ -39,6 +40,8 @@ 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;
@@ -52,18 +55,21 @@ import com.telecominfraproject.wlan.status.equipment.report.models.ActiveBSSIDs;
import com.telecominfraproject.wlan.status.models.Status;
import com.telecominfraproject.wlan.status.models.StatusDataType;
import sts.OpensyncStats;
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 +170,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())
@@ -239,6 +259,55 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest {
// TODO: implement me when wcs stats reports supported
}
// Verify CallStart, CallStop and CallReport are properly processed and published as
// respective events (5 events in total)
@Test
public void testProcessMqttMessageStringMultipleVideoVoiceReport() {
OpensyncStats.VideoVoiceReport.Builder callStartVoiceReportBuilder = OpensyncStats.VideoVoiceReport.newBuilder().
setCallStart(getDefaultCallStart());
OpensyncStats.VideoVoiceReport.Builder callReportGotPublishVoiceReportBuilder = OpensyncStats.VideoVoiceReport.newBuilder().
setCallReport(getDefaultCallReport(OpensyncStats.CallReport.CallReportReason.GOT_PUBLISH, 121, 1028, 1316, 1888, 298, 2, 100, 200));
OpensyncStats.VideoVoiceReport.Builder callReportRoamedToVoiceReportBuilder = OpensyncStats.VideoVoiceReport.newBuilder().
setCallReport(getDefaultCallReport(OpensyncStats.CallReport.CallReportReason.ROAMED_TO, 123, 1020, 1116, 1345, 223, 0, 102, 203));
OpensyncStats.VideoVoiceReport.Builder callReportRoamedFromVoiceReportBuilder = OpensyncStats.VideoVoiceReport.newBuilder().
setCallReport(getDefaultCallReport(OpensyncStats.CallReport.CallReportReason.ROAMED_FROM, 122, 1029, 1300, 1234, 111, 3, 101, 201));
OpensyncStats.VideoVoiceReport.Builder callStopVoiceReportBuilder = OpensyncStats.VideoVoiceReport.newBuilder().
setCallStop(getDefaultCallStop());
// Create report with multiple voiceReports in one
Report multipleVoiceReportsInOneReport = Report.newBuilder().addVideoVoiceReport(callStartVoiceReportBuilder).
addVideoVoiceReport(callReportGotPublishVoiceReportBuilder).
addVideoVoiceReport(callReportRoamedFromVoiceReportBuilder).
addVideoVoiceReport(callReportRoamedToVoiceReportBuilder).
addVideoVoiceReport(callStopVoiceReportBuilder).
setNodeID("1").
build();
opensyncExternalIntegrationMqttProcessor.populateSipCallReport(null, multipleVoiceReportsInOneReport, 1, 2L, "TestAP", 12L);
Mockito.verify(equipmentMetricsCollectorInterface, Mockito.times(1)).publishEventsBulk(Mockito.anyList());
}
// Create report with 1 voiceReports that contains multiple Calls
// Note that GOT_PUBLISH and ROAMED_FROM are ignored in the CallReport. ROAMED_TO overwrites them
@Test
public void testProcessMqttMessageStringOneVideoVoiceReport() {
OpensyncStats.VideoVoiceReport.Builder videoVoiceReportBuilder = OpensyncStats.VideoVoiceReport.newBuilder().
setCallReport(getDefaultCallReport(OpensyncStats.CallReport.CallReportReason.GOT_PUBLISH, 121, 1028, 1316,1888, 298, 2, 100,200)).
setCallReport(getDefaultCallReport(OpensyncStats.CallReport.CallReportReason.ROAMED_FROM, 122, 1029, 1300,1234, 111, 3, 101,201)).
setCallReport(getDefaultCallReport(OpensyncStats.CallReport.CallReportReason.ROAMED_TO, 123, 1020, 1116,1345, 223, 0, 102,203)).
setCallStart(getDefaultCallStart()).
setCallStop(getDefaultCallStop());
Report oneVoiceReportWithMultipleCallsInOneReport = Report.getDefaultInstance().toBuilder().
addVideoVoiceReport(videoVoiceReportBuilder).
setNodeID("1").
build();
opensyncExternalIntegrationMqttProcessor.populateSipCallReport(null, oneVoiceReportWithMultipleCallsInOneReport, 1, 2L, "TestAP", 12L);
Mockito.verify(equipmentMetricsCollectorInterface, Mockito.times(1)).publishEventsBulk(Mockito.anyList());
}
@Test
public void testpopulateNetworkProbeMetrics() throws Exception {
@@ -297,6 +366,74 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest {
return bssidList;
}
private OpensyncStats.CallStart getDefaultCallStart() {
OpensyncStats.CallStart.Builder callStartBuilder = OpensyncStats.CallStart.newBuilder();
callStartBuilder.setBand(RadioBandType.BAND5G);
callStartBuilder.setChannel(40);
callStartBuilder.addCodecs("110 opus/48000/2");
callStartBuilder.addCodecs("102 iLBC/8000");
callStartBuilder.setClientMac(ByteString.copyFrom("C0:9A:D0:76:A9:69".getBytes()));
callStartBuilder.setDeviceInfo("Test Device");
callStartBuilder.setProviderDomain("skype");
callStartBuilder.setSessionId(123L);
callStartBuilder.setWifiSessionId(1234L);
return callStartBuilder.build();
}
private OpensyncStats.CallStop getDefaultCallStop() {
OpensyncStats.CallStop.Builder callStopBuilder = OpensyncStats.CallStop.newBuilder();
callStopBuilder.setBand(RadioBandType.BAND5G);
callStopBuilder.setChannel(40);
callStopBuilder.addCodecs("110 opus/48000/2");
callStopBuilder.addCodecs("102 iLBC/8000");
callStopBuilder.setClientMac(ByteString.copyFrom("C0:9A:D0:76:A9:69".getBytes()));
callStopBuilder.setCallDuration(1230);
callStopBuilder.setProviderDomain("skype");
callStopBuilder.setSessionId(123L);
callStopBuilder.setWifiSessionId(1234L);
callStopBuilder.setReason(OpensyncStats.CallStop.CallStopReason.BYE_OK);
callStopBuilder.addStats(getRtpFlowStats(121, 1380, 1400,3000, 119, 3, 205,350));
return callStopBuilder.build();
}
private OpensyncStats.RtpFlowStats getRtpFlowStats(int codec, int jitter, int latency, int totalPackets,
int totalPacketsLost, int mos, int firstRtpSeq, int lastRtpSeq) {
OpensyncStats.RtpFlowStats.Builder rtpFlowStatsBuilder = OpensyncStats.RtpFlowStats.newBuilder();
rtpFlowStatsBuilder.setCodec(codec);
rtpFlowStatsBuilder.setBlockCodecs(ByteString.copyFrom(new byte[] { (byte) 0xe6, 0x1 }));
rtpFlowStatsBuilder.setDirection(OpensyncStats.RtpFlowStats.RtpFlowDirection.RTP_DOWNSTREAM);
rtpFlowStatsBuilder.setRtpFlowType(OpensyncStats.RtpFlowStats.RtpFlowType.RTP_VOICE);
rtpFlowStatsBuilder.setJitter(jitter);
rtpFlowStatsBuilder.setLatency(latency);
rtpFlowStatsBuilder.setTotalPacketsSent(totalPackets);
rtpFlowStatsBuilder.setTotalPacketsLost(totalPacketsLost);
rtpFlowStatsBuilder.setMosx100(mos);
rtpFlowStatsBuilder.setRtpSeqFirst(firstRtpSeq);
rtpFlowStatsBuilder.setRtpSeqLast(lastRtpSeq);
return rtpFlowStatsBuilder.build();
}
private OpensyncStats.CallReport getDefaultCallReport(OpensyncStats.CallReport.CallReportReason reason, int codec,
int jitter, int latency, int totalPackets, int totalPacketsLost,
int mos, int firstRtpSeq, int lastRtpSeq) {
OpensyncStats.CallReport.Builder callReportBuilder = OpensyncStats.CallReport.newBuilder();
callReportBuilder.setBand(RadioBandType.BAND5G);
callReportBuilder.setChannel(40);
callReportBuilder.addCodecs("110 opus/48000/2");
callReportBuilder.addCodecs("102 iLBC/8000");
callReportBuilder.setClientMac(ByteString.copyFrom("C0:9A:D0:76:A9:69".getBytes()));
callReportBuilder.setProviderDomain("skype");
callReportBuilder.setSessionId(123L);
callReportBuilder.setWifiSessionId(1234L);
callReportBuilder.setReason(reason);
callReportBuilder.addStats(getRtpFlowStats(codec, jitter, latency, totalPackets, totalPacketsLost,
mos, firstRtpSeq, lastRtpSeq));
return callReportBuilder.build();
}
private List<EventReport> getOpensyncStatsEventReportsList() {
@@ -342,7 +479,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

@@ -4,11 +4,13 @@
"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

@@ -4,11 +4,13 @@
"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

@@ -4,11 +4,13 @@
"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

@@ -4,11 +4,13 @@
"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

@@ -10,6 +10,9 @@ import com.vmware.ovsdb.protocol.operation.notation.Uuid;
public class WifiVifConfigInfo implements Cloneable {
// multi_ap
// {"key":{"enum":["set",["backhaul_bss","backhaul_sta","fronthaul_backhaul_bss","fronthaul_bss","none"]],"type":"string"},"min":0}
public String bridge;
public int btm;
public boolean enabled;
@@ -23,6 +26,10 @@ public class WifiVifConfigInfo implements Cloneable{
public boolean uapsdEnable;
public int vifRadioIdx;
public Map<String, String> security;
public Map<String, String> captivePortal;
public Set<String> captiveAllowlist;
public Map<String, String> customOptions;
public Map<String, String> meshOptions;
public Uuid uuid;
public int vlanId;
@@ -31,6 +38,16 @@ public class WifiVifConfigInfo implements Cloneable{
public Set<String> macList;
public String macListType;
public int ftMobilityDomain;
public boolean wpsPbc;
public boolean wps;
public boolean wds;
public String wpsPbcKeyId;
public boolean mcast2ucast;
public boolean dynamicBeacon;
public int vifDbgLvl;
public Set<Uuid> credentialConfigs;
public String parent;
public String multiAp;
@Override
public WifiVifConfigInfo clone() {
@@ -43,6 +60,21 @@ public class WifiVifConfigInfo implements Cloneable{
if (macList != null) {
ret.macList = new HashSet<>(this.macList);
}
if (captivePortal != null) {
ret.captivePortal = new HashMap<>(this.captivePortal);
}
if (captiveAllowlist != null) {
ret.captiveAllowlist = new HashSet<>(this.captiveAllowlist);
}
if (customOptions != null) {
ret.customOptions = new HashMap<>(this.customOptions);
}
if (meshOptions != null) {
ret.meshOptions = new HashMap<>(this.meshOptions);
}
if (credentialConfigs != null) {
ret.credentialConfigs = new HashSet<>(this.credentialConfigs);
}
return ret;
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Cannot clone ", e);
@@ -51,36 +83,51 @@ public class WifiVifConfigInfo implements Cloneable{
@Override
public int hashCode() {
return Objects.hash(apBridge, bridge, btm, enabled, ftMobilityDomain, ftPsk, groupRekey, ifName, macList,
macListType, minHwMode, mode, rrm, security, ssid, ssidBroadcast, uapsdEnable, uuid, vifRadioIdx,
vlanId);
return Objects.hash(apBridge, bridge, btm, captiveAllowlist, captivePortal, credentialConfigs, customOptions,
dynamicBeacon, enabled, ftMobilityDomain, ftPsk, groupRekey, ifName, macList, macListType, mcast2ucast,
meshOptions, minHwMode, mode, multiAp, parent, rrm, security, ssid, ssidBroadcast, uapsdEnable, uuid,
vifDbgLvl, vifRadioIdx, vlanId, wds, wps, wpsPbc, wpsPbcKeyId);
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
if (this == obj)
return true;
}
if (!(obj instanceof WifiVifConfigInfo)) {
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
}
WifiVifConfigInfo other = (WifiVifConfigInfo) obj;
return Objects.equals(apBridge, other.apBridge) && Objects.equals(bridge, other.bridge) && btm == other.btm
&& Objects.equals(captiveAllowlist, other.captiveAllowlist)
&& Objects.equals(captivePortal, other.captivePortal)
&& Objects.equals(credentialConfigs, other.credentialConfigs)
&& Objects.equals(customOptions, other.customOptions) && dynamicBeacon == other.dynamicBeacon
&& enabled == other.enabled && ftMobilityDomain == other.ftMobilityDomain && ftPsk == other.ftPsk
&& groupRekey == other.groupRekey && Objects.equals(ifName, other.ifName)
&& Objects.equals(macList, other.macList) && Objects.equals(macListType, other.macListType)
&& Objects.equals(minHwMode, other.minHwMode) && Objects.equals(mode, other.mode) && rrm == other.rrm
&& mcast2ucast == other.mcast2ucast && Objects.equals(meshOptions, other.meshOptions)
&& Objects.equals(minHwMode, other.minHwMode) && Objects.equals(mode, other.mode)
&& Objects.equals(multiAp, other.multiAp) && Objects.equals(parent, other.parent) && rrm == other.rrm
&& Objects.equals(security, other.security) && Objects.equals(ssid, other.ssid)
&& Objects.equals(ssidBroadcast, other.ssidBroadcast) && uapsdEnable == other.uapsdEnable
&& Objects.equals(uuid, other.uuid) && vifRadioIdx == other.vifRadioIdx && vlanId == other.vlanId;
&& Objects.equals(uuid, other.uuid) && vifDbgLvl == other.vifDbgLvl && vifRadioIdx == other.vifRadioIdx
&& vlanId == other.vlanId && wds == other.wds && wps == other.wps && wpsPbc == other.wpsPbc
&& Objects.equals(wpsPbcKeyId, other.wpsPbcKeyId);
}
@Override
public String toString() {
return String.format(
"WifiVifConfigInfo [bridge=%s, ap_bridge=%s, btm=%s, enabled=%s, ftPsk=%s, ftMobilityDomain=%s, groupRekey=%s, ifName=%s, minHwMode=%s, mode=%s, rrm=%s, ssid=%s, ssidBroadcast=%s, uapsdEnable=%s, vifRadioIdx=%s, security=%s, uuid=%s, vlanId=%s, macList=%s, macListType=%s]",
bridge, apBridge, btm, enabled, ftPsk, ftMobilityDomain, groupRekey, ifName, minHwMode, mode, rrm, ssid, ssidBroadcast, uapsdEnable,
vifRadioIdx, security, uuid, vlanId, macList, macListType);
return "WifiVifConfigInfo [bridge=" + bridge + ", btm=" + btm + ", enabled=" + enabled + ", ftPsk=" + ftPsk
+ ", groupRekey=" + groupRekey + ", ifName=" + ifName + ", mode=" + mode + ", rrm=" + rrm + ", ssid="
+ ssid + ", ssidBroadcast=" + ssidBroadcast + ", uapsdEnable=" + uapsdEnable + ", vifRadioIdx="
+ vifRadioIdx + ", security=" + security + ", captivePortal=" + captivePortal + ", captiveAllowlist="
+ captiveAllowlist + ", customOptions=" + customOptions + ", meshOptions=" + meshOptions + ", uuid="
+ uuid + ", vlanId=" + vlanId + ", apBridge=" + apBridge + ", minHwMode=" + minHwMode + ", macList="
+ macList + ", macListType=" + macListType + ", ftMobilityDomain=" + ftMobilityDomain + ", wpsPbc="
+ wpsPbc + ", wps=" + wps + ", wds=" + wds + ", wpsPbcKeyId=" + wpsPbcKeyId + ", mcast2ucast="
+ mcast2ucast + ", dynamicBeacon=" + dynamicBeacon + ", vifDbgLvl=" + vifDbgLvl + ", credentialConfigs="
+ credentialConfigs + ", parent=" + parent + ", multiAp=" + multiAp + "]";
}
}

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