Compare commits

..

32 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
christieunitt-cu
01fa2d3977 Merge pull request #16 from Telecominfraproject/WIFI-1119-location-activity
Clean up LocationActivityDetails
2020-11-25 14:42:48 -05:00
Christie Unitt
f0daa18906 Clean up LocationActivityDetails 2020-11-24 20:35:43 -05:00
Mike Hansen
d6d454bfc1 WIFI-1110: vifS is not applying as wm is crashing due to garbage in /etc/wireless/config --> per AP request, changing order for processing config change and ap connect to cloud, cleanup/remove RRM Config prior to removing SSIDs 2020-11-24 17:01:46 -05:00
Mike Hansen
f30b1ca02e WIFI-551: Status API reports radiusStatus as null 2020-11-24 12:22:47 -05:00
Mike Hansen
84f3d4ea5d Restore Dao function to write Uuid for created VIFs into the Wifi_Radio_Config db table, this was removed initially per a request from AP team, but has been re-evaluated to be necessary. Increase log level to info for MqttMessageProcessor to facilitate stats/metrics analysis 2020-11-20 14:51:22 -05:00
Mike Hansen
a5fb061359 WIFI-1095: SDK BE: Support Radius Accounting support -- use value '0' for radius_acct_interval when no value is configured 2020-11-20 10:25:59 -05:00
Mike Hansen
d8ff2f1a31 WIFI-1096: Configure multicast and beacon rate in Wifi_RRM_Config 2020-11-19 17:11:02 -05:00
Mike Hansen
1d1b5f1c42 Radius Accounting Interval set on AP when using EAP or Radius security 2020-11-19 14:52:38 -05:00
Mike Hansen
74587349fe WIFI-1075: Cloud Backend update profile models 2020-11-18 15:56:08 -05:00
Mike Hansen
b463d6720a Merge pull request #14 from Telecominfraproject/feature/NETEXP-485
Feature/NETEXP 485
2020-11-18 11:28:02 -05:00
Mike Hansen
036bd8ccc2 WIFI-1074: Make Profile Names Specific and Clear - updates to static config files for testing 2020-11-18 10:16:29 -05:00
Mike Hansen
eebdfba431 Maven dependencies clean-up -- cloud dependencies add 2020-11-18 08:22:52 -05:00
Mike Hansen
52a5a2ac72 Maven dependencies clean-up 2020-11-18 08:03:01 -05:00
Mike Hansen
44b3d5e526 WIFI-1084: Opensync Gateway occasionally creates new Ssid with existing if_name 2020-11-17 16:06:57 -05:00
Mike Hansen
f9ece26ccf WIFI-1075: Cloud Backend update profile models 2020-11-17 10:39:43 -05:00
Mike Hansen
dc8e22a1b5 WIFI-1068: Cloud Backend: Extend or replace existing base_model CountryCode 2020-11-16 14:24:45 -05:00
62 changed files with 7336 additions and 6585 deletions

View File

@@ -13,21 +13,17 @@
<name>opensync-ext-cloud</name>
<description>Configuration interface that provides config from the cloud services.</description>
<dependencies>
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>opensync-ext-interface</artifactId>
<version>${tip-wlan-cloud.release.version}</version>
</dependency>
<!-- <dependency> -->
<!-- <groupId>com.telecominfraproject.wlan</groupId> -->
<!-- <artifactId>opensync-ext-interface</artifactId> -->
<!-- <version>${tip-wlan-cloud.release.version}</version> -->
<!-- </dependency> -->
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>opensync-gateway</artifactId>
<version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency>
<artifactId>base-container</artifactId>
<groupId>com.telecominfraproject.wlan</groupId>
<version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency>
<artifactId>base-client</artifactId>
<groupId>com.telecominfraproject.wlan</groupId>

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);
}
}
@@ -490,7 +458,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
protocolStatusData.setCloudCfgDataVersion(42L);
protocolStatusData.setReportedCfgDataVersion(42L);
protocolStatusData.setCountryCode("CA");
protocolStatusData.setReportedCC(CountryCode.ca);
protocolStatusData.setReportedCC(CountryCode.CA);
protocolStatusData.setReportedHwVersion(connectNodeInfo.platformVersion);
if (connectNodeInfo.versionMatrix.containsKey(OvsdbStringConstants.FW_IMAGE_ACTIVE_KEY)) {
protocolStatusData.setReportedSwVersion(
@@ -572,6 +540,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
networkAdminStatusRec = new Status();
networkAdminStatusRec.setCustomerId(ce.getCustomerId());
networkAdminStatusRec.setEquipmentId(ce.getId());
networkAdminStatusRec.setStatusDataType(StatusDataType.NETWORK_ADMIN);
NetworkAdminStatusData statusData = new NetworkAdminStatusData();
networkAdminStatusRec.setDetails(statusData);
}
@@ -580,13 +549,15 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
netAdminStatusData.setDhcpStatus(StatusCode.normal);
netAdminStatusData.setCloudLinkStatus(StatusCode.normal);
netAdminStatusData.setDnsStatus(StatusCode.normal);
netAdminStatusData.setRadiusStatus(StatusCode.normal);
networkAdminStatusRec.setDetails(netAdminStatusData);
networkAdminStatusRec = statusServiceInterface.update(networkAdminStatusRec);
} catch (Exception e) {
LOG.debug("Exception in updateApStatus", e);
LOG.error("Exception in updateApStatus", e);
throw e;
}
}
@@ -760,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());
@@ -779,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);
@@ -801,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);
@@ -825,8 +815,8 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
ret.setSsidProfile(
profileContainer.getChildrenOfType(equipmentConfig.getProfileId(), ProfileType.ssid));
ret.setMetricsProfiles(
profileContainer.getChildrenOfType(equipmentConfig.getProfileId(), ProfileType.metrics));
ret.setMetricsProfiles(profileContainer.getChildrenOfType(equipmentConfig.getProfileId(),
ProfileType.service_metrics_collection_config));
Set<Profile> radiusSet = new HashSet<>();
Set<Long> captiveProfileIds = new HashSet<>();
@@ -842,7 +832,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
for (Profile ssidProfile : ret.getSsidProfile()) {
hotspot20ProfileSet
.addAll(profileContainer.getChildrenOfType(ssidProfile.getId(), ProfileType.hotspot_2pt0));
.addAll(profileContainer.getChildrenOfType(ssidProfile.getId(), ProfileType.passpoint));
radiusSet
.addAll(profileContainer.getChildrenOfType(ret.getApProfile().getId(), ProfileType.radius));
@@ -861,12 +851,12 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
if (hotspot20ProfileSet.size() > 0) {
for (Profile hotspot20Profile : hotspot20ProfileSet) {
hotspot20OperatorSet.addAll(
profileContainer.getChildrenOfType(hotspot20Profile.getId(), ProfileType.operator));
hotspot20VenueSet.addAll(
profileContainer.getChildrenOfType(hotspot20Profile.getId(), ProfileType.venue));
hotspot20ProviderSet.addAll(
profileContainer.getChildrenOfType(hotspot20Profile.getId(), ProfileType.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);
@@ -1131,9 +1121,10 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
if (protocolStatus != null) {
protocolStatusData = (EquipmentProtocolStatusData) protocolStatus.getDetails();
if (!protocolStatusData.getReportedCC()
.equals(CountryCode.valueOf(radioState.getCountry().toLowerCase()))) {
protocolStatusData.setReportedCC(CountryCode.valueOf(radioState.getCountry().toLowerCase()));
if (!protocolStatusData.getReportedCC().equals(CountryCode.getByName((radioState.getCountry())))) {
LOG.debug("Protocol Status reportedCC {} radioStatus.getCountry {} radioStatus CountryCode fromName {}", protocolStatusData.getReportedCC(), radioState.getCountry(), CountryCode.getByName((radioState.getCountry())));
protocolStatusData.setReportedCC(CountryCode.getByName((radioState. getCountry())));
protocolStatus.setDetails(protocolStatusData);
} else {
@@ -1450,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;
}
@@ -1458,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);
@@ -1484,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;
@@ -1513,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)
@@ -1581,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
@@ -1695,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);
@@ -1734,7 +1667,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
}
bssidList.removeAll(toBeDeleted);
if (bssidList != null) bssidList.removeAll(toBeDeleted);
statusDetails.setActiveBSSIDs(bssidList);
@@ -1771,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) {
@@ -1788,7 +1722,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
}
}
}
@Override
@@ -1813,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);
@@ -1843,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
@@ -1857,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);
@@ -1937,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
@@ -1951,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;
@@ -41,7 +42,7 @@ 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;
@@ -74,7 +75,10 @@ import com.telecominfraproject.wlan.status.equipment.report.models.EquipmentPerR
import com.telecominfraproject.wlan.status.equipment.report.models.OperatingSystemPerformance;
import com.telecominfraproject.wlan.status.equipment.report.models.RadioUtilizationReport;
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;
@@ -91,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;
@@ -147,9 +152,9 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
private CloudEventDispatcherInterface equipmentMetricsCollectorInterface;
void processMqttMessage(String topic, WCStatsReport wcStatsReport) {
LOG.debug("Received WCStatsReport {}", wcStatsReport.toString());
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);
@@ -289,14 +294,13 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
void processEventReport(Report report, int customerId, long equipmentId, String apId, long locationId) {
report.getEventReportList().stream().forEach(e -> {
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()) {
@@ -442,7 +510,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
clientSessionDetails.setAssociationState(AssociationState._802_11_Associated);
if (clientSession.getDetails() == null) {
clientSession.setDetails(clientSessionDetails);
} else {
@@ -453,7 +520,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
}
}
@@ -509,7 +575,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
clientSessionDetails.setSessionId(apEventClientSession.getSessionId());
if (clientDisconnectEvent.hasLrcvUpTsInUs()) {
clientSessionDetails.setLastRxTimestamp(clientDisconnectEvent.getLrcvUpTsInUs());
}
@@ -527,7 +592,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
clientSessionDetails.setAssociationState(AssociationState.Disconnected);
if (clientSession.getDetails() == null) {
clientSession.setDetails(clientSessionDetails);
} else {
@@ -536,9 +600,8 @@ 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");
}
}
}
@@ -589,7 +652,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
clientSessionDetails.setAssociationState(AssociationState._802_11_Authenticated);
}
if (clientSession.getDetails() == null) {
clientSession.setDetails(clientSessionDetails);
} else {
@@ -598,9 +660,8 @@ 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");
}
}
}
@@ -673,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");
}
}
}
@@ -709,7 +770,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
clientSession.setLocationId(locationId);
clientSession.setMacAddress(new MacAddress(clientFailureEvent.getStaMac()));
ClientSessionDetails clientSessionDetails = new ClientSessionDetails();
if (clientFailureEvent.hasSsid()) {
@@ -736,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");
}
}
}
@@ -772,10 +832,8 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
clientSession.setLocationId(locationId);
clientSession.setMacAddress(new MacAddress(clientFirstDataEvent.getStaMac()));
ClientSessionDetails clientSessionDetails = new ClientSessionDetails();
if (clientFirstDataEvent.hasFdataRxUpTsInUs()) {
clientSessionDetails.setFirstDataRcvdTimestamp(clientFirstDataEvent.getFdataRxUpTsInUs());
}
@@ -797,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");
}
}
}
@@ -833,12 +891,10 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
clientSession.setLocationId(locationId);
clientSession.setMacAddress(new MacAddress(clientIdEvent.getCltMac()));
ClientSessionDetails clientSessionDetails = new ClientSessionDetails();
clientSessionDetails.setSessionId(apEventClientSession.getSessionId());
if (clientSession.getDetails() == null) {
clientSession.setDetails(clientSessionDetails);
} else {
@@ -848,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");
}
}
}
@@ -886,10 +942,8 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
ClientSessionDetails clientSessionDetails = new ClientSessionDetails();
clientSessionDetails.setSessionId(apEventClientSession.getSessionId());
try {
clientSessionDetails
.setIpAddress(InetAddress.getByAddress(clientIpEvent.getIpAddr().toByteArray()));
@@ -907,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");
}
}
}
@@ -974,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");
}
}
}
@@ -994,7 +1048,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
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);
@@ -1014,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();
@@ -1101,156 +1371,10 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
cloudRtpStats.setPacketLossPercentage(apRtpFlowStats.getPacketLossPercent());
}
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,
@@ -1339,10 +1463,9 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
}
void populateApNodeMetrics(List<ServiceMetric> metricRecordList, Report report, int customerId, long equipmentId,
long locationId) {
LOG.debug("populateApNodeMetrics for Customer {} Equipment {}", customerId, equipmentId);
LOG.info("populateApNodeMetrics for Customer {} Equipment {}", customerId, equipmentId);
ApNodeMetrics apNodeMetrics = new ApNodeMetrics();
ServiceMetric smr = new ServiceMetric(customerId, equipmentId);
@@ -1535,7 +1658,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
// we need to perform a weighted average here because the
// samples are in percentage, and may be of different durations
busyTx += surveySample.getBusyTx() * surveySample.getDurationMs();
busyRx += surveySample.getBusyRx() * surveySample.getDurationMs();
busy += surveySample.getBusy() * surveySample.getDurationMs();
@@ -1543,7 +1665,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
totalDurationMs += surveySample.getDurationMs();
noiseList.add(getNegativeSignedIntFrom8BitUnsigned(surveySample.getNoise()));
}
if (totalDurationMs > 0) {
@@ -1593,6 +1714,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
populateNetworkProbeMetrics(report, apNodeMetrics);
updateNetworkAdminStatusReport(customerId, equipmentId, apNodeMetrics);
RadioUtilizationReport radioUtilizationReport = new RadioUtilizationReport();
radioUtilizationReport.setAvgNoiseFloor(avgNoiseFloor);
radioUtilizationReport.setRadioUtilization(radioUtilizationDetailsMap);
@@ -1601,9 +1723,78 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
updateDeviceStatusRadioUtilizationReport(customerId, equipmentId, radioUtilizationReport);
}
private void updateNetworkAdminStatusReport(int customerId, long equipmentId, ApNodeMetrics apNodeMetrics) {
apNodeMetrics.getNetworkProbeMetrics().forEach(n -> {
LOG.info("Update NetworkAdminStatusReport for NetworkProbeMetrics {}", n.toString());
Status networkAdminStatus = statusServiceInterface.getOrNull(customerId, equipmentId,
StatusDataType.NETWORK_ADMIN);
if (networkAdminStatus == null) {
networkAdminStatus = new Status();
networkAdminStatus.setCustomerId(customerId);
networkAdminStatus.setEquipmentId(equipmentId);
networkAdminStatus.setCreatedTimestamp(System.currentTimeMillis());
networkAdminStatus.setStatusDataType(StatusDataType.NETWORK_ADMIN);
networkAdminStatus.setDetails(new NetworkAdminStatusData());
networkAdminStatus = statusServiceInterface.update(networkAdminStatus);
}
NetworkAdminStatusData statusData = (NetworkAdminStatusData) networkAdminStatus.getDetails();
if (n.getDnsState() == null) {
LOG.debug("No DnsState present in networkProbeMetrics, DnsState and CloudLinkStatus set to 'normal");
statusData.setDnsStatus(StatusCode.normal);
statusData.setCloudLinkStatus(StatusCode.normal);
} else {
statusData.setDnsStatus(stateUpDownErrorToStatusCode(n.getDnsState()));
statusData.setCloudLinkStatus(stateUpDownErrorToStatusCode(n.getDnsState()));
}
if (n.getDhcpState() == null) {
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.debug("No RadiusState present in networkProbeMetrics, set to 'normal");
statusData.setRadiusStatus(StatusCode.normal);
} else {
statusData.setRadiusStatus(stateUpDownErrorToStatusCode(n.getRadiusState()));
}
networkAdminStatus.setDetails(statusData);
networkAdminStatus = statusServiceInterface.update(networkAdminStatus);
LOG.debug("Updated NetworkAdminStatus {}", networkAdminStatus);
});
}
private static StatusCode stateUpDownErrorToStatusCode(StateUpDownError state) {
switch (state) {
case enabled:
return StatusCode.normal;
case error:
return StatusCode.error;
case disabled:
return StatusCode.disabled;
case UNSUPPORTED:
return StatusCode.requiresAttention;
default:
return StatusCode.normal;
}
}
void updateDeviceStatusRadioUtilizationReport(int customerId, long equipmentId,
RadioUtilizationReport radioUtilizationReport) {
LOG.debug(
LOG.info(
"Processing updateDeviceStatusRadioUtilizationReport for equipmentId {} with RadioUtilizationReport {}",
equipmentId, radioUtilizationReport);
@@ -1657,7 +1848,8 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
ipAddress = InetAddress.getByName(dnsProbeMetricFromAp.getServerIP());
cloudDnsProbeMetric.setDnsServerIp(ipAddress);
} catch (UnknownHostException e) {
LOG.error("Could not get DNS Server IP from network_probe metrics", e);
LOG.error("Could not get DNS Server IP from network_probe service_metrics_collection_config",
e);
}
}
@@ -1671,7 +1863,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
if (radiusMetrics.hasLatency()) {
networkProbeMetrics.setRadiusLatencyInMs(radiusMetrics.getLatency());
}
if (radiusMetrics.hasRadiusState()) {
if (radiusMetrics.hasRadiusState()) {
StateUpDownError radiusState = OvsdbToWlanCloudTypeMappingUtility
@@ -1681,7 +1872,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
}
}
if (networkProbe.hasVlanProbe()) {
@@ -1693,7 +1884,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
StateUpDownError dhcpState = OvsdbToWlanCloudTypeMappingUtility
.getCloudMetricsStateFromOpensyncStatsStateUpDown(vlanMetrics.getDhcpState());
networkProbeMetrics.setDhcpState(dhcpState);
}
@@ -1727,14 +1917,13 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
void populateApClientMetrics(List<ServiceMetric> metricRecordList, Report report, int customerId, long equipmentId,
long locationId) {
LOG.debug("populateApClientMetrics for Customer {} Equipment {}", customerId, equipmentId);
LOG.info("populateApClientMetrics for Customer {} Equipment {}", customerId, equipmentId);
for (ClientReport clReport : report.getClientsList()) {
for (Client cl : clReport.getClientListList()) {
if (cl.getMacAddress() == null) {
LOG.debug(
"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;
}
@@ -1831,7 +2020,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
void populateNeighbourScanReports(List<ServiceMetric> metricRecordList, Report report, int customerId,
long equipmentId, long locationId) {
LOG.debug("populateNeighbourScanReports for Customer {} Equipment {}", customerId, equipmentId);
LOG.info("populateNeighbourScanReports for Customer {} Equipment {}", customerId, equipmentId);
for (Neighbor neighbor : report.getNeighborsList()) {
@@ -1905,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;
}
@@ -1956,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)) {
@@ -1963,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 {
@@ -1974,7 +2168,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
latestClientSessionDetails.setDynamicVlan(ssidConfig.getVlanId());
}
RadioBasedSsidConfiguration radioConfig = ssidConfig.getRadioBasedConfigs().get(radioType);
latestClientSessionDetails
.setIs11KUsed(radioConfig.getEnable80211k() != null ? radioConfig.getEnable80211k() : false);
@@ -2003,12 +2196,11 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
ClientSessionMetricDetails calculateClientSessionMetricDetails(sts.OpensyncStats.Client client, long timestamp) {
LOG.debug("calculateClientSessionMetricDetails for Client {} at timestamp {}", client.getMacAddress(),
LOG.info("calculateClientSessionMetricDetails for Client {} at timestamp {}", client.getMacAddress(),
timestamp);
ClientSessionMetricDetails metricDetails = new ClientSessionMetricDetails();
if (LOG.isDebugEnabled())
LOG.debug("Stats: {} DurationMs {}", client.getStats(), client.getDurationMs());
int rssi = client.getStats().getRssi();
@@ -2049,7 +2241,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
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);
@@ -2060,16 +2252,14 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
void populateApSsidMetrics(List<ServiceMetric> metricRecordList, Report report, int customerId, long equipmentId,
String apId, long locationId) {
LOG.debug("populateApSsidMetrics for Customer {} Equipment {}", customerId, equipmentId);
LOG.info("populateApSsidMetrics for Customer {} Equipment {}", customerId, equipmentId);
ServiceMetric smr = new ServiceMetric(customerId, equipmentId);
smr.setLocationId(locationId);
ApSsidMetrics apSsidMetrics = new ApSsidMetrics();
smr.setDetails(apSsidMetrics);
metricRecordList.add(smr);
for (ClientReport clientReport : report.getClientsList()) {
LOG.debug("ClientReport for channel {} RadioBand {}", clientReport.getChannel(), clientReport.getBand());
@@ -2120,7 +2310,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
for (Client client : clientReport.getClientListList()) {
if (client.hasStats()) {
if (client.hasSsid()) {
ssid = client.getSsid();
}
@@ -2145,7 +2334,8 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
try {
if (client.hasConnected() && client.getConnected() && client.hasMacAddress()) {
// update metrics for connected client
// update service_metrics_collection_config for
// connected client
ClientSession session = handleClientSessionMetricsUpdate(customerId, equipmentId,
locationId, radioType, clientReport.getTimestampMs(), client);
if (session != null) {
@@ -2155,7 +2345,8 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
// Make sure, if we have a session for this client,
// it
// shows disconnected.
// update any metrics that need update if the
// update any service_metrics_collection_config that
// need update if the
// disconnect occured during this window
if (client.hasMacAddress()) {
ClientSession session = clientServiceInterface.getSessionOrNull(customerId, equipmentId,
@@ -2193,9 +2384,8 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
continue; // not connected
}
} catch (Exception e) {
LOG.debug("Unabled to update client {} session {}", client, e);
LOG.error("Unabled to update client {}", client, e);
}
}
@@ -2267,12 +2457,22 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
void populateChannelInfoReports(List<ServiceMetric> metricRecordList, Report report, int customerId,
long equipmentId, long locationId, long profileId) {
LOG.debug("populateChannelInfoReports for Customer {} Equipment {}", customerId, equipmentId);
LOG.info("populateChannelInfoReports for Customer {} Equipment {}", customerId, equipmentId);
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()) {
@@ -2327,7 +2527,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
channelInfoReports.setChannelInformationReportsPerRadio(channelInfoMap);
}
channelInfoReports.setChannelInformationReportsPerRadio(channelInfoMap);
smr.setDetails(channelInfoReports);
smr.setCreatedTimestamp(survey.getTimestampMs());
@@ -2337,10 +2536,8 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
}
int getNegativeSignedIntFrom8BitUnsigned(int unsignedValue) {
byte b = (byte) Integer.parseInt(Integer.toHexString(unsignedValue), 16);
return b;

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() {
@@ -697,7 +682,7 @@ public class OpensyncExternalIntegrationCloudTest {
protocolStatus.setCustomerId(2);
protocolStatus.setEquipmentId(1L);
EquipmentProtocolStatusData protocolStatusData = new EquipmentProtocolStatusData();
protocolStatusData.setReportedCC(CountryCode.ca);
protocolStatusData.setReportedCC(CountryCode.CA);
protocolStatus.setDetails(protocolStatusData);
protocolStatus.setStatusDataType(StatusDataType.PROTOCOL);

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

@@ -22,11 +22,7 @@
<artifactId>tip-wlan-opensync-protobuf</artifactId>
<version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency>
<artifactId>customer-models</artifactId>
<groupId>com.telecominfraproject.wlan</groupId>
<version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency>
<artifactId>equipment-models</artifactId>
<groupId>com.telecominfraproject.wlan</groupId>
@@ -47,11 +43,7 @@
<groupId>com.telecominfraproject.wlan</groupId>
<version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency>
<artifactId>client-models</artifactId>
<groupId>com.telecominfraproject.wlan</groupId>
<version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency>
<groupId>com.vmware.ovsdb</groupId>

View File

@@ -12,7 +12,7 @@
<dependencies>
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>opensync-ext-interface</artifactId>
<artifactId>opensync-gateway</artifactId>
<version>${tip-wlan-cloud.release.version}</version>
</dependency>
</dependencies>

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

@@ -10,55 +10,48 @@
"countryCode" : "ca",
"maintenanceWindow" : null,
"rrmEnabled" : true,
"dailyRebalancingDetails" : {
"dailyActivityDetails" : {
"SUNDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"MONDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"TUESDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"WEDNESDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"THURSDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"FRIDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"SATURDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
}
}
},

View File

@@ -1,6 +1,6 @@
{
"model_type": "Profile",
"id": 17,
"id": 12,
"customerId": 2,
"profileType": "equipment_ap",
"name": "ApProfile-3-radios",
@@ -20,6 +20,11 @@
"syntheticClientEnabled": true,
"ledControlEnabled": true,
"equipmentDiscovery": false,
"greTunnelName": null,
"greParentIfName": null,
"greLocalInetAddr": null,
"greRemoteInetAddr": null,
"greRemoteMacAddr": null,
"radioMap": {
"is2dot4GHz": {
"model_type": "RadioProfileConfiguration",
@@ -39,12 +44,13 @@
},
"profileType": "equipment_ap"
},
"createdTimestamp": 1602182806348,
"lastModifiedTimestamp": 1602182806348,
"createdTimestamp": 1606778369934,
"lastModifiedTimestamp": 1606778443413,
"childProfileIds": [
2,
16,
5,
10,
11,
13
15
]
}

View File

@@ -1,16 +1,16 @@
[
{
{
"model_type": "Profile",
"id": 10,
"id": 24,
"customerId": 2,
"profileType": "hotspot_2pt0",
"name": "TipWlan-Hotspot20-Config",
"profileType": "passpoint",
"name": "TipWlan-Passpoint-Config",
"details": {
"model_type": "Hotspot2Profile",
"model_type": "PasspointProfile",
"enableInterworkingAndHs20": true,
"hessid": null,
"accessNetworkType": "free_public_network",
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
"passpointAccessNetworkType": "free_public_network",
"passpointNetworkAuthenticationType": "acceptance_of_terms_and_conditions",
"additionalStepsRequiredForAccess": 0,
"deauthRequestTimeout": 0,
"operatingClass": 0,
@@ -29,10 +29,10 @@
"internetConnectivity": true,
"connectionCapabilitySet": [
{
"model_type": "ConnectionCapability",
"model_type": "PasspointConnectionCapability",
"connectionCapabilitiesPortNumber": 8888,
"connectionCapabilitiesIpProtocol": "TCP",
"connectionCapabilitiesStatus": "open"
"connectionCapabilitiesStatus": "open",
"connectionCapabilitiesIpProtocol": "TCP"
}
],
"ipAddressTypeAvailability": "public_IPv4_address_available",
@@ -45,28 +45,27 @@
"disableDownstreamGroupAddressedForwarding": false,
"enable2pt4GHz": true,
"enable5GHz": true,
"associatedAccessSsidNames": [
"TipWlan-cloud-hotspot-access"
"associatedAccessSsidProfileIds": [
15
],
"osuSsidName": "TipWlan-cloud-3-radios",
"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
],
"profileType": "hotspot_2pt0",
"associatedSsids": [
"TipWlan-cloud-hotspot-access"
]
"accessNetworkType": "free_public_network",
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
"profileType": "passpoint"
},
"createdTimestamp": 1602182806040,
"lastModifiedTimestamp": 1602182806040,
"createdTimestamp": 1606778370807,
"lastModifiedTimestamp": 1606778370807,
"childProfileIds": [
6,
7,
8,
9
17,
18,
19,
20
]
}
}
]

View File

@@ -1,16 +1,16 @@
[
{
{
"model_type": "Profile",
"id": 8,
"id": 19,
"customerId": 2,
"profileType": "id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider",
"profileType": "passpoint_osu_id_provider",
"name": "TipWlan-Passpoint-OSU-Provider",
"details": {
"model_type": "Hotspot20IdProviderProfile",
"model_type": "PasspointOsuProviderProfile",
"domainName": "rogers.com",
"mccMncList": [
{
"model_type": "MccMnc",
"model_type": "PasspointMccMnc",
"mcc": 302,
"mnc": 720,
"iso": "ca",
@@ -22,7 +22,7 @@
],
"naiRealmList": [
{
"model_type": "NaiRealmInformation",
"model_type": "PasspointNaiRealmInformation",
"naiRealms": [
"rogers.com"
],
@@ -44,7 +44,7 @@
],
"osuIconList": [
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
@@ -55,7 +55,7 @@
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
@@ -66,7 +66,7 @@
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
@@ -77,10 +77,10 @@
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/rogers/",
"osuServerUri": "https://example.com/osu/rogers",
"osuFriendlyName": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider rogers",
@@ -88,7 +88,7 @@
"asDuple": "eng:Example provider rogers"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur rogers",
@@ -104,7 +104,7 @@
],
"osuServiceDescription": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services rogers",
@@ -112,7 +112,7 @@
"asDuple": "eng:Example services rogers"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services rogers",
@@ -120,24 +120,31 @@
"asDuple": "fra:Exemples de services rogers"
}
],
"profileType": "id_provider"
"roamingOi": [
1,
2,
3,
4
],
"profileType": "passpoint_osu_id_provider"
},
"createdTimestamp": 1602182805654,
"lastModifiedTimestamp": 1602182805654,
"childProfileIds": []
},
{
"createdTimestamp": 1606778370345,
"lastModifiedTimestamp": 1606778370345,
"childProfileIds": [
]
},
{
"model_type": "Profile",
"id": 9,
"id": 20,
"customerId": 2,
"profileType": "id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider-2",
"profileType": "passpoint_osu_id_provider",
"name": "TipWlan-Passpoint-OSU-Provider-2",
"details": {
"model_type": "Hotspot20IdProviderProfile",
"model_type": "PasspointOsuProviderProfile",
"domainName": "telus.com",
"mccMncList": [
{
"model_type": "MccMnc",
"model_type": "PasspointMccMnc",
"mcc": 302,
"mnc": 220,
"iso": "ca",
@@ -149,7 +156,7 @@
],
"naiRealmList": [
{
"model_type": "NaiRealmInformation",
"model_type": "PasspointNaiRealmInformation",
"naiRealms": [
"telus.com"
],
@@ -171,7 +178,7 @@
],
"osuIconList": [
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
@@ -182,7 +189,7 @@
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
@@ -193,7 +200,7 @@
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
@@ -204,10 +211,10 @@
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/telus/",
"osuServerUri": "https://example.com/osu/telus",
"osuFriendlyName": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider telus",
@@ -215,7 +222,7 @@
"asDuple": "eng:Example provider telus"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur telus",
@@ -231,7 +238,7 @@
],
"osuServiceDescription": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services telus",
@@ -239,7 +246,7 @@
"asDuple": "eng:Example services telus"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services telus",
@@ -247,10 +254,17 @@
"asDuple": "fra:Exemples de services telus"
}
],
"profileType": "id_provider"
"roamingOi": [
1,
2,
3,
4
],
"profileType": "passpoint_osu_id_provider"
},
"createdTimestamp": 1602182805660,
"lastModifiedTimestamp": 1602182805660,
"childProfileIds": []
}
"createdTimestamp": 1606778370351,
"lastModifiedTimestamp": 1606778370351,
"childProfileIds": [
]
}
]

View File

@@ -1,16 +1,16 @@
[
{
"model_type": "Profile",
"id": 2,
"id": 10,
"customerId": 2,
"profileType": "metrics",
"name": "Metrics-Profile-3-radios",
"profileType": "service_metrics_collection_config",
"name": "Metrics-Profile-3-Radios",
"details": {
"model_type": "ServiceMetricsCollectionConfigProfile",
"radioTypes": [
"is5GHzU",
"is5GHzL",
"is2dot4GHz"
"is2dot4GHz",
"is5GHzU"
],
"serviceMetricDataTypes": [
"ApNode",
@@ -29,9 +29,9 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode"
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -41,9 +41,9 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode"
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -53,9 +53,9 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApNode"
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -65,33 +65,33 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApNode"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode"
"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": [
@@ -99,7 +99,7 @@
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"radioType": "is5GHzU",
"serviceMetricDataType": "ApSsid"
},
{
@@ -113,7 +113,7 @@
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApSsid"
}
],
@@ -122,7 +122,7 @@
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"radioType": "is5GHzU",
"serviceMetricDataType": "Client"
},
{
@@ -136,7 +136,7 @@
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Client"
}
],
@@ -144,38 +144,14 @@
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "Channel"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Channel"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Channel"
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -185,95 +161,83 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzU",
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"serviceMetricDataType": "Channel"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Channel"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Channel"
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
}
],
"Neighbour": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "Neighbour"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Neighbour"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Neighbour"
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Neighbour"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "Neighbour"
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -283,16 +247,53 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Neighbour"
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"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": "metrics"
"profileType": "service_metrics_collection_config"
},
"createdTimestamp": 1602113058699,
"lastModifiedTimestamp": 1602113058699,
"childProfileIds": []
"createdTimestamp": 1606778369931,
"lastModifiedTimestamp": 1606778369931,
"childProfileIds": [
]
}
]

View File

@@ -1,25 +1,25 @@
[
{
{
"model_type": "Profile",
"id": 6,
"id": 17,
"customerId": 2,
"profileType": "operator",
"name": "TipWlan-Hotspot20-Operator",
"profileType": "passpoint_operator",
"name": "TipWlan-Passpoint-Operator",
"details": {
"model_type": "OperatorProfile",
"model_type": "PasspointOperatorProfile",
"serverOnlyAuthenticatedL2EncryptionNetwork": false,
"x509CertificateLocation": "/etc/ca.pem",
"operatorFriendlyName": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Default friendly operator name",
"dupleName": "Default friendly passpoint_operator name",
"defaultDupleSeparator": ":",
"asDuple": "eng:Default friendly operator name"
"asDuple": "eng:Default friendly passpoint_operator name"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Nom de l'opérateur convivial par défaut",
@@ -27,10 +27,11 @@
"asDuple": "fra:Nom de l'opérateur convivial par défaut"
}
],
"profileType": "operator"
"profileType": "passpoint_operator"
},
"createdTimestamp": 1602113058719,
"lastModifiedTimestamp": 1602113058719,
"childProfileIds": []
"createdTimestamp": 1606778369945,
"lastModifiedTimestamp": 1606778369945,
"childProfileIds": [
]
}
]

View File

@@ -1,6 +1,6 @@
{
"model_type": "Profile",
"id": 13,
"id": 11,
"customerId": 2,
"profileType": "rf",
"name": "TipWlan-rf",
@@ -9,16 +9,15 @@
"rfConfigMap": {
"is5GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHz",
"radioMode": "modeAC",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
@@ -26,17 +25,12 @@
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
@@ -46,26 +40,31 @@
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApEnabled": null,
"multicastRate": "auto",
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
}
},
"is2dot4GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is2dot4GHz",
"radioMode": "modeN",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is20MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
@@ -73,17 +72,12 @@
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
@@ -93,26 +87,31 @@
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApEnabled": null,
"multicastRate": "auto",
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 20,
"minLoadFactor": 50
},
"minAutoCellSize": -65
}
},
"is5GHzU": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHzU",
"radioMode": "modeAC",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
@@ -120,17 +119,12 @@
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
@@ -140,26 +134,31 @@
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApEnabled": null,
"multicastRate": "auto",
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
}
},
"is5GHzL": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHzL",
"radioMode": "modeAC",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
@@ -167,17 +166,12 @@
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
@@ -187,18 +181,24 @@
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApEnabled": null,
"multicastRate": "auto",
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
}
}
},
"profileType": "rf"
},
"createdTimestamp": 1602182806063,
"lastModifiedTimestamp": 1602182806063,
"createdTimestamp": 1606778369933,
"lastModifiedTimestamp": 1606778369933,
"childProfileIds": []
}

View File

@@ -4,72 +4,6 @@
"id": 5,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-hotspot-access",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-hotspot-access",
"appliedRadios": [
"is5GHzU",
"is5GHzL",
"is2dot4GHz"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
"vlanId": 1,
"keyStr": "testing123",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
"clientBandwidthLimitDown": 0,
"clientBandwidthLimitUp": 0,
"videoTrafficOnly": false,
"radioBasedConfigs": {
"is5GHz": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is2dot4GHz": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is5GHzU": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is5GHzL": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
}
},
"bonjourGatewayProfileId": null,
"enable80211w": null,
"wepConfig": null,
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602113058718,
"lastModifiedTimestamp": 1602113059547,
"childProfileIds": [
10
]
},
{
"model_type": "Profile",
"id": 11,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-3-radios",
"details": {
"model_type": "SsidConfiguration",
@@ -80,13 +14,15 @@
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "open",
"secureMode": "wpa2OnlyPSK",
"vlanId": 1,
"keyStr": null,
"keyStr": "openwifi",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"radiusAccountingServiceName": null,
"radiusAcountingServiceInterval": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
@@ -94,7 +30,7 @@
"clientBandwidthLimitUp": 0,
"videoTrafficOnly": false,
"radioBasedConfigs": {
"is5GHz": {
"is5GHzL": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
@@ -106,17 +42,83 @@
"enable80211k": null,
"enable80211v": null
},
"is5GHzU": {
"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-passpoint-access",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-passpoint-access",
"appliedRadios": [
"is5GHzL",
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
"vlanId": 1,
"keyStr": "testing123",
"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,
@@ -125,10 +127,77 @@
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602183994766,
"lastModifiedTimestamp": 1602183994766,
"createdTimestamp": 1606778369943,
"lastModifiedTimestamp": 1606778370811,
"childProfileIds": [
10
24
]
},
{
"model_type": "Profile",
"id": 16,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-passpoint-osu",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-passpoint-osu",
"appliedRadios": [
"is2dot4GHz"
],
"ssidAdminState": "enabled",
"secureMode": "open",
"vlanId": 1,
"keyStr": null,
"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": null,
"profileType": "ssid"
},
"createdTimestamp": 1606778369944,
"lastModifiedTimestamp": 1606778370352,
"childProfileIds": [
19,
20
]
}
]

View File

@@ -1,15 +1,15 @@
[
{
"model_type": "Profile",
"id": 7,
"id": 18,
"customerId": 2,
"profileType": "venue",
"name": "TipWlan-Hotspot20-Venue",
"profileType": "passpoint_venue",
"name": "TipWlan-Passpoint-Venue",
"details": {
"model_type": "VenueProfile",
"model_type": "PasspointVenueProfile",
"venueNameSet": [
{
"model_type": "VenueName",
"model_type": "PasspointVenueName",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de lieu",
@@ -18,25 +18,26 @@
"asDuple": "fra:Exemple de lieu"
},
{
"model_type": "VenueName",
"model_type": "PasspointVenueName",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example venue",
"dupleName": "Example passpoint_venue",
"defaultDupleSeparator": ":",
"venueUrl": "http://www.example.com/info-eng",
"asDuple": "eng:Example venue"
"asDuple": "eng:Example passpoint_venue"
}
],
"venueTypeAssignment": {
"model_type": "VenueTypeAssignment",
"model_type": "PasspointVenueTypeAssignment",
"venueDescription": "Research and Development Facility",
"venueGroupId": 2,
"venueTypeId": 8
},
"profileType": "venue"
"profileType": "passpoint_venue"
},
"createdTimestamp": 1602113058725,
"lastModifiedTimestamp": 1602113058725,
"childProfileIds": []
"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

@@ -10,55 +10,48 @@
"countryCode" : "ca",
"maintenanceWindow" : null,
"rrmEnabled" : true,
"dailyRebalancingDetails" : {
"dailyActivityDetails" : {
"SUNDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"MONDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"TUESDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"WEDNESDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"THURSDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"FRIDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"SATURDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
}
}
},

View File

@@ -10,55 +10,48 @@
"countryCode" : "usa",
"maintenanceWindow" : null,
"rrmEnabled" : true,
"dailyRebalancingDetails" : {
"dailyActivityDetails" : {
"SUNDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"MONDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"TUESDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"WEDNESDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"THURSDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"FRIDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"SATURDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
}
}
},

View File

@@ -1,6 +1,6 @@
{
"model_type": "Profile",
"id": 17,
"id": 12,
"customerId": 2,
"profileType": "equipment_ap",
"name": "ApProfile-3-radios",
@@ -20,6 +20,11 @@
"syntheticClientEnabled": true,
"ledControlEnabled": true,
"equipmentDiscovery": false,
"greTunnelName": null,
"greParentIfName": null,
"greLocalInetAddr": null,
"greRemoteInetAddr": null,
"greRemoteMacAddr": null,
"radioMap": {
"is2dot4GHz": {
"model_type": "RadioProfileConfiguration",
@@ -39,12 +44,13 @@
},
"profileType": "equipment_ap"
},
"createdTimestamp": 1602182806348,
"lastModifiedTimestamp": 1602182806348,
"createdTimestamp": 1606778369934,
"lastModifiedTimestamp": 1606778443413,
"childProfileIds": [
2,
16,
5,
10,
11,
13
15
]
}

View File

@@ -1,16 +1,16 @@
[
{
{
"model_type": "Profile",
"id": 10,
"id": 24,
"customerId": 2,
"profileType": "hotspot_2pt0",
"name": "TipWlan-Hotspot20-Config",
"profileType": "passpoint",
"name": "TipWlan-Passpoint-Config",
"details": {
"model_type": "Hotspot2Profile",
"model_type": "PasspointProfile",
"enableInterworkingAndHs20": true,
"hessid": null,
"accessNetworkType": "free_public_network",
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
"passpointAccessNetworkType": "free_public_network",
"passpointNetworkAuthenticationType": "acceptance_of_terms_and_conditions",
"additionalStepsRequiredForAccess": 0,
"deauthRequestTimeout": 0,
"operatingClass": 0,
@@ -29,10 +29,10 @@
"internetConnectivity": true,
"connectionCapabilitySet": [
{
"model_type": "ConnectionCapability",
"model_type": "PasspointConnectionCapability",
"connectionCapabilitiesPortNumber": 8888,
"connectionCapabilitiesIpProtocol": "TCP",
"connectionCapabilitiesStatus": "open"
"connectionCapabilitiesStatus": "open",
"connectionCapabilitiesIpProtocol": "TCP"
}
],
"ipAddressTypeAvailability": "public_IPv4_address_available",
@@ -45,28 +45,27 @@
"disableDownstreamGroupAddressedForwarding": false,
"enable2pt4GHz": true,
"enable5GHz": true,
"associatedAccessSsidNames": [
"TipWlan-cloud-hotspot-access"
"associatedAccessSsidProfileIds": [
15
],
"osuSsidName": "TipWlan-cloud-3-radios",
"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
],
"profileType": "hotspot_2pt0",
"associatedSsids": [
"TipWlan-cloud-hotspot-access"
]
"accessNetworkType": "free_public_network",
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
"profileType": "passpoint"
},
"createdTimestamp": 1602182806040,
"lastModifiedTimestamp": 1602182806040,
"createdTimestamp": 1606778370807,
"lastModifiedTimestamp": 1606778370807,
"childProfileIds": [
6,
7,
8,
9
17,
18,
19,
20
]
}
}
]

View File

@@ -1,16 +1,16 @@
[
{
{
"model_type": "Profile",
"id": 8,
"id": 19,
"customerId": 2,
"profileType": "id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider",
"profileType": "passpoint_osu_id_provider",
"name": "TipWlan-Passpoint-OSU-Provider",
"details": {
"model_type": "Hotspot20IdProviderProfile",
"model_type": "PasspointOsuProviderProfile",
"domainName": "rogers.com",
"mccMncList": [
{
"model_type": "MccMnc",
"model_type": "PasspointMccMnc",
"mcc": 302,
"mnc": 720,
"iso": "ca",
@@ -22,7 +22,7 @@
],
"naiRealmList": [
{
"model_type": "NaiRealmInformation",
"model_type": "PasspointNaiRealmInformation",
"naiRealms": [
"rogers.com"
],
@@ -44,7 +44,7 @@
],
"osuIconList": [
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
@@ -55,7 +55,7 @@
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
@@ -66,7 +66,7 @@
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
@@ -77,10 +77,10 @@
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/rogers/",
"osuServerUri": "https://example.com/osu/rogers",
"osuFriendlyName": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider rogers",
@@ -88,7 +88,7 @@
"asDuple": "eng:Example provider rogers"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur rogers",
@@ -104,7 +104,7 @@
],
"osuServiceDescription": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services rogers",
@@ -112,7 +112,7 @@
"asDuple": "eng:Example services rogers"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services rogers",
@@ -120,24 +120,31 @@
"asDuple": "fra:Exemples de services rogers"
}
],
"profileType": "id_provider"
"roamingOi": [
1,
2,
3,
4
],
"profileType": "passpoint_osu_id_provider"
},
"createdTimestamp": 1602182805654,
"lastModifiedTimestamp": 1602182805654,
"childProfileIds": []
},
{
"createdTimestamp": 1606778370345,
"lastModifiedTimestamp": 1606778370345,
"childProfileIds": [
]
},
{
"model_type": "Profile",
"id": 9,
"id": 20,
"customerId": 2,
"profileType": "id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider-2",
"profileType": "passpoint_osu_id_provider",
"name": "TipWlan-Passpoint-OSU-Provider-2",
"details": {
"model_type": "Hotspot20IdProviderProfile",
"model_type": "PasspointOsuProviderProfile",
"domainName": "telus.com",
"mccMncList": [
{
"model_type": "MccMnc",
"model_type": "PasspointMccMnc",
"mcc": 302,
"mnc": 220,
"iso": "ca",
@@ -149,7 +156,7 @@
],
"naiRealmList": [
{
"model_type": "NaiRealmInformation",
"model_type": "PasspointNaiRealmInformation",
"naiRealms": [
"telus.com"
],
@@ -171,7 +178,7 @@
],
"osuIconList": [
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
@@ -182,7 +189,7 @@
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
@@ -193,7 +200,7 @@
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
@@ -204,10 +211,10 @@
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/telus/",
"osuServerUri": "https://example.com/osu/telus",
"osuFriendlyName": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider telus",
@@ -215,7 +222,7 @@
"asDuple": "eng:Example provider telus"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur telus",
@@ -231,7 +238,7 @@
],
"osuServiceDescription": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services telus",
@@ -239,7 +246,7 @@
"asDuple": "eng:Example services telus"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services telus",
@@ -247,10 +254,17 @@
"asDuple": "fra:Exemples de services telus"
}
],
"profileType": "id_provider"
"roamingOi": [
1,
2,
3,
4
],
"profileType": "passpoint_osu_id_provider"
},
"createdTimestamp": 1602182805660,
"lastModifiedTimestamp": 1602182805660,
"childProfileIds": []
}
"createdTimestamp": 1606778370351,
"lastModifiedTimestamp": 1606778370351,
"childProfileIds": [
]
}
]

View File

@@ -1,16 +1,16 @@
[
{
"model_type": "Profile",
"id": 2,
"id": 10,
"customerId": 2,
"profileType": "metrics",
"name": "Metrics-Profile-3-radios",
"profileType": "service_metrics_collection_config",
"name": "Metrics-Profile-3-Radios",
"details": {
"model_type": "ServiceMetricsCollectionConfigProfile",
"radioTypes": [
"is5GHzU",
"is5GHzL",
"is2dot4GHz"
"is2dot4GHz",
"is5GHzU"
],
"serviceMetricDataTypes": [
"ApNode",
@@ -29,9 +29,9 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode"
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -41,9 +41,9 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode"
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -53,9 +53,9 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApNode"
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -65,33 +65,33 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApNode"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode"
"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": [
@@ -99,7 +99,7 @@
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"radioType": "is5GHzU",
"serviceMetricDataType": "ApSsid"
},
{
@@ -113,7 +113,7 @@
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApSsid"
}
],
@@ -122,7 +122,7 @@
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"radioType": "is5GHzU",
"serviceMetricDataType": "Client"
},
{
@@ -136,7 +136,7 @@
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Client"
}
],
@@ -144,38 +144,14 @@
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "Channel"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Channel"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Channel"
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -185,95 +161,83 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzU",
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"serviceMetricDataType": "Channel"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Channel"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Channel"
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
}
],
"Neighbour": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "Neighbour"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Neighbour"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Neighbour"
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Neighbour"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "Neighbour"
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -283,16 +247,53 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Neighbour"
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"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": "metrics"
"profileType": "service_metrics_collection_config"
},
"createdTimestamp": 1602113058699,
"lastModifiedTimestamp": 1602113058699,
"childProfileIds": []
"createdTimestamp": 1606778369931,
"lastModifiedTimestamp": 1606778369931,
"childProfileIds": [
]
}
]

View File

@@ -1,25 +1,25 @@
[
{
{
"model_type": "Profile",
"id": 6,
"id": 17,
"customerId": 2,
"profileType": "operator",
"name": "TipWlan-Hotspot20-Operator",
"profileType": "passpoint_operator",
"name": "TipWlan-Passpoint-Operator",
"details": {
"model_type": "OperatorProfile",
"model_type": "PasspointOperatorProfile",
"serverOnlyAuthenticatedL2EncryptionNetwork": false,
"x509CertificateLocation": "/etc/ca.pem",
"operatorFriendlyName": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Default friendly operator name",
"dupleName": "Default friendly passpoint_operator name",
"defaultDupleSeparator": ":",
"asDuple": "eng:Default friendly operator name"
"asDuple": "eng:Default friendly passpoint_operator name"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Nom de l'opérateur convivial par défaut",
@@ -27,10 +27,11 @@
"asDuple": "fra:Nom de l'opérateur convivial par défaut"
}
],
"profileType": "operator"
"profileType": "passpoint_operator"
},
"createdTimestamp": 1602113058719,
"lastModifiedTimestamp": 1602113058719,
"childProfileIds": []
"createdTimestamp": 1606778369945,
"lastModifiedTimestamp": 1606778369945,
"childProfileIds": [
]
}
]

View File

@@ -1,6 +1,6 @@
{
"model_type": "Profile",
"id": 13,
"id": 11,
"customerId": 2,
"profileType": "rf",
"name": "TipWlan-rf",
@@ -9,16 +9,15 @@
"rfConfigMap": {
"is5GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHz",
"radioMode": "modeAC",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
@@ -26,17 +25,12 @@
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
@@ -46,26 +40,31 @@
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApEnabled": null,
"multicastRate": "auto",
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
}
},
"is2dot4GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is2dot4GHz",
"radioMode": "modeN",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is20MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
@@ -73,17 +72,12 @@
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
@@ -93,26 +87,31 @@
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApEnabled": null,
"multicastRate": "auto",
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 20,
"minLoadFactor": 50
},
"minAutoCellSize": -65
}
},
"is5GHzU": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHzU",
"radioMode": "modeAC",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
@@ -120,17 +119,12 @@
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
@@ -140,26 +134,31 @@
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApEnabled": null,
"multicastRate": "auto",
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
}
},
"is5GHzL": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHzL",
"radioMode": "modeAC",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
@@ -167,17 +166,12 @@
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
@@ -187,18 +181,24 @@
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApEnabled": null,
"multicastRate": "auto",
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
}
}
},
"profileType": "rf"
},
"createdTimestamp": 1602182806063,
"lastModifiedTimestamp": 1602182806063,
"createdTimestamp": 1606778369933,
"lastModifiedTimestamp": 1606778369933,
"childProfileIds": []
}

View File

@@ -4,72 +4,6 @@
"id": 5,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-hotspot-access",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-hotspot-access",
"appliedRadios": [
"is5GHzU",
"is5GHzL",
"is2dot4GHz"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
"vlanId": 1,
"keyStr": "testing123",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
"clientBandwidthLimitDown": 0,
"clientBandwidthLimitUp": 0,
"videoTrafficOnly": false,
"radioBasedConfigs": {
"is5GHz": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is2dot4GHz": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is5GHzU": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is5GHzL": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
}
},
"bonjourGatewayProfileId": null,
"enable80211w": null,
"wepConfig": null,
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602113058718,
"lastModifiedTimestamp": 1602113059547,
"childProfileIds": [
10
]
},
{
"model_type": "Profile",
"id": 11,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-3-radios",
"details": {
"model_type": "SsidConfiguration",
@@ -80,13 +14,15 @@
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "open",
"secureMode": "wpa2OnlyPSK",
"vlanId": 1,
"keyStr": null,
"keyStr": "openwifi",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"radiusAccountingServiceName": null,
"radiusAcountingServiceInterval": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
@@ -94,7 +30,7 @@
"clientBandwidthLimitUp": 0,
"videoTrafficOnly": false,
"radioBasedConfigs": {
"is5GHz": {
"is5GHzL": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
@@ -106,17 +42,83 @@
"enable80211k": null,
"enable80211v": null
},
"is5GHzU": {
"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-passpoint-access",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-passpoint-access",
"appliedRadios": [
"is5GHzL",
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
"vlanId": 1,
"keyStr": "testing123",
"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,
@@ -125,10 +127,77 @@
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602183994766,
"lastModifiedTimestamp": 1602183994766,
"createdTimestamp": 1606778369943,
"lastModifiedTimestamp": 1606778370811,
"childProfileIds": [
10
24
]
},
{
"model_type": "Profile",
"id": 16,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-passpoint-osu",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-passpoint-osu",
"appliedRadios": [
"is2dot4GHz"
],
"ssidAdminState": "enabled",
"secureMode": "open",
"vlanId": 1,
"keyStr": null,
"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": null,
"profileType": "ssid"
},
"createdTimestamp": 1606778369944,
"lastModifiedTimestamp": 1606778370352,
"childProfileIds": [
19,
20
]
}
]

View File

@@ -1,15 +1,15 @@
[
{
"model_type": "Profile",
"id": 7,
"id": 18,
"customerId": 2,
"profileType": "venue",
"name": "TipWlan-Hotspot20-Venue",
"profileType": "passpoint_venue",
"name": "TipWlan-Passpoint-Venue",
"details": {
"model_type": "VenueProfile",
"model_type": "PasspointVenueProfile",
"venueNameSet": [
{
"model_type": "VenueName",
"model_type": "PasspointVenueName",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de lieu",
@@ -18,25 +18,26 @@
"asDuple": "fra:Exemple de lieu"
},
{
"model_type": "VenueName",
"model_type": "PasspointVenueName",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example venue",
"dupleName": "Example passpoint_venue",
"defaultDupleSeparator": ":",
"venueUrl": "http://www.example.com/info-eng",
"asDuple": "eng:Example venue"
"asDuple": "eng:Example passpoint_venue"
}
],
"venueTypeAssignment": {
"model_type": "VenueTypeAssignment",
"model_type": "PasspointVenueTypeAssignment",
"venueDescription": "Research and Development Facility",
"venueGroupId": 2,
"venueTypeId": 8
},
"profileType": "venue"
"profileType": "passpoint_venue"
},
"createdTimestamp": 1602113058725,
"lastModifiedTimestamp": 1602113058725,
"childProfileIds": []
"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

@@ -10,55 +10,48 @@
"countryCode" : "ca",
"maintenanceWindow" : null,
"rrmEnabled" : true,
"dailyRebalancingDetails" : {
"dailyActivityDetails" : {
"SUNDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"MONDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"TUESDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"WEDNESDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"THURSDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"FRIDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"SATURDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
}
}
},

View File

@@ -10,55 +10,48 @@
"countryCode" : "usa",
"maintenanceWindow" : null,
"rrmEnabled" : true,
"dailyRebalancingDetails" : {
"dailyActivityDetails" : {
"SUNDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"MONDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"TUESDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"WEDNESDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"THURSDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"FRIDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"SATURDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
}
}
},

View File

@@ -1,6 +1,6 @@
{
"model_type": "Profile",
"id": 17,
"id": 12,
"customerId": 2,
"profileType": "equipment_ap",
"name": "ApProfile-3-radios",
@@ -20,6 +20,11 @@
"syntheticClientEnabled": true,
"ledControlEnabled": true,
"equipmentDiscovery": false,
"greTunnelName": null,
"greParentIfName": null,
"greLocalInetAddr": null,
"greRemoteInetAddr": null,
"greRemoteMacAddr": null,
"radioMap": {
"is2dot4GHz": {
"model_type": "RadioProfileConfiguration",
@@ -39,12 +44,13 @@
},
"profileType": "equipment_ap"
},
"createdTimestamp": 1602182806348,
"lastModifiedTimestamp": 1602182806348,
"createdTimestamp": 1606778369934,
"lastModifiedTimestamp": 1606778443413,
"childProfileIds": [
2,
16,
5,
10,
11,
13
15
]
}

View File

@@ -1,16 +1,16 @@
[
{
{
"model_type": "Profile",
"id": 10,
"id": 24,
"customerId": 2,
"profileType": "hotspot_2pt0",
"name": "TipWlan-Hotspot20-Config",
"profileType": "passpoint",
"name": "TipWlan-Passpoint-Config",
"details": {
"model_type": "Hotspot2Profile",
"model_type": "PasspointProfile",
"enableInterworkingAndHs20": true,
"hessid": null,
"accessNetworkType": "free_public_network",
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
"passpointAccessNetworkType": "free_public_network",
"passpointNetworkAuthenticationType": "acceptance_of_terms_and_conditions",
"additionalStepsRequiredForAccess": 0,
"deauthRequestTimeout": 0,
"operatingClass": 0,
@@ -29,10 +29,10 @@
"internetConnectivity": true,
"connectionCapabilitySet": [
{
"model_type": "ConnectionCapability",
"model_type": "PasspointConnectionCapability",
"connectionCapabilitiesPortNumber": 8888,
"connectionCapabilitiesIpProtocol": "TCP",
"connectionCapabilitiesStatus": "open"
"connectionCapabilitiesStatus": "open",
"connectionCapabilitiesIpProtocol": "TCP"
}
],
"ipAddressTypeAvailability": "public_IPv4_address_available",
@@ -45,28 +45,27 @@
"disableDownstreamGroupAddressedForwarding": false,
"enable2pt4GHz": true,
"enable5GHz": true,
"associatedAccessSsidNames": [
"TipWlan-cloud-hotspot-access"
"associatedAccessSsidProfileIds": [
15
],
"osuSsidName": "TipWlan-cloud-3-radios",
"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
],
"profileType": "hotspot_2pt0",
"associatedSsids": [
"TipWlan-cloud-hotspot-access"
]
"accessNetworkType": "free_public_network",
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
"profileType": "passpoint"
},
"createdTimestamp": 1602182806040,
"lastModifiedTimestamp": 1602182806040,
"createdTimestamp": 1606778370807,
"lastModifiedTimestamp": 1606778370807,
"childProfileIds": [
6,
7,
8,
9
17,
18,
19,
20
]
}
}
]

View File

@@ -1,16 +1,16 @@
[
{
{
"model_type": "Profile",
"id": 8,
"id": 19,
"customerId": 2,
"profileType": "id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider",
"profileType": "passpoint_osu_id_provider",
"name": "TipWlan-Passpoint-OSU-Provider",
"details": {
"model_type": "Hotspot20IdProviderProfile",
"model_type": "PasspointOsuProviderProfile",
"domainName": "rogers.com",
"mccMncList": [
{
"model_type": "MccMnc",
"model_type": "PasspointMccMnc",
"mcc": 302,
"mnc": 720,
"iso": "ca",
@@ -22,7 +22,7 @@
],
"naiRealmList": [
{
"model_type": "NaiRealmInformation",
"model_type": "PasspointNaiRealmInformation",
"naiRealms": [
"rogers.com"
],
@@ -44,7 +44,7 @@
],
"osuIconList": [
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
@@ -55,7 +55,7 @@
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
@@ -66,7 +66,7 @@
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
@@ -77,10 +77,10 @@
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/rogers/",
"osuServerUri": "https://example.com/osu/rogers",
"osuFriendlyName": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider rogers",
@@ -88,7 +88,7 @@
"asDuple": "eng:Example provider rogers"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur rogers",
@@ -104,7 +104,7 @@
],
"osuServiceDescription": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services rogers",
@@ -112,7 +112,7 @@
"asDuple": "eng:Example services rogers"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services rogers",
@@ -120,24 +120,31 @@
"asDuple": "fra:Exemples de services rogers"
}
],
"profileType": "id_provider"
"roamingOi": [
1,
2,
3,
4
],
"profileType": "passpoint_osu_id_provider"
},
"createdTimestamp": 1602182805654,
"lastModifiedTimestamp": 1602182805654,
"childProfileIds": []
},
{
"createdTimestamp": 1606778370345,
"lastModifiedTimestamp": 1606778370345,
"childProfileIds": [
]
},
{
"model_type": "Profile",
"id": 9,
"id": 20,
"customerId": 2,
"profileType": "id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider-2",
"profileType": "passpoint_osu_id_provider",
"name": "TipWlan-Passpoint-OSU-Provider-2",
"details": {
"model_type": "Hotspot20IdProviderProfile",
"model_type": "PasspointOsuProviderProfile",
"domainName": "telus.com",
"mccMncList": [
{
"model_type": "MccMnc",
"model_type": "PasspointMccMnc",
"mcc": 302,
"mnc": 220,
"iso": "ca",
@@ -149,7 +156,7 @@
],
"naiRealmList": [
{
"model_type": "NaiRealmInformation",
"model_type": "PasspointNaiRealmInformation",
"naiRealms": [
"telus.com"
],
@@ -171,7 +178,7 @@
],
"osuIconList": [
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
@@ -182,7 +189,7 @@
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
@@ -193,7 +200,7 @@
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
@@ -204,10 +211,10 @@
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/telus/",
"osuServerUri": "https://example.com/osu/telus",
"osuFriendlyName": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider telus",
@@ -215,7 +222,7 @@
"asDuple": "eng:Example provider telus"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur telus",
@@ -231,7 +238,7 @@
],
"osuServiceDescription": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services telus",
@@ -239,7 +246,7 @@
"asDuple": "eng:Example services telus"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services telus",
@@ -247,10 +254,17 @@
"asDuple": "fra:Exemples de services telus"
}
],
"profileType": "id_provider"
"roamingOi": [
1,
2,
3,
4
],
"profileType": "passpoint_osu_id_provider"
},
"createdTimestamp": 1602182805660,
"lastModifiedTimestamp": 1602182805660,
"childProfileIds": []
}
"createdTimestamp": 1606778370351,
"lastModifiedTimestamp": 1606778370351,
"childProfileIds": [
]
}
]

View File

@@ -1,16 +1,16 @@
[
{
"model_type": "Profile",
"id": 2,
"id": 10,
"customerId": 2,
"profileType": "metrics",
"name": "Metrics-Profile-3-radios",
"profileType": "service_metrics_collection_config",
"name": "Metrics-Profile-3-Radios",
"details": {
"model_type": "ServiceMetricsCollectionConfigProfile",
"radioTypes": [
"is5GHzU",
"is5GHzL",
"is2dot4GHz"
"is2dot4GHz",
"is5GHzU"
],
"serviceMetricDataTypes": [
"ApNode",
@@ -29,9 +29,9 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode"
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -41,9 +41,9 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode"
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -53,9 +53,9 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApNode"
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -65,33 +65,33 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApNode"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode"
"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": [
@@ -99,7 +99,7 @@
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"radioType": "is5GHzU",
"serviceMetricDataType": "ApSsid"
},
{
@@ -113,7 +113,7 @@
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApSsid"
}
],
@@ -122,7 +122,7 @@
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"radioType": "is5GHzU",
"serviceMetricDataType": "Client"
},
{
@@ -136,7 +136,7 @@
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Client"
}
],
@@ -144,38 +144,14 @@
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "Channel"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Channel"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Channel"
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -185,95 +161,83 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzU",
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"serviceMetricDataType": "Channel"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Channel"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Channel"
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
}
],
"Neighbour": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "Neighbour"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Neighbour"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Neighbour"
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Neighbour"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "Neighbour"
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -283,16 +247,53 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Neighbour"
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"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": "metrics"
"profileType": "service_metrics_collection_config"
},
"createdTimestamp": 1602113058699,
"lastModifiedTimestamp": 1602113058699,
"childProfileIds": []
"createdTimestamp": 1606778369931,
"lastModifiedTimestamp": 1606778369931,
"childProfileIds": [
]
}
]

View File

@@ -1,25 +1,25 @@
[
{
{
"model_type": "Profile",
"id": 6,
"id": 17,
"customerId": 2,
"profileType": "operator",
"name": "TipWlan-Hotspot20-Operator",
"profileType": "passpoint_operator",
"name": "TipWlan-Passpoint-Operator",
"details": {
"model_type": "OperatorProfile",
"model_type": "PasspointOperatorProfile",
"serverOnlyAuthenticatedL2EncryptionNetwork": false,
"x509CertificateLocation": "/etc/ca.pem",
"operatorFriendlyName": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Default friendly operator name",
"dupleName": "Default friendly passpoint_operator name",
"defaultDupleSeparator": ":",
"asDuple": "eng:Default friendly operator name"
"asDuple": "eng:Default friendly passpoint_operator name"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Nom de l'opérateur convivial par défaut",
@@ -27,10 +27,11 @@
"asDuple": "fra:Nom de l'opérateur convivial par défaut"
}
],
"profileType": "operator"
"profileType": "passpoint_operator"
},
"createdTimestamp": 1602113058719,
"lastModifiedTimestamp": 1602113058719,
"childProfileIds": []
"createdTimestamp": 1606778369945,
"lastModifiedTimestamp": 1606778369945,
"childProfileIds": [
]
}
]

View File

@@ -1,6 +1,6 @@
{
"model_type": "Profile",
"id": 13,
"id": 11,
"customerId": 2,
"profileType": "rf",
"name": "TipWlan-rf",
@@ -9,16 +9,15 @@
"rfConfigMap": {
"is5GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHz",
"radioMode": "modeAC",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
@@ -26,17 +25,12 @@
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
@@ -46,26 +40,31 @@
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApEnabled": null,
"multicastRate": "auto",
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
}
},
"is2dot4GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is2dot4GHz",
"radioMode": "modeN",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is20MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
@@ -73,17 +72,12 @@
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
@@ -93,26 +87,31 @@
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApEnabled": null,
"multicastRate": "auto",
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 20,
"minLoadFactor": 50
},
"minAutoCellSize": -65
}
},
"is5GHzU": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHzU",
"radioMode": "modeAC",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
@@ -120,17 +119,12 @@
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
@@ -140,26 +134,31 @@
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApEnabled": null,
"multicastRate": "auto",
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
}
},
"is5GHzL": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHzL",
"radioMode": "modeAC",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
@@ -167,17 +166,12 @@
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
@@ -187,18 +181,24 @@
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApEnabled": null,
"multicastRate": "auto",
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
}
}
},
"profileType": "rf"
},
"createdTimestamp": 1602182806063,
"lastModifiedTimestamp": 1602182806063,
"createdTimestamp": 1606778369933,
"lastModifiedTimestamp": 1606778369933,
"childProfileIds": []
}

View File

@@ -4,72 +4,6 @@
"id": 5,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-hotspot-access",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-hotspot-access",
"appliedRadios": [
"is5GHzU",
"is5GHzL",
"is2dot4GHz"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
"vlanId": 1,
"keyStr": "testing123",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
"clientBandwidthLimitDown": 0,
"clientBandwidthLimitUp": 0,
"videoTrafficOnly": false,
"radioBasedConfigs": {
"is5GHz": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is2dot4GHz": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is5GHzU": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is5GHzL": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
}
},
"bonjourGatewayProfileId": null,
"enable80211w": null,
"wepConfig": null,
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602113058718,
"lastModifiedTimestamp": 1602113059547,
"childProfileIds": [
10
]
},
{
"model_type": "Profile",
"id": 11,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-3-radios",
"details": {
"model_type": "SsidConfiguration",
@@ -80,13 +14,15 @@
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "open",
"secureMode": "wpa2OnlyPSK",
"vlanId": 1,
"keyStr": null,
"keyStr": "openwifi",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"radiusAccountingServiceName": null,
"radiusAcountingServiceInterval": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
@@ -94,7 +30,7 @@
"clientBandwidthLimitUp": 0,
"videoTrafficOnly": false,
"radioBasedConfigs": {
"is5GHz": {
"is5GHzL": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
@@ -106,17 +42,83 @@
"enable80211k": null,
"enable80211v": null
},
"is5GHzU": {
"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-passpoint-access",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-passpoint-access",
"appliedRadios": [
"is5GHzL",
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
"vlanId": 1,
"keyStr": "testing123",
"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,
@@ -125,10 +127,77 @@
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602183994766,
"lastModifiedTimestamp": 1602183994766,
"createdTimestamp": 1606778369943,
"lastModifiedTimestamp": 1606778370811,
"childProfileIds": [
10
24
]
},
{
"model_type": "Profile",
"id": 16,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-passpoint-osu",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-passpoint-osu",
"appliedRadios": [
"is2dot4GHz"
],
"ssidAdminState": "enabled",
"secureMode": "open",
"vlanId": 1,
"keyStr": null,
"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": null,
"profileType": "ssid"
},
"createdTimestamp": 1606778369944,
"lastModifiedTimestamp": 1606778370352,
"childProfileIds": [
19,
20
]
}
]

View File

@@ -1,15 +1,15 @@
[
{
"model_type": "Profile",
"id": 7,
"id": 18,
"customerId": 2,
"profileType": "venue",
"name": "TipWlan-Hotspot20-Venue",
"profileType": "passpoint_venue",
"name": "TipWlan-Passpoint-Venue",
"details": {
"model_type": "VenueProfile",
"model_type": "PasspointVenueProfile",
"venueNameSet": [
{
"model_type": "VenueName",
"model_type": "PasspointVenueName",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de lieu",
@@ -18,25 +18,26 @@
"asDuple": "fra:Exemple de lieu"
},
{
"model_type": "VenueName",
"model_type": "PasspointVenueName",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example venue",
"dupleName": "Example passpoint_venue",
"defaultDupleSeparator": ":",
"venueUrl": "http://www.example.com/info-eng",
"asDuple": "eng:Example venue"
"asDuple": "eng:Example passpoint_venue"
}
],
"venueTypeAssignment": {
"model_type": "VenueTypeAssignment",
"model_type": "PasspointVenueTypeAssignment",
"venueDescription": "Research and Development Facility",
"venueGroupId": 2,
"venueTypeId": 8
},
"profileType": "venue"
"profileType": "passpoint_venue"
},
"createdTimestamp": 1602113058725,
"lastModifiedTimestamp": 1602113058725,
"childProfileIds": []
"createdTimestamp": 1606778369950,
"lastModifiedTimestamp": 1606778369950,
"childProfileIds": [
]
}
]

View File

@@ -15,11 +15,6 @@
</properties>
<dependencies>
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>opensync-gateway</artifactId>
<version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>opensync-ext-static</artifactId>

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

@@ -10,55 +10,48 @@
"countryCode" : "ca",
"maintenanceWindow" : null,
"rrmEnabled" : true,
"dailyRebalancingDetails" : {
"dailyActivityDetails" : {
"SUNDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"MONDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"TUESDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"WEDNESDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"THURSDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"FRIDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"SATURDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
}
}
},

View File

@@ -10,55 +10,48 @@
"countryCode" : "usa",
"maintenanceWindow" : null,
"rrmEnabled" : true,
"dailyRebalancingDetails" : {
"dailyActivityDetails" : {
"SUNDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"MONDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"TUESDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"WEDNESDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"THURSDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"FRIDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
},
"SATURDAY" : {
"model_type" : "LocationActivityDetails",
"busyTime" : "13:30",
"quietTime" : "3:30",
"timezone" : "US/Eastern",
"lastBusySnapshot" : 0
"timezone" : "US/Eastern"
}
}
},

View File

@@ -1,6 +1,6 @@
{
"model_type": "Profile",
"id": 17,
"id": 12,
"customerId": 2,
"profileType": "equipment_ap",
"name": "ApProfile-3-radios",
@@ -20,6 +20,11 @@
"syntheticClientEnabled": true,
"ledControlEnabled": true,
"equipmentDiscovery": false,
"greTunnelName": null,
"greParentIfName": null,
"greLocalInetAddr": null,
"greRemoteInetAddr": null,
"greRemoteMacAddr": null,
"radioMap": {
"is2dot4GHz": {
"model_type": "RadioProfileConfiguration",
@@ -39,12 +44,13 @@
},
"profileType": "equipment_ap"
},
"createdTimestamp": 1602182806348,
"lastModifiedTimestamp": 1602182806348,
"createdTimestamp": 1606778369934,
"lastModifiedTimestamp": 1606778443413,
"childProfileIds": [
2,
16,
5,
10,
11,
13
15
]
}

View File

@@ -1,16 +1,16 @@
[
{
{
"model_type": "Profile",
"id": 10,
"id": 24,
"customerId": 2,
"profileType": "hotspot_2pt0",
"name": "TipWlan-Hotspot20-Config",
"profileType": "passpoint",
"name": "TipWlan-Passpoint-Config",
"details": {
"model_type": "Hotspot2Profile",
"model_type": "PasspointProfile",
"enableInterworkingAndHs20": true,
"hessid": null,
"accessNetworkType": "free_public_network",
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
"passpointAccessNetworkType": "free_public_network",
"passpointNetworkAuthenticationType": "acceptance_of_terms_and_conditions",
"additionalStepsRequiredForAccess": 0,
"deauthRequestTimeout": 0,
"operatingClass": 0,
@@ -29,10 +29,10 @@
"internetConnectivity": true,
"connectionCapabilitySet": [
{
"model_type": "ConnectionCapability",
"model_type": "PasspointConnectionCapability",
"connectionCapabilitiesPortNumber": 8888,
"connectionCapabilitiesIpProtocol": "TCP",
"connectionCapabilitiesStatus": "open"
"connectionCapabilitiesStatus": "open",
"connectionCapabilitiesIpProtocol": "TCP"
}
],
"ipAddressTypeAvailability": "public_IPv4_address_available",
@@ -45,28 +45,27 @@
"disableDownstreamGroupAddressedForwarding": false,
"enable2pt4GHz": true,
"enable5GHz": true,
"associatedAccessSsidNames": [
"TipWlan-cloud-hotspot-access"
"associatedAccessSsidProfileIds": [
15
],
"osuSsidName": "TipWlan-cloud-3-radios",
"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
],
"profileType": "hotspot_2pt0",
"associatedSsids": [
"TipWlan-cloud-hotspot-access"
]
"accessNetworkType": "free_public_network",
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
"profileType": "passpoint"
},
"createdTimestamp": 1602182806040,
"lastModifiedTimestamp": 1602182806040,
"createdTimestamp": 1606778370807,
"lastModifiedTimestamp": 1606778370807,
"childProfileIds": [
6,
7,
8,
9
17,
18,
19,
20
]
}
}
]

View File

@@ -1,16 +1,16 @@
[
{
{
"model_type": "Profile",
"id": 8,
"id": 19,
"customerId": 2,
"profileType": "id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider",
"profileType": "passpoint_osu_id_provider",
"name": "TipWlan-Passpoint-OSU-Provider",
"details": {
"model_type": "Hotspot20IdProviderProfile",
"model_type": "PasspointOsuProviderProfile",
"domainName": "rogers.com",
"mccMncList": [
{
"model_type": "MccMnc",
"model_type": "PasspointMccMnc",
"mcc": 302,
"mnc": 720,
"iso": "ca",
@@ -22,7 +22,7 @@
],
"naiRealmList": [
{
"model_type": "NaiRealmInformation",
"model_type": "PasspointNaiRealmInformation",
"naiRealms": [
"rogers.com"
],
@@ -44,7 +44,7 @@
],
"osuIconList": [
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
@@ -55,7 +55,7 @@
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
@@ -66,7 +66,7 @@
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
@@ -77,10 +77,10 @@
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/rogers/",
"osuServerUri": "https://example.com/osu/rogers",
"osuFriendlyName": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider rogers",
@@ -88,7 +88,7 @@
"asDuple": "eng:Example provider rogers"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur rogers",
@@ -104,7 +104,7 @@
],
"osuServiceDescription": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services rogers",
@@ -112,7 +112,7 @@
"asDuple": "eng:Example services rogers"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services rogers",
@@ -120,24 +120,31 @@
"asDuple": "fra:Exemples de services rogers"
}
],
"profileType": "id_provider"
"roamingOi": [
1,
2,
3,
4
],
"profileType": "passpoint_osu_id_provider"
},
"createdTimestamp": 1602182805654,
"lastModifiedTimestamp": 1602182805654,
"childProfileIds": []
},
{
"createdTimestamp": 1606778370345,
"lastModifiedTimestamp": 1606778370345,
"childProfileIds": [
]
},
{
"model_type": "Profile",
"id": 9,
"id": 20,
"customerId": 2,
"profileType": "id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider-2",
"profileType": "passpoint_osu_id_provider",
"name": "TipWlan-Passpoint-OSU-Provider-2",
"details": {
"model_type": "Hotspot20IdProviderProfile",
"model_type": "PasspointOsuProviderProfile",
"domainName": "telus.com",
"mccMncList": [
{
"model_type": "MccMnc",
"model_type": "PasspointMccMnc",
"mcc": 302,
"mnc": 220,
"iso": "ca",
@@ -149,7 +156,7 @@
],
"naiRealmList": [
{
"model_type": "NaiRealmInformation",
"model_type": "PasspointNaiRealmInformation",
"naiRealms": [
"telus.com"
],
@@ -171,7 +178,7 @@
],
"osuIconList": [
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
@@ -182,7 +189,7 @@
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
@@ -193,7 +200,7 @@
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "OsuIcon",
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
@@ -204,10 +211,10 @@
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/telus/",
"osuServerUri": "https://example.com/osu/telus",
"osuFriendlyName": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider telus",
@@ -215,7 +222,7 @@
"asDuple": "eng:Example provider telus"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur telus",
@@ -231,7 +238,7 @@
],
"osuServiceDescription": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services telus",
@@ -239,7 +246,7 @@
"asDuple": "eng:Example services telus"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services telus",
@@ -247,10 +254,17 @@
"asDuple": "fra:Exemples de services telus"
}
],
"profileType": "id_provider"
"roamingOi": [
1,
2,
3,
4
],
"profileType": "passpoint_osu_id_provider"
},
"createdTimestamp": 1602182805660,
"lastModifiedTimestamp": 1602182805660,
"childProfileIds": []
}
"createdTimestamp": 1606778370351,
"lastModifiedTimestamp": 1606778370351,
"childProfileIds": [
]
}
]

View File

@@ -1,16 +1,16 @@
[
{
"model_type": "Profile",
"id": 2,
"id": 10,
"customerId": 2,
"profileType": "metrics",
"name": "Metrics-Profile-3-radios",
"profileType": "service_metrics_collection_config",
"name": "Metrics-Profile-3-Radios",
"details": {
"model_type": "ServiceMetricsCollectionConfigProfile",
"radioTypes": [
"is5GHzU",
"is5GHzL",
"is2dot4GHz"
"is2dot4GHz",
"is5GHzU"
],
"serviceMetricDataTypes": [
"ApNode",
@@ -29,9 +29,9 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode"
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -41,9 +41,9 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode"
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -53,9 +53,9 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApNode"
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -65,33 +65,33 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApNode"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode"
"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": [
@@ -99,7 +99,7 @@
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"radioType": "is5GHzU",
"serviceMetricDataType": "ApSsid"
},
{
@@ -113,7 +113,7 @@
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApSsid"
}
],
@@ -122,7 +122,7 @@
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"radioType": "is5GHzU",
"serviceMetricDataType": "Client"
},
{
@@ -136,7 +136,7 @@
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Client"
}
],
@@ -144,38 +144,14 @@
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "Channel"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Channel"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Channel"
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -185,95 +161,83 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzU",
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"serviceMetricDataType": "Channel"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Channel"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Channel"
"serviceMetricDataType": "Channel",
"statsReportFormat": "RAW"
}
],
"Neighbour": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "Neighbour"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Neighbour"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Neighbour"
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "Neighbour"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "Neighbour"
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
@@ -283,16 +247,53 @@
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Neighbour"
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"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": "metrics"
"profileType": "service_metrics_collection_config"
},
"createdTimestamp": 1602113058699,
"lastModifiedTimestamp": 1602113058699,
"childProfileIds": []
"createdTimestamp": 1606778369931,
"lastModifiedTimestamp": 1606778369931,
"childProfileIds": [
]
}
]

View File

@@ -1,25 +1,25 @@
[
{
{
"model_type": "Profile",
"id": 6,
"id": 17,
"customerId": 2,
"profileType": "operator",
"name": "TipWlan-Hotspot20-Operator",
"profileType": "passpoint_operator",
"name": "TipWlan-Passpoint-Operator",
"details": {
"model_type": "OperatorProfile",
"model_type": "PasspointOperatorProfile",
"serverOnlyAuthenticatedL2EncryptionNetwork": false,
"x509CertificateLocation": "/etc/ca.pem",
"operatorFriendlyName": [
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Default friendly operator name",
"dupleName": "Default friendly passpoint_operator name",
"defaultDupleSeparator": ":",
"asDuple": "eng:Default friendly operator name"
"asDuple": "eng:Default friendly passpoint_operator name"
},
{
"model_type": "Hotspot20Duple",
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Nom de l'opérateur convivial par défaut",
@@ -27,10 +27,11 @@
"asDuple": "fra:Nom de l'opérateur convivial par défaut"
}
],
"profileType": "operator"
"profileType": "passpoint_operator"
},
"createdTimestamp": 1602113058719,
"lastModifiedTimestamp": 1602113058719,
"childProfileIds": []
"createdTimestamp": 1606778369945,
"lastModifiedTimestamp": 1606778369945,
"childProfileIds": [
]
}
]

View File

@@ -1,6 +1,6 @@
{
"model_type": "Profile",
"id": 13,
"id": 11,
"customerId": 2,
"profileType": "rf",
"name": "TipWlan-rf",
@@ -9,16 +9,15 @@
"rfConfigMap": {
"is5GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHz",
"radioMode": "modeAC",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
@@ -26,17 +25,12 @@
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
@@ -46,26 +40,31 @@
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApEnabled": null,
"multicastRate": "auto",
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
}
},
"is2dot4GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is2dot4GHz",
"radioMode": "modeN",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is20MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
@@ -73,17 +72,12 @@
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
@@ -93,26 +87,31 @@
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApEnabled": null,
"multicastRate": "auto",
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 20,
"minLoadFactor": 50
},
"minAutoCellSize": -65
}
},
"is5GHzU": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHzU",
"radioMode": "modeAC",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
@@ -120,17 +119,12 @@
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
@@ -140,26 +134,31 @@
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApEnabled": null,
"multicastRate": "auto",
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
}
},
"is5GHzL": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"radioType": "is5GHzL",
"radioMode": "modeAC",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
@@ -167,17 +166,12 @@
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
@@ -187,18 +181,24 @@
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApEnabled": null,
"multicastRate": "auto",
"managementRate": "auto",
"rxCellSizeDb": -90,
"probeResponseThresholdDb": -90,
"clientDisconnectThresholdDb": -90,
"eirpTxPower": 18,
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
}
}
},
"profileType": "rf"
},
"createdTimestamp": 1602182806063,
"lastModifiedTimestamp": 1602182806063,
"createdTimestamp": 1606778369933,
"lastModifiedTimestamp": 1606778369933,
"childProfileIds": []
}

View File

@@ -4,72 +4,6 @@
"id": 5,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-hotspot-access",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-hotspot-access",
"appliedRadios": [
"is5GHzU",
"is5GHzL",
"is2dot4GHz"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
"vlanId": 1,
"keyStr": "testing123",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
"clientBandwidthLimitDown": 0,
"clientBandwidthLimitUp": 0,
"videoTrafficOnly": false,
"radioBasedConfigs": {
"is5GHz": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is2dot4GHz": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is5GHzU": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is5GHzL": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
}
},
"bonjourGatewayProfileId": null,
"enable80211w": null,
"wepConfig": null,
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602113058718,
"lastModifiedTimestamp": 1602113059547,
"childProfileIds": [
10
]
},
{
"model_type": "Profile",
"id": 11,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-3-radios",
"details": {
"model_type": "SsidConfiguration",
@@ -80,13 +14,15 @@
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "open",
"secureMode": "wpa2OnlyPSK",
"vlanId": 1,
"keyStr": null,
"keyStr": "openwifi",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"radiusAccountingServiceName": null,
"radiusAcountingServiceInterval": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
@@ -94,7 +30,7 @@
"clientBandwidthLimitUp": 0,
"videoTrafficOnly": false,
"radioBasedConfigs": {
"is5GHz": {
"is5GHzL": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
@@ -106,17 +42,83 @@
"enable80211k": null,
"enable80211v": null
},
"is5GHzU": {
"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-passpoint-access",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-passpoint-access",
"appliedRadios": [
"is5GHzL",
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
"vlanId": 1,
"keyStr": "testing123",
"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,
@@ -125,10 +127,77 @@
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602183994766,
"lastModifiedTimestamp": 1602183994766,
"createdTimestamp": 1606778369943,
"lastModifiedTimestamp": 1606778370811,
"childProfileIds": [
10
24
]
},
{
"model_type": "Profile",
"id": 16,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-passpoint-osu",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-passpoint-osu",
"appliedRadios": [
"is2dot4GHz"
],
"ssidAdminState": "enabled",
"secureMode": "open",
"vlanId": 1,
"keyStr": null,
"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": null,
"profileType": "ssid"
},
"createdTimestamp": 1606778369944,
"lastModifiedTimestamp": 1606778370352,
"childProfileIds": [
19,
20
]
}
]

View File

@@ -1,15 +1,15 @@
[
{
"model_type": "Profile",
"id": 7,
"id": 18,
"customerId": 2,
"profileType": "venue",
"name": "TipWlan-Hotspot20-Venue",
"profileType": "passpoint_venue",
"name": "TipWlan-Passpoint-Venue",
"details": {
"model_type": "VenueProfile",
"model_type": "PasspointVenueProfile",
"venueNameSet": [
{
"model_type": "VenueName",
"model_type": "PasspointVenueName",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de lieu",
@@ -18,25 +18,26 @@
"asDuple": "fra:Exemple de lieu"
},
{
"model_type": "VenueName",
"model_type": "PasspointVenueName",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example venue",
"dupleName": "Example passpoint_venue",
"defaultDupleSeparator": ":",
"venueUrl": "http://www.example.com/info-eng",
"asDuple": "eng:Example venue"
"asDuple": "eng:Example passpoint_venue"
}
],
"venueTypeAssignment": {
"model_type": "VenueTypeAssignment",
"model_type": "PasspointVenueTypeAssignment",
"venueDescription": "Research and Development Facility",
"venueGroupId": 2,
"venueTypeId": 8
},
"profileType": "venue"
"profileType": "passpoint_venue"
},
"createdTimestamp": 1602113058725,
"lastModifiedTimestamp": 1602113058725,
"childProfileIds": []
"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

@@ -23,7 +23,16 @@
<artifactId>opensync-ext-interface</artifactId>
<version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency>
<artifactId>client-models</artifactId>
<groupId>com.telecominfraproject.wlan</groupId>
<version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency>
<artifactId>customer-models</artifactId>
<groupId>com.telecominfraproject.wlan</groupId>
<version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency>
<groupId>com.vmware.ovsdb</groupId>
<artifactId>ovsdb-client</artifactId>
@@ -37,12 +46,6 @@
</dependency>
<!-- MQTT dependencies BEGIN -->
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-opensync-protobuf</artifactId>
<version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency>
<artifactId>service-metric-service-interface</artifactId>
<groupId>com.telecominfraproject.wlan</groupId>

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,38 +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) {
ovsdbDao.removeAllPasspointConfigs(ovsdbClient);
ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always
ovsdbDao.removeAllSsids(ovsdbClient, opensyncAPConfig); // always
ovsdbDao.removeWifiRrm(ovsdbClient);
ovsdbDao.removeAllGreTunnels(ovsdbClient, opensyncAPConfig);
ovsdbDao.configureWifiRadios(ovsdbClient, opensyncAPConfig);
ovsdbDao.configureInterfaces(ovsdbClient);
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.removeAllSsids(ovsdbClient); // always
ovsdbDao.removeWifiRrm(ovsdbClient);
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,19 +268,23 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
}
ovsdbDao.removeAllPasspointConfigs(ovsdbClient);
ovsdbDao.removeAllSsids(ovsdbClient, opensyncAPConfig); // always
ovsdbDao.removeAllGreTunnels(ovsdbClient, opensyncAPConfig);
ovsdbDao.removeAllSsids(ovsdbClient); // always
ovsdbDao.removeAllInetConfigs(ovsdbClient);
ovsdbDao.removeWifiRrm(ovsdbClient);
ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always
ovsdbDao.configureWifiRadios(ovsdbClient, opensyncAPConfig);
ovsdbDao.configureInterfaces(ovsdbClient);
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);
@@ -372,6 +374,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
@Override
public void update(TableUpdates tableUpdates) {
try {
LOG.info(OvsdbDao.dhcpLeasedIpDbTable + "_" + key + " monitor callback received {}",
tableUpdates);
@@ -429,6 +432,9 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
extIntegrationInterface.dhcpLeasedIpDbTableUpdate(update, key, RowUpdateOperation.MODIFY);
}
} catch (Exception e) {
LOG.error("dhcpLeasedIpDbTableUpdate failed", e);
}
}
@@ -447,6 +453,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
@Override
public void update(TableUpdates tableUpdates) {
try {
LOG.info(OvsdbDao.commandStateDbTable + "_" + key + " monitor callback received {}",
tableUpdates);
@@ -504,6 +511,9 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
extIntegrationInterface.commandStateDbTableUpdate(update, key, RowUpdateOperation.MODIFY);
}
} catch (Exception e) {
LOG.error("commandStateDbTableUpdate failed", e);
}
}
@@ -521,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);
}
}
});
@@ -542,6 +556,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
@Override
public void update(TableUpdates tableUpdates) {
try {
LOG.info(OvsdbDao.wifiAssociatedClientsDbTable + "_" + key + " monitor callback received {}",
tableUpdates);
@@ -567,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);
}
}
@@ -585,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);
@@ -612,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);
}
}
@@ -629,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);
}
}
});
@@ -650,6 +676,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
@Override
public void update(TableUpdates tableUpdates) {
try {
LOG.info(OvsdbDao.wifiVifStateDbTable + "_" + key + " monitor callback received {}",
tableUpdates);
@@ -683,6 +710,9 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
}
}
} catch (Exception e) {
LOG.error("wifiVIFStateDbTableUpdate failed", e);
}
}

View File

@@ -8,7 +8,10 @@ import java.util.Set;
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
public class WifiVifConfigInfo implements Cloneable{
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;
@@ -22,7 +25,11 @@ public class WifiVifConfigInfo implements Cloneable{
public String ssidBroadcast;
public boolean uapsdEnable;
public int vifRadioIdx;
public Map<String,String> security;
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,56 +38,96 @@ 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() {
try {
WifiVifConfigInfo ret = (WifiVifConfigInfo)super.clone();
WifiVifConfigInfo ret = (WifiVifConfigInfo) super.clone();
if(security!=null) {
if (security != null) {
ret.security = new HashMap<>(this.security);
}
if (macList!=null) {
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) {
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Cannot clone ", e);
}
}
@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,11 +1,11 @@
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;
import com.telecominfraproject.wlan.core.model.equipment.SecurityType;
import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo;
import com.telecominfraproject.wlan.opensync.ovsdb.dao.models.enumerations.DhcpFpDeviceType;
import com.telecominfraproject.wlan.profile.metrics.ChannelUtilizationSurveyType;
import com.telecominfraproject.wlan.profile.metrics.ServiceMetricsChannelUtilizationSurveyType;
import com.telecominfraproject.wlan.servicemetric.apnode.models.StateUpDownError;
import com.telecominfraproject.wlan.servicemetric.models.ServiceMetricDataType;
import com.telecominfraproject.wlan.status.equipment.models.EquipmentUpgradeState;
@@ -83,7 +83,7 @@ public class OvsdbToWlanCloudTypeMappingUtility {
}
public static String getOvsdbStatsSurveyTypeFromProfileSurveyType(ChannelUtilizationSurveyType surveyType) {
public static String getOvsdbStatsSurveyTypeFromProfileSurveyType(ServiceMetricsChannelUtilizationSurveyType surveyType) {
switch (surveyType) {
case FULL:
return "full";

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

@@ -1,5 +1,6 @@
package com.telecominfraproject.wlan.opensync.ovsdb.dao;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
@@ -7,6 +8,7 @@ import java.net.InetAddress;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.CompletableFuture;
@@ -32,13 +34,15 @@ import org.springframework.test.context.junit4.SpringRunner;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.telecominfraproject.wlan.customer.models.Customer;
import com.telecominfraproject.wlan.location.models.Location;
import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo;
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPConfig;
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPHotspot20Config;
import com.telecominfraproject.wlan.profile.models.Profile;
import com.telecominfraproject.wlan.profile.models.ProfileType;
import com.telecominfraproject.wlan.profile.network.models.ApNetworkConfiguration;
import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration;
import com.telecominfraproject.wlan.status.network.models.RadiusDetails;
import com.vmware.ovsdb.exception.OvsdbClientException;
import com.vmware.ovsdb.protocol.operation.notation.Atom;
import com.vmware.ovsdb.protocol.operation.notation.Row;
@@ -62,6 +66,8 @@ import com.vmware.ovsdb.service.OvsdbClient;
})
public class OvsdbDaoTest {
static final int DEFAULT_CUSTOMER_ID = 1;
private static final long HOTSPOT_CONFIG_ID = 1;
private static final long HOTSPOT_PROVIDER_ID_1 = 2;
private static final long HOTSPOT_PROVIDER_ID_2 = 3;
@@ -136,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<>();
@@ -207,8 +171,60 @@ public class OvsdbDaoTest {
}
@Test
public void testGetRadiusConfiguration() throws Exception {
OpensyncAPConfig apConfig = new OpensyncAPConfig();
Profile profileRadius = OvsdbDaoTestUtilities.createRadiusProfile(DEFAULT_CUSTOMER_ID);
apConfig.setRadiusProfiles(List.of(profileRadius));
SsidConfiguration ssidConfig = SsidConfiguration.createWithDefaults();
ssidConfig.setRadiusServiceName("Radius-Profile");
Map<String, String> security = new HashMap<>();
Location location = new Location();
location.setName("Ottawa");
apConfig.setEquipmentLocation(location);
ovsdbDao.getRadiusConfiguration(apConfig, ssidConfig, security);
assert (security.get("radius_server_ip").equals("192.168.0.1"));
assert (security.get("radius_server_port").equals("1812"));
assert (security.get("radius_server_secret").equals("testing123"));
}
@Test
public void testGetRadiusAccountingConfiguration() throws Exception {
OpensyncAPConfig apConfig = new OpensyncAPConfig();
Profile profileRadius = OvsdbDaoTestUtilities.createRadiusProfile(DEFAULT_CUSTOMER_ID);
apConfig.setRadiusProfiles(List.of(profileRadius));
SsidConfiguration ssidConfig = SsidConfiguration.createWithDefaults();
ssidConfig.setRadiusAccountingServiceName("Radius-Profile");
ssidConfig.setRadiusAcountingServiceInterval(60);
Map<String, String> security = new HashMap<>();
Location location = new Location();
location.setName("Ottawa");
apConfig.setEquipmentLocation(location);
ovsdbDao.getRadiusAccountingConfiguration(apConfig, ssidConfig, security);
assert (Integer.valueOf(security.get("radius_acct_interval"))
.equals(ssidConfig.getRadiusAcountingServiceInterval()));
assert (security.get("radius_acct_ip").equals("192.168.0.1"));
assert (security.get("radius_acct_port").equals("1812"));
assert (security.get("radius_acct_secret").equals("testing123"));
}
@Test
public void testGetRadiusAccountingConfigurationNoAcctInterval() throws Exception {
OpensyncAPConfig apConfig = new OpensyncAPConfig();
Profile profileRadius = OvsdbDaoTestUtilities.createRadiusProfile(DEFAULT_CUSTOMER_ID);
apConfig.setRadiusProfiles(List.of(profileRadius));
SsidConfiguration ssidConfig = SsidConfiguration.createWithDefaults();
ssidConfig.setRadiusAccountingServiceName("Radius-Profile");
Map<String, String> security = new HashMap<>();
Location location = new Location();
location.setName("Ottawa");
apConfig.setEquipmentLocation(location);
ovsdbDao.getRadiusAccountingConfiguration(apConfig, ssidConfig, security);
assert (security.get("radius_acct_interval").equals("0"));
assert (security.get("radius_acct_ip").equals("192.168.0.1"));
assert (security.get("radius_acct_port").equals("1812"));
assert (security.get("radius_acct_secret").equals("testing123"));
}
@Test
public void testConfigureHotspots() throws Exception {
@@ -225,36 +241,35 @@ public class OvsdbDaoTest {
OpensyncAPConfig apConfig = new OpensyncAPConfig();
OpensyncAPHotspot20Config hsConfig = new OpensyncAPHotspot20Config();
Customer customer = new Customer();
Profile profileSsidPsk = OvsdbDaoTestUtilities.createPasspointAccessSsid(customer);
Profile profileSsidPsk = OvsdbDaoTestUtilities.createPasspointAccessSsid(DEFAULT_CUSTOMER_ID);
profileSsidPsk.setId(SSID_PSK_ID);
Profile profileSsidOsu = OvsdbDaoTestUtilities.createPasspointOsuSsid(customer);
Profile profileSsidOsu = OvsdbDaoTestUtilities.createPasspointOsuSsid(DEFAULT_CUSTOMER_ID);
profileSsidOsu.setId(SSID_OSU_ID);
Profile passpointOperatorProfile = OvsdbDaoTestUtilities.createPasspointOperatorProfile(customer);
Profile passpointOperatorProfile = OvsdbDaoTestUtilities.createPasspointOperatorProfile(DEFAULT_CUSTOMER_ID);
passpointOperatorProfile.setId(OPERATOR_ID);
Profile passpointVenueProfile = OvsdbDaoTestUtilities.createPasspointVenueProfile(customer);
Profile passpointVenueProfile = OvsdbDaoTestUtilities.createPasspointVenueProfile(DEFAULT_CUSTOMER_ID);
passpointVenueProfile.setId(VENUE_ID);
Profile hotspot20IdProviderProfile = new Profile();
hotspot20IdProviderProfile.setId(HOTSPOT_PROVIDER_ID_1);
hotspot20IdProviderProfile = OvsdbDaoTestUtilities.createPasspointIdProviderProfile(customer,
hotspot20IdProviderProfile = OvsdbDaoTestUtilities.createPasspointIdProviderProfile(DEFAULT_CUSTOMER_ID,
hotspot20IdProviderProfile, "TipWlan-Hotspot20-OSU-Provider", "Rogers AT&T Wireless", "Canada", "ca",
302, 720, "rogers.com", 1);
Profile hotspot20IdProviderProfile2 = new Profile();
hotspot20IdProviderProfile2.setId(HOTSPOT_PROVIDER_ID_2);
hotspot20IdProviderProfile2 = OvsdbDaoTestUtilities.createPasspointIdProviderProfile(customer,
hotspot20IdProviderProfile2 = OvsdbDaoTestUtilities.createPasspointIdProviderProfile(DEFAULT_CUSTOMER_ID,
hotspot20IdProviderProfile2, "TipWlan-Hotspot20-OSU-Provider-2", "Telus Mobility", "Canada", "ca", 302,
220, "telus.com", 1);
profileSsidOsu.getChildProfileIds().add(hotspot20IdProviderProfile.getId());
profileSsidOsu.getChildProfileIds().add(hotspot20IdProviderProfile2.getId());
Profile passpointHotspotConfig = OvsdbDaoTestUtilities.createPasspointHotspotConfig(customer,
Profile passpointHotspotConfig = OvsdbDaoTestUtilities.createPasspointHotspotConfig(DEFAULT_CUSTOMER_ID,
hotspot20IdProviderProfile2, hotspot20IdProviderProfile, passpointOperatorProfile,
passpointVenueProfile, profileSsidPsk, profileSsidOsu);
passpointHotspotConfig.setId(HOTSPOT_CONFIG_ID);
Profile hotspotProfileAp = OvsdbDaoTestUtilities.createPasspointApProfile(customer, profileSsidPsk,
Profile hotspotProfileAp = OvsdbDaoTestUtilities.createPasspointApProfile(DEFAULT_CUSTOMER_ID, profileSsidPsk,
profileSsidOsu);
hotspotProfileAp.setId(EQUIPMENT_AP_ID);
@@ -269,21 +284,23 @@ public class OvsdbDaoTest {
apConfig.setSsidProfile(List.of(profileSsidOsu, profileSsidPsk));
Mockito.when(futureResult.get(Mockito.anyLong(), Mockito.eq(TimeUnit.SECONDS))).thenReturn(OvsdbDaoTestUtilities.hs20IconRows())
.thenReturn(OvsdbDaoTestUtilities.hs20InsertIconRows()).thenReturn(OvsdbDaoTestUtilities.hs20OsuProviders()).thenReturn(OvsdbDaoTestUtilities.hs20IconRows())
.thenReturn(OvsdbDaoTestUtilities.hs20IconRows()).thenReturn(OvsdbDaoTestUtilities.hs20InsertProviderRows()).thenReturn(OvsdbDaoTestUtilities.hs20Config())
.thenReturn(OvsdbDaoTestUtilities.hs20OsuProviders()).thenReturn(OvsdbDaoTestUtilities.vifConfigRows()).thenReturn(OvsdbDaoTestUtilities.vifConfigRows())
Mockito.when(futureResult.get(Mockito.anyLong(), Mockito.eq(TimeUnit.SECONDS)))
.thenReturn(OvsdbDaoTestUtilities.hs20IconRows()).thenReturn(OvsdbDaoTestUtilities.hs20InsertIconRows())
.thenReturn(OvsdbDaoTestUtilities.hs20OsuProviders()).thenReturn(OvsdbDaoTestUtilities.hs20IconRows())
.thenReturn(OvsdbDaoTestUtilities.hs20IconRows())
.thenReturn(OvsdbDaoTestUtilities.hs20InsertProviderRows())
.thenReturn(OvsdbDaoTestUtilities.hs20Config()).thenReturn(OvsdbDaoTestUtilities.hs20OsuProviders())
.thenReturn(OvsdbDaoTestUtilities.vifConfigRows()).thenReturn(OvsdbDaoTestUtilities.vifConfigRows())
.thenReturn(OvsdbDaoTestUtilities.hs20Config());
Mockito.when(ovsdbClient.transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList())).thenReturn(futureResult);
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));
}
@Test
public void testConfigureGreTunnelsWithNoLocalAddress() throws Exception {
List<Row> rows = new ArrayList<>();
@@ -692,9 +709,7 @@ public class OvsdbDaoTest {
}
static Row[] hs20Icons = {
};
}

View File

@@ -1,5 +1,7 @@
package com.telecominfraproject.wlan.opensync.ovsdb.dao;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
@@ -10,18 +12,20 @@ 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;
import com.telecominfraproject.wlan.profile.passpoint.hotspot.models.Hotspot2Profile;
import com.telecominfraproject.wlan.profile.passpoint.models.Hotspot20Duple;
import com.telecominfraproject.wlan.profile.passpoint.models.MccMnc;
import com.telecominfraproject.wlan.profile.passpoint.operator.models.OperatorProfile;
import com.telecominfraproject.wlan.profile.passpoint.provider.models.Hotspot20IdProviderProfile;
import com.telecominfraproject.wlan.profile.passpoint.provider.models.NaiRealmInformation;
import com.telecominfraproject.wlan.profile.passpoint.provider.models.OsuIcon;
import com.telecominfraproject.wlan.profile.passpoint.venue.models.VenueProfile;
import com.telecominfraproject.wlan.profile.passpoint.models.PasspointDuple;
import com.telecominfraproject.wlan.profile.passpoint.models.PasspointMccMnc;
import com.telecominfraproject.wlan.profile.passpoint.models.PasspointProfile;
import com.telecominfraproject.wlan.profile.passpoint.models.operator.PasspointOperatorProfile;
import com.telecominfraproject.wlan.profile.passpoint.models.provider.PasspointNaiRealmInformation;
import com.telecominfraproject.wlan.profile.passpoint.models.provider.PasspointOsuIcon;
import com.telecominfraproject.wlan.profile.passpoint.models.provider.PasspointOsuProviderProfile;
import com.telecominfraproject.wlan.profile.passpoint.models.venue.PasspointVenueProfile;
import com.telecominfraproject.wlan.profile.radius.models.RadiusProfile;
import com.telecominfraproject.wlan.profile.radius.models.RadiusServer;
import com.telecominfraproject.wlan.profile.radius.models.RadiusServiceRegion;
import com.telecominfraproject.wlan.profile.rf.models.RfConfiguration;
import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration;
import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration.SecureMode;
@@ -36,119 +40,122 @@ 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.
profileSsidPsk = createPasspointAccessSsid(customerId);
profileSsidPsk.setId(1L);
profileSsidOsu = createPasspointOsuSsid(customerId);
profileSsidOsu.setId(2L);
static void createPasspointHotspot(Customer customer, Profile passpointHotspotConfig,
Profile passpointOperatorProfile, Profile passpointVenueProfile, Profile hotspot20IdProviderProfile,
Profile hotspot20IdProviderProfile2, Profile profileSsidPsk, Profile profileSsidOsu,
Profile hotspotProfileAp) {
profileSsidPsk = createPasspointAccessSsid(customer);
profileSsidOsu = createPasspointOsuSsid(customer);
passpointOperatorProfile = createPasspointOperatorProfile(customer);
passpointVenueProfile = createPasspointVenueProfile(customer);
hotspot20IdProviderProfile = createPasspointIdProviderProfile(customer, hotspot20IdProviderProfile,
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);
hotspot20IdProviderProfile2 = createPasspointIdProviderProfile(customer, hotspot20IdProviderProfile2,
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(customer, hotspot20IdProviderProfile2,
passpointHotspotConfig = createPasspointHotspotConfig(customerId, hotspot20IdProviderProfile2,
hotspot20IdProviderProfile, passpointOperatorProfile, passpointVenueProfile, profileSsidPsk,
profileSsidOsu);
passpointHotspotConfig.setId(7L);
hotspotProfileAp = createPasspointApProfile(customer, profileSsidPsk, profileSsidOsu);
hotspotProfileAp = createPasspointApProfile(customerId, profileSsidPsk, profileSsidOsu);
hotspotProfileAp.setId(8L);
}
static Profile createPasspointHotspotConfig(Customer customer, Profile hotspot20IdProviderProfile2,
static Profile createPasspointHotspotConfig(int customerId, Profile hotspot20IdProviderProfile2,
Profile hotspot20IdProviderProfile, Profile passpointOperatorProfile, Profile passpointVenueProfile,
Profile profileSsidPsk, Profile profileSsidOpen) {
Profile passpointHotspotConfig;
passpointHotspotConfig = new Profile();
passpointHotspotConfig.setCustomerId(customer.getId());
passpointHotspotConfig.setCustomerId(customerId);
passpointHotspotConfig.setName("TipWlan-Hotspot20-Config");
passpointHotspotConfig.setProfileType(ProfileType.hotspot_2pt0);
passpointHotspotConfig.setProfileType(ProfileType.passpoint);
Set<Long> passpointHotspotConfigChildIds = new HashSet<>();
passpointHotspotConfigChildIds.add(passpointOperatorProfile.getId());
passpointHotspotConfigChildIds.add(passpointVenueProfile.getId());
passpointHotspotConfigChildIds.add(hotspot20IdProviderProfile.getId());
passpointHotspotConfigChildIds.add(hotspot20IdProviderProfile2.getId());
passpointHotspotConfig.setChildProfileIds(passpointHotspotConfigChildIds);
passpointHotspotConfig.setDetails(Hotspot2Profile.createWithDefaults());
Set<String> providerNames = new HashSet<>();
providerNames.add(hotspot20IdProviderProfile.getName());
providerNames.add(hotspot20IdProviderProfile2.getName());
((Hotspot2Profile) passpointHotspotConfig.getDetails()).setIdProviderProfileNames(providerNames);
((Hotspot2Profile) passpointHotspotConfig.getDetails())
.setOperatorProfileName(passpointOperatorProfile.getName());
((Hotspot2Profile) passpointHotspotConfig.getDetails()).setVenueProfileName(passpointVenueProfile.getName());
((Hotspot2Profile) passpointHotspotConfig.getDetails()).setOsuSsidName(profileSsidOpen.getName());
passpointHotspotConfig.setDetails(PasspointProfile.createWithDefaults());
Set<Long> providerIds = new HashSet<>();
providerIds.add(hotspot20IdProviderProfile.getId());
providerIds.add(hotspot20IdProviderProfile2.getId());
((PasspointProfile) passpointHotspotConfig.getDetails()).setPasspointOsuProviderProfileIds(providerIds);
((PasspointProfile) passpointHotspotConfig.getDetails())
.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;
}
static Profile createPasspointIdProviderProfile(Customer customer, Profile providerProfile, String providerName,
static Profile createPasspointIdProviderProfile(int customerId, Profile providerProfile, String providerName,
String network, String country, String iso, int mcc, int mnc, String naiRealm, int countryCode) {
Profile hotspot20IdProviderProfile;
hotspot20IdProviderProfile = new Profile();
hotspot20IdProviderProfile.setCustomerId(customer.getId());
hotspot20IdProviderProfile.setCustomerId(customerId);
hotspot20IdProviderProfile.setName(providerName);
hotspot20IdProviderProfile.setProfileType(ProfileType.id_provider);
MccMnc mccMnc = MccMnc.createWithDefaults();
mccMnc.setMcc(mcc);
mccMnc.setMnc(mnc);
mccMnc.setIso(iso);
mccMnc.setCountry(country);
mccMnc.setCountryCode(1);
mccMnc.setNetwork(network);
List<MccMnc> mccMncList = new ArrayList<>();
mccMncList.add(mccMnc);
hotspot20IdProviderProfile.setProfileType(ProfileType.passpoint_osu_id_provider);
PasspointMccMnc passpointMccMnc = PasspointMccMnc.createWithDefaults();
passpointMccMnc.setMcc(mcc);
passpointMccMnc.setMnc(mnc);
passpointMccMnc.setIso(iso);
passpointMccMnc.setCountry(country);
passpointMccMnc.setCountryCode(1);
passpointMccMnc.setNetwork(network);
List<PasspointMccMnc> mccMncList = new ArrayList<>();
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(customer, hotspot20IdProviderProfile, mccMncList,
naiRealms, "https://example.com/osu/" + naiRealm.split(".com")[0], naiRealm.split(".com")[0], naiRealm,
hotspot20IdProviderProfile = createOsuProviderProfile(customerId, hotspot20IdProviderProfile, mccMncList,
naiRealms, "https://example.com/osu/" + naiRealm.split("/.com")[0], naiRealm.split(".com")[0], naiRealm,
roamingOi);
return hotspot20IdProviderProfile;
}
static Profile createPasspointVenueProfile(Customer customer) {
static Profile createPasspointVenueProfile(int customerId) {
Profile passpointVenueProfile;
passpointVenueProfile = new Profile();
passpointVenueProfile.setCustomerId(customer.getId());
passpointVenueProfile.setCustomerId(customerId);
passpointVenueProfile.setName("TipWlan-Hotspot20-Venue");
passpointVenueProfile.setProfileType(ProfileType.venue);
passpointVenueProfile.setDetails(VenueProfile.createWithDefaults());
passpointVenueProfile.setProfileType(ProfileType.passpoint_venue);
passpointVenueProfile.setDetails(PasspointVenueProfile.createWithDefaults());
return passpointVenueProfile;
}
static Profile createPasspointOperatorProfile(Customer customer) {
static Profile createPasspointOperatorProfile(int customerId) {
Profile passpointOperatorProfile;
passpointOperatorProfile = new Profile();
passpointOperatorProfile.setCustomerId(customer.getId());
passpointOperatorProfile.setCustomerId(customerId);
passpointOperatorProfile.setName("TipWlan-Hotspot20-Operator");
passpointOperatorProfile.setProfileType(ProfileType.operator);
passpointOperatorProfile.setDetails(OperatorProfile.createWithDefaults());
passpointOperatorProfile.setProfileType(ProfileType.passpoint_operator);
passpointOperatorProfile.setDetails(PasspointOperatorProfile.createWithDefaults());
return passpointOperatorProfile;
}
static Profile createPasspointAccessSsid(Customer customer) {
static Profile createPasspointAccessSsid(int customerId) {
Profile profileSsidPsk;
profileSsidPsk = new Profile();
profileSsidPsk.setCustomerId(customer.getId());
profileSsidPsk.setCustomerId(customerId);
profileSsidPsk.setName("TipWlan-cloud-hotspot-access");
SsidConfiguration ssidConfigPsk = SsidConfiguration.createWithDefaults();
Set<RadioType> appliedRadiosPsk = new HashSet<RadioType>();
@@ -162,10 +169,10 @@ public class OvsdbDaoTestUtilities {
return profileSsidPsk;
}
static Profile createPasspointOsuSsid(Customer customer) {
static Profile createPasspointOsuSsid(int customerId) {
Profile profileSsidPsk;
profileSsidPsk = new Profile();
profileSsidPsk.setCustomerId(customer.getId());
profileSsidPsk.setCustomerId(customerId);
profileSsidPsk.setName("TipWlan-cloud-hotspot-osu");
SsidConfiguration ssidConfigPsk = SsidConfiguration.createWithDefaults();
Set<RadioType> appliedRadiosPsk = new HashSet<RadioType>();
@@ -177,23 +184,23 @@ public class OvsdbDaoTestUtilities {
return profileSsidPsk;
}
static Profile createPasspointApProfile(Customer customer, Profile profileSsidPsk, Profile profileSsidOpen) {
static Profile createPasspointApProfile(int customerId, Profile profileSsidPsk, Profile profileSsidOpen) {
Profile hotspotProfileAp = new Profile();
hotspotProfileAp.setCustomerId(customer.getId());
hotspotProfileAp.setCustomerId(customerId);
hotspotProfileAp.setName("HotspotProfileAp");
hotspotProfileAp.setDetails(ApNetworkConfiguration.createWithDefaults());
hotspotProfileAp.getChildProfileIds().add(profileSsidPsk.getId());
hotspotProfileAp.getChildProfileIds().add(profileSsidOpen.getId());
hotspotProfileAp.getChildProfileIds().add(createPasspointRfProfile(customer).getId());
hotspotProfileAp.getChildProfileIds().add(createPasspointRfProfile(customerId).getId());
return hotspotProfileAp;
}
static Profile createPasspointRfProfile(Customer customer) {
static Profile createPasspointRfProfile(int customerId) {
Profile profileRf = new Profile();
profileRf.setCustomerId(customer.getId());
profileRf.setCustomerId(customerId);
profileRf.setName("TipWlan-rf-passpoint");
RfConfiguration rfConfig = RfConfiguration.createWithDefaults();
rfConfig.getRfConfigMap().forEach((x, y) -> y.setRf("TipWlan-rf-passpoint"));
@@ -202,14 +209,14 @@ public class OvsdbDaoTestUtilities {
return profileRf;
}
static Profile createOsuProviderProfile(Customer customer, Profile hotspot20IdProviderProfile,
List<MccMnc> mccMncList, Set<String> realms, String serverUri, String suffix, String domainName,
static Profile createOsuProviderProfile(int customerId, Profile hotspot20IdProviderProfile,
List<PasspointMccMnc> mccMncList, Set<String> realms, String serverUri, String suffix, String domainName,
List<Byte> roamingOi) {
Hotspot20IdProviderProfile passpointIdProviderProfile = Hotspot20IdProviderProfile.createWithDefaults();
PasspointOsuProviderProfile passpointIdProviderProfile = PasspointOsuProviderProfile.createWithDefaults();
passpointIdProviderProfile.setMccMncList(mccMncList);
OsuIcon icon1 = new OsuIcon();
PasspointOsuIcon icon1 = new PasspointOsuIcon();
icon1.setIconLocale(Locale.CANADA);
icon1.setIconWidth(32);
icon1.setIconHeight(32);
@@ -217,7 +224,7 @@ public class OvsdbDaoTestUtilities {
icon1.setIconName("icon32eng");
icon1.setImageUrl("https://localhost:9096/icon32eng.png");
icon1.setFilePath("/tmp/icon32eng.png");
OsuIcon icon2 = new OsuIcon();
PasspointOsuIcon icon2 = new PasspointOsuIcon();
icon2.setIconLocale(Locale.CANADA_FRENCH);
icon2.setIconWidth(32);
icon2.setIconHeight(32);
@@ -225,7 +232,7 @@ public class OvsdbDaoTestUtilities {
icon2.setIconName("icon32fra");
icon2.setImageUrl("https://localhost:9096/icon32fra.png");
icon2.setFilePath("/tmp/icon32fra.png");
OsuIcon icon3 = new OsuIcon();
PasspointOsuIcon icon3 = new PasspointOsuIcon();
icon3.setIconLocale(Locale.US);
icon3.setIconWidth(32);
icon3.setIconHeight(32);
@@ -233,16 +240,16 @@ public class OvsdbDaoTestUtilities {
icon3.setIconName("icon32usa");
icon3.setImageUrl("https://localhost:9096/icon32usa.png");
icon3.setFilePath("/tmp/icon32usa.png");
List<OsuIcon> osuIconList = new ArrayList<>();
List<PasspointOsuIcon> osuIconList = new ArrayList<>();
osuIconList.add(icon1);
osuIconList.add(icon2);
osuIconList.add(icon3);
passpointIdProviderProfile.setOsuIconList(osuIconList);
passpointIdProviderProfile.setRoamingOi(roamingOi);
List<NaiRealmInformation> naiRealmList = new ArrayList<>();
List<PasspointNaiRealmInformation> naiRealmList = new ArrayList<>();
NaiRealmInformation naiRealmInfo = NaiRealmInformation.createWithDefaults();
PasspointNaiRealmInformation naiRealmInfo = PasspointNaiRealmInformation.createWithDefaults();
naiRealmInfo.setNaiRealms(realms);
naiRealmList.add(naiRealmInfo);
@@ -254,22 +261,22 @@ public class OvsdbDaoTestUtilities {
methodList.add(1);
methodList.add(0);
passpointIdProviderProfile.setOsuMethodList(methodList);
Hotspot20Duple enOsuProvider = Hotspot20Duple.createWithDefaults();
PasspointDuple enOsuProvider = PasspointDuple.createWithDefaults();
enOsuProvider.setLocale(Locale.CANADA);
enOsuProvider.setDupleName("Example provider " + suffix);
Hotspot20Duple frOsuProvider = Hotspot20Duple.createWithDefaults();
PasspointDuple frOsuProvider = PasspointDuple.createWithDefaults();
frOsuProvider.setLocale(Locale.CANADA_FRENCH);
frOsuProvider.setDupleName("Exemple de fournisseur " + suffix);
List<Hotspot20Duple> friendlyNameList = new ArrayList<>();
List<PasspointDuple> friendlyNameList = new ArrayList<>();
friendlyNameList.add(enOsuProvider);
friendlyNameList.add(frOsuProvider);
passpointIdProviderProfile.setOsuFriendlyName(friendlyNameList);
List<Hotspot20Duple> osuServiceDescription = new ArrayList<>();
Hotspot20Duple enService = Hotspot20Duple.createWithDefaults();
List<PasspointDuple> osuServiceDescription = new ArrayList<>();
PasspointDuple enService = PasspointDuple.createWithDefaults();
enService.setLocale(Locale.CANADA);
enService.setDupleName("Example services " + suffix);
osuServiceDescription.add(enService);
Hotspot20Duple frService = Hotspot20Duple.createWithDefaults();
PasspointDuple frService = PasspointDuple.createWithDefaults();
frService.setLocale(Locale.CANADA_FRENCH);
frService.setDupleName("Exemples de services " + suffix);
osuServiceDescription.add(frService);
@@ -301,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 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(
@@ -318,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 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",
@@ -404,7 +412,6 @@ public class OvsdbDaoTestUtilities {
return operationResult;
}
static OperationResult[] hs20IconRows() {
List<Row> ret = new ArrayList<>();
@@ -510,12 +517,32 @@ public class OvsdbDaoTestUtilities {
SelectResult selectResult = new SelectResult(ret);
OperationResult[] operationResult = new OperationResult[1];
operationResult[0].equals(selectResult);
return operationResult;
}
static Profile createRadiusProfile(int customerId) {
Profile profileRadius = new Profile();
profileRadius.setCustomerId(customerId);
profileRadius.setProfileType(ProfileType.radius);
profileRadius.setName("Radius-Profile");
RadiusProfile radiusDetails = new RadiusProfile();
RadiusServiceRegion radiusServiceRegion = new RadiusServiceRegion();
RadiusServer radiusServer = new RadiusServer();
radiusServer.setAuthPort(1812);
try {
radiusServer.setIpAddress(InetAddress.getByName("192.168.0.1"));
} catch (UnknownHostException e) {
throw new IllegalArgumentException(e);
}
radiusServer.setSecret("testing123");
radiusServiceRegion.addRadiusServer("Radius-Profile", radiusServer);
radiusServiceRegion.setRegionName("Ottawa");
radiusDetails.addRadiusServiceRegion(radiusServiceRegion);
profileRadius.setDetails(radiusDetails);
return profileRadius;
}
}