Compare commits

...

55 Commits

Author SHA1 Message Date
Akshay Jagadish
0fcdb7410e release testing 2020-11-27 14:06:30 -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
Akshay Jagadish
5f35b59a34 reverted tag addition for docker build 2020-11-16 17:20:18 -05:00
Akshay Jagadish
d3729a47d2 NETEXP-485:
Added seperate variables for manager_addr port and mqtt_settings port
that are displayed the AWLAN table. The default values are 1883 and
6640, but these can be overriden in the helm charts based on customer
requirements
2020-11-16 17:16:02 -05:00
Mike Hansen
dc8e22a1b5 WIFI-1068: Cloud Backend: Extend or replace existing base_model CountryCode 2020-11-16 14:24:45 -05:00
Mike Hansen
20484b634a WIFI-908: Provision Hotspot20_Config in opensync database via opensync gateway. Fix roaming_oi values 2020-11-16 09:13:46 -05:00
Mike Hansen
a7af164bb1 WIFI-908: Provision Hotspot20_Config in opensync database via opensync gateway. Set the roaming_oi values as hex strings 2020-11-12 18:31:55 -05:00
Mike Hansen
e31b8ebd12 Wifi-727: WMM not getting disabled from the REST API -- remove attribute, it is not configurable, always enabled 2020-11-12 13:35:57 -05:00
Mike Hansen
bdde9561f3 Handling some test scenarios, using postman, which may have null vlanIds 2020-11-10 16:38:19 -05:00
Mike Hansen
2964aa3c3c Metrics: setting values for Tx/Rx Throughput and Tx/Rx Rate Kbps 2020-11-10 13:48:09 -05:00
Mike Hansen
01d9d7538c Wifi-1060: Junit tests for Hotspot20 provisioning 2020-11-09 12:42:41 -05:00
Mike Hansen
ed5f445f11 VLAN changes per AP requirement. When vlan_id is unset or < 2, set vlan_id to 1 2020-11-06 14:40:04 -05:00
Mike Hansen
b47d2ccda1 Radius Accounting Server, ensure supports different name than the radius server 2020-11-05 18:07:33 -05:00
Mike Hansen
b6d6e4dea7 build order change, to ensure dependencies build before dependents 2020-11-05 17:20:23 -05:00
Mike Hansen
1e822e432c remove extra .gitignore files 2020-11-05 17:11:44 -05:00
Mike Hansen
95173ada39 WIFI-870: Add Profile for Operator
Remove unused 'Hostname' attribute from Operator profile, this will be
provided by the id providers (OSU) profiles. Update json files used by
the static configurations.
2020-11-05 11:48:37 -05:00
Mike Hansen
5bfd5dfac7 revert accidental submission of pom, regarding using project artifacts 2020-11-05 10:17:59 -05:00
Mike Hansen
14b410e84b Wifi-999: JUnit updates opensync-gateway and opensync-ext-cloud 2020-11-04 12:36:39 -05:00
Mike Hansen
c8bace4850 Wifi-1004: Provision gre_ifname, gre_local_inet_addr, gre_remote_inet_addr, gre_remote_mac_addr on AP
Add checks to make sure required parameters are not null before
attempting to configure on AP. Required because the gre attributes are
in the ApProfile now, so cannot just have check based on whether there
is an attached GreProfile.
2020-11-04 12:27:20 -05:00
Mike Hansen
b182a6953d Wifi-1004: Provision gre_ifname, gre_local_inet_addr, gre_remote_inet_addr, gre_remote_mac_addr on AP
Wifi-999: JUnit updates opensync-gateway and opensync-ext-cloud

Move the GreProfile attributes to the ApProfile.
2020-11-04 12:15:20 -05:00
Mike Hansen
acdd5eddbf Wifi-1004: Provision gre_ifname, gre_local_inet_addr, gre_remote_inet_addr, gre_remote_mac_addr on AP -- remove hardcoded 'wan' for parent if_name 2020-11-04 11:45:50 -05:00
Mike Hansen
c1de88aa05 Wifi-999: JUnit updates opensync-gateway and opensync-ext-cloud 2020-11-04 10:27:46 -05:00
Mike Hansen
28fcf06175 Wifi-1004: Provision gre_ifname, gre_local_inet_addr, gre_remote_inet_addr, gre_remote_mac_addr on AP 2020-11-03 17:00:08 -05:00
Mike Hansen
a3159ed34e Wifi-996: Add GRE support to WifiInetConfigInfo 2020-11-03 16:57:15 -05:00
Mike Hansen
ee56a5b2bb Wifi-996: Add GRE support to WifiInetConfigInfo 2020-11-03 16:51:47 -05:00
Mike Hansen
b60a72c202 SSIDs and InetConfig for SSIDs remove Vlans when no longer used, set if_name to be lowest availabe for freq band for new VIFs 2020-11-03 15:04:58 -05:00
Mike Hansen
b9dd818ca4 add Radius Accounting Server attributes from Ssid Profile to Wifi_VIF_Config 2020-11-03 09:22:13 -05:00
Mike Hansen
1d7f822ed4 OpensyncGateway changes to only treat clients which appear in
Wifi_Associated_Clients table as clients which can be added to the
cloud's client and client session lists. Other changes through either
stats changes or via other tables in ovsdb can only alter existing
clients and sessions. Else they are ignored.
SSIDs and InetConfig for SSIDs are not automatically deleted if an
existing configuration for this AP containing profiles for the ssids exists on the cloud.
2020-11-02 16:04:41 -05:00
Mike Hansen
6c784367ed When ap connected, check for any clients with AP's wan HWAddr and remove them, in case the AP itself has accidentally been registered as a client previously 2020-10-30 09:30:45 -04:00
Mike Hansen
176f549168 Fix JUnit, add expectation of thrown RuntimeException for new connectionInfoFail case 2020-10-29 20:40:33 -04:00
Mike Hansen
896c38c024 Do not allow AP to connect until the WAN (or LAN if only LAN) state has IP and MAC addresses in the Wifi_Inet_State table 2020-10-29 20:12:15 -04:00
Mike Hansen
15e26fd829 VLAN changes per AP request to create LAN and WAN Vlan Interfaces whenever a VLAN is provisioned 2020-10-29 17:42:12 -04:00
Mike Hansen
4df03431ed Update reported IpV4 address for wan interface based on the value in the
Wifi_Inet_Table when the table state changes. Handles situation where
the AP connects before it's services are up and the table is not
populated with the IPs of the wan/lan interfaces.

Ensure dhcp_sniff is set on all interfaces.
2020-10-29 15:01:05 -04:00
Mike Hansen
7ef59937f2 Update Wifi_Inet_Config for vlan handling 2020-10-28 18:16:40 -04:00
Mike Hansen
0e80415e52 WIFI-1007: AP is reported as WiFi clients 2020-10-28 15:19:29 -04:00
Mike Hansen
10b3a6227d Update Wifi_Inet_Config for vlan handling 2020-10-26 19:10:09 -04:00
Mike Hansen
3adb56f113 Update Wifi_Inet_Config for vlan, adding "_" to interface names. 2020-10-26 18:10:52 -04:00
Mike Hansen
39da1f83a3 Wifi_Inet_Config take ipAssignScheme for vifs from parent interface 2020-10-22 16:53:28 -04:00
Mike Hansen
7f51486979 Merge branch 'master' of github.com:Telecominfraproject/wlan-cloud-opensync-controller 2020-10-21 17:30:35 -04:00
Mike Hansen
62672f090b Re-enable device stats regardless of whether or not profile is used 2020-10-21 17:28:53 -04:00
ralphlee3
012935818d WIFI-797 RF SourceSelection (#13)
* Implementing SourceSelection on RRM parameters, updating static json
2020-10-21 16:30:26 -04:00
77 changed files with 7150 additions and 6731 deletions

View File

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

View File

@@ -1 +0,0 @@
/target/

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

@@ -1,5 +1,6 @@
package com.telecominfraproject.wlan.opensync.external.integration;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
@@ -30,10 +31,11 @@ import com.telecominfraproject.wlan.client.session.models.ClientDhcpDetails;
import com.telecominfraproject.wlan.client.session.models.ClientSession;
import com.telecominfraproject.wlan.client.session.models.ClientSessionDetails;
import com.telecominfraproject.wlan.core.model.entity.CountryCode;
import com.telecominfraproject.wlan.core.model.equipment.AutoOrManualValue;
import com.telecominfraproject.wlan.core.model.equipment.EquipmentType;
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
import com.telecominfraproject.wlan.core.model.equipment.SourceSelectionValue;
import com.telecominfraproject.wlan.core.model.equipment.SourceType;
import com.telecominfraproject.wlan.core.model.pagination.PaginationContext;
import com.telecominfraproject.wlan.core.model.pagination.PaginationResponse;
import com.telecominfraproject.wlan.customer.models.Customer;
@@ -147,6 +149,14 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
private boolean isAutoconfigEnabled;
@Value("${tip.wlan.ovsdb.defaultFwVersion:r10947-65030d81f3}")
private String defaultFwVersion;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_lan_type:bridge}")
public String defaultLanInterfaceType;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_lan_name:lan}")
public String defaultLanInterfaceName;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_wan_type:bridge}")
public String defaultWanInterfaceType;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_wan_name:wan}")
public String defaultWanInterfaceName;
@Autowired
private CacheManager cacheManagerShortLived;
@@ -170,7 +180,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
return ce;
}
@Override
public void apConnected(String apId, ConnectNodeInfo connectNodeInfo) {
@@ -285,36 +294,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
// one:
Profile apProfile = createDefaultApProfile(ce, connectNodeInfo);
profileId = apProfile.getId();
// Initialize equipment from RF Profile
ProfileContainer profileContainer = new ProfileContainer(
profileServiceInterface.getProfileWithChildren(profileId));
RfConfiguration rfConfig = (RfConfiguration) profileContainer.getChildOfTypeOrNull(profileId, ProfileType.rf)
.getDetails();
ApElementConfiguration config = (ApElementConfiguration) ce.getDetails();
Map<RadioType, ElementRadioConfiguration> baseRadioMap = config.getRadioMap();
Map<RadioType, RadioConfiguration> advRadioMap = config.getAdvancedRadioMap();
for (RadioType rType : config.getRadioMap().keySet()) {
ElementRadioConfiguration elementRadioConfig = baseRadioMap.get(rType);
RfElementConfiguration rfElementConfig = rfConfig.getRfConfig(rType);
elementRadioConfig.setClientDisconnectThresholdDb(rfElementConfig.getClientDisconnectThresholdDb());
elementRadioConfig.setEirpTxPower(rfElementConfig.getEirpTxPower());
elementRadioConfig.setPerimeterDetectionEnabled(rfElementConfig.getPerimeterDetectionEnabled());
elementRadioConfig.setProbeResponseThresholdDb(rfElementConfig.getProbeResponseThresholdDb());
elementRadioConfig.setRxCellSizeDb(rfElementConfig.getRxCellSizeDb());
}
for (RadioType rType : config.getAdvancedRadioMap().keySet()) {
RadioConfiguration radioConfig = advRadioMap.get(rType);
RfElementConfiguration rfElementConfig = rfConfig.getRfConfig(rType);
radioConfig.setBestApSettings(rfElementConfig.getBestApSettings());
radioConfig.setManagementRate(rfElementConfig.getManagementRate());
}
config.setAdvancedRadioMap(advRadioMap);
config.setRadioMap(baseRadioMap);
ce.setDetails(config);
}
ce.setProfileId(profileId);
@@ -358,6 +337,8 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
updateApStatus(ce, connectNodeInfo);
removeNonWifiClients(ce, connectNodeInfo);
OvsdbSession ovsdbSession = ovsdbSessionMapInterface.getSession(apId);
ovsdbSession.setRoutingId(equipmentRoutingRecord.getId());
ovsdbSession.setEquipmentId(ce.getId());
@@ -449,7 +430,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
apProfile.getChildProfileIds().add(rfProfile.getId());
// Update AP profile with SSID and RF child profiles
apProfile = profileServiceInterface.update(apProfile);
@@ -510,7 +490,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(
@@ -531,9 +511,12 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
protocolStatusData.setReportedSwVersion("Unknown");
}
try {
protocolStatusData.setReportedIpV4Addr(InetAddress.getByName(connectNodeInfo.ipV4Address));
if (connectNodeInfo.ipV4Address != null) {
protocolStatusData.setReportedIpV4Addr(InetAddress.getByName(connectNodeInfo.ipV4Address));
}
} catch (UnknownHostException e) {
// do nothing here
LOG.error("Could not set IpV4Addr {} on AP {} due to UnknownHostException ",
connectNodeInfo.ipV4Address, ce.getName(), e);
}
if ((connectNodeInfo.macAddress != null) && (MacAddress.valueOf(connectNodeInfo.macAddress) != null)) {
protocolStatusData.setReportedMacAddr(MacAddress.valueOf(connectNodeInfo.macAddress));
@@ -542,7 +525,8 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
protocolStatusData.setSerialNumber(connectNodeInfo.serialNumber);
protocolStatusData.setSystemName(connectNodeInfo.model);
statusRecord.setDetails(protocolStatusData);
statusServiceInterface.update(statusRecord);
Status protocolStatus = statusServiceInterface.update(statusRecord);
LOG.debug("ProtocolStatus for AP {} updated to {}", ce.getName(), protocolStatus);
statusRecord = statusServiceInterface.getOrNull(ce.getCustomerId(), ce.getId(), StatusDataType.FIRMWARE);
if (statusRecord == null) {
@@ -588,6 +572,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);
}
@@ -596,6 +581,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
netAdminStatusData.setDhcpStatus(StatusCode.normal);
netAdminStatusData.setCloudLinkStatus(StatusCode.normal);
netAdminStatusData.setDnsStatus(StatusCode.normal);
netAdminStatusData.setRadiusStatus(StatusCode.normal);
networkAdminStatusRec.setDetails(netAdminStatusData);
@@ -607,6 +593,32 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
}
private void removeNonWifiClients(Equipment ce, ConnectNodeInfo connectNodeInfo) {
// need to make sure that this AP didn't accidentally get registered as
// a client previously via a partial DHCP lease event
LOG.info("Checking for non-wifi client types for Equipment {}", ce);
com.telecominfraproject.wlan.client.models.Client client = clientServiceInterface.getOrNull(ce.getCustomerId(),
ce.getBaseMacAddress());
if (client != null) {
ClientSession clientSession = clientServiceInterface.getSessionOrNull(ce.getCustomerId(), ce.getId(),
ce.getBaseMacAddress());
if (clientSession != null) {
clientSession = clientServiceInterface.deleteSession(ce.getCustomerId(), ce.getId(),
client.getMacAddress());
LOG.info("Removed invalid client session {}", clientSession);
}
client = clientServiceInterface.delete(ce.getCustomerId(), client.getMacAddress());
LOG.info("Removed invalid client type {}", client);
} else {
LOG.info("No clients with MAC address {} registered for customer {}", ce.getBaseMacAddress(),
ce.getCustomerId());
}
LOG.info("Finished checking for and removing non-wifi client types for Equipment {}", ce);
}
private void reconcileFwVersionToTrack(Equipment ce, String reportedFwVersionFromAp, String model) {
LOG.debug("reconcileFwVersionToTrack for AP {} with active firmware version {} model {}", ce.getInventoryId(),
@@ -816,7 +828,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
profileContainer.getChildrenOfType(equipmentConfig.getProfileId(), ProfileType.ssid));
ret.setMetricsProfiles(
profileContainer.getChildrenOfType(equipmentConfig.getProfileId(), ProfileType.metrics));
profileContainer.getChildrenOfType(equipmentConfig.getProfileId(), ProfileType.service_metrics_collection_config));
Set<Profile> radiusSet = new HashSet<>();
Set<Long> captiveProfileIds = new HashSet<>();
@@ -832,10 +844,10 @@ 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));
radiusSet
.addAll(profileContainer.getChildrenOfType(ret.getApProfile().getId(), ProfileType.radius));
if (ssidProfile.getDetails() != null) {
Long captivePortId = ((SsidConfiguration) ssidProfile.getDetails()).getCaptivePortalId();
if (captivePortId != null) {
@@ -849,13 +861,14 @@ 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);
@@ -894,7 +907,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
mqttMessageProcessor.processMqttMessage(topic, report);
}
@Override
public void processMqttMessage(String topic, FlowReport flowReport) {
mqttMessageProcessor.processMqttMessage(topic, flowReport);
@@ -934,9 +946,9 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
ApElementConfiguration apElementConfig = (ApElementConfiguration) apNode.getDetails();
ProfileContainer profileContainer = new ProfileContainer(
profileServiceInterface.getProfileWithChildren(apNode.getProfileId()));
RfConfiguration rfConfig = (RfConfiguration) profileContainer.getChildOfTypeOrNull(apNode.getProfileId(), ProfileType.rf)
.getDetails();
profileServiceInterface.getProfileWithChildren(apNode.getProfileId()));
RfConfiguration rfConfig = (RfConfiguration) profileContainer
.getChildOfTypeOrNull(apNode.getProfileId(), ProfileType.rf).getDetails();
for (OpensyncAPVIFState vifState : vifStateTables) {
@@ -971,11 +983,11 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
Map<RadioType, RfElementConfiguration> rfElementMap = rfConfig.getRfConfigMap();
Map<RadioType, ElementRadioConfiguration> elementRadioMap = apElementConfig.getRadioMap();
for (RadioType rType : elementRadioMap.keySet()) {
boolean autoChannelSelection = rfElementMap.get(rType).getAutoChannelSelection();
if (elementRadioMap.get(rType).getActiveChannel(autoChannelSelection) == channel) {
radioType = rType;
break;
}
boolean autoChannelSelection = rfElementMap.get(rType).getAutoChannelSelection();
if (elementRadioMap.get(rType).getActiveChannel(autoChannelSelection) == channel) {
radioType = rType;
break;
}
}
updateActiveBssids(customerId, equipmentId, apId, ssid, radioType, bssid, numClients);
@@ -988,7 +1000,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
updateClientDetailsStatus(customerId, equipmentId, (ActiveBSSIDs) activeBssidsStatus.getDetails());
}
LOG.info("Finished wifiVIFStateDbTableUpdate updated {}", activeBssidsStatus);
}
@@ -1086,8 +1097,19 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
}
if (radioState.getTxPower() > 0) {
apElementConfiguration.getRadioMap().get(radioState.getFreqBand())
.setEirpTxPower(AutoOrManualValue.createManualInstance(radioState.getTxPower()));
SourceType txPowerSource = apElementConfiguration.getRadioMap().get(radioState.getFreqBand())
.getEirpTxPower().getSource();
// Preserve the source while updating the value
if (txPowerSource == SourceType.auto) {
apElementConfiguration.getRadioMap().get(radioState.getFreqBand())
.setEirpTxPower(SourceSelectionValue.createAutomaticInstance(radioState.getTxPower()));
} else if (txPowerSource == SourceType.profile) {
apElementConfiguration.getRadioMap().get(radioState.getFreqBand())
.setEirpTxPower(SourceSelectionValue.createProfileInstance(radioState.getTxPower()));
} else {
apElementConfiguration.getRadioMap().get(radioState.getFreqBand())
.setEirpTxPower(SourceSelectionValue.createManualInstance(radioState.getTxPower()));
}
LOG.debug("Updated TxPower from Wifi_Radio_State table change for AP {}", apId);
}
@@ -1112,8 +1134,8 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
protocolStatusData = (EquipmentProtocolStatusData) protocolStatus.getDetails();
if (!protocolStatusData.getReportedCC()
.equals(CountryCode.valueOf(radioState.getCountry().toLowerCase()))) {
protocolStatusData.setReportedCC(CountryCode.valueOf(radioState.getCountry().toLowerCase()));
.equals(CountryCode.getByName((radioState.getCountry())))) {
protocolStatusData.setReportedCC(CountryCode.getByName((radioState.getCountry())));
protocolStatus.setDetails(protocolStatusData);
} else {
@@ -1122,10 +1144,8 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
}
}
if (protocolStatus != null) {
statusServiceInterface.update(protocolStatus);
}
@@ -1162,6 +1182,8 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
Status activeBssidsStatus = statusServiceInterface.getOrNull(customerId, equipmentId,
StatusDataType.ACTIVE_BSSIDS);
statusServiceInterface.getForCustomer(customerId, null, ImmutableSet.of(StatusDataType.ACTIVE_BSSIDS), null,
null);
if (activeBssidsStatus == null) {
activeBssidsStatus = new Status();
activeBssidsStatus.setCustomerId(customerId);
@@ -1196,7 +1218,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
apId, currentActiveBSSIDs, ssid);
}
ActiveBSSID activeBssid = new ActiveBSSID();
activeBssid.setBssid(macAddress);
activeBssid.setSsid(ssid);
@@ -1204,16 +1225,14 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
activeBssid.setNumDevicesConnected(numClients);
currentActiveBSSIDs.add(activeBssid);
statusDetails.setActiveBSSIDs(currentActiveBSSIDs);
activeBssidsStatus.setDetails(statusDetails);
activeBssidsStatus = statusServiceInterface.update(activeBssidsStatus);
if (LOG.isTraceEnabled()) {
LOG.trace("Processing Wifi_VIF_State table update for AP {}, updated ACTIVE_BSSID Status {}", apId,
activeBssidsStatus.toPrettyString());
}
LOG.info("Processing Wifi_VIF_State table update for AP {}, updated ACTIVE_BSSID Status {}", apId,
activeBssidsStatus);
}
@Override
@@ -1221,6 +1240,125 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
LOG.debug("Received Wifi_Inet_State table update for AP {}", apId);
OvsdbSession ovsdbSession = ovsdbSessionMapInterface.getSession(apId);
if (ovsdbSession == null) {
LOG.debug("wifiInetStateDbTableUpdate::Cannot get Session for AP {}", apId);
return;
}
int customerId = ovsdbSession.getCustomerId();
long equipmentId = ovsdbSession.getEquipmentId();
if ((customerId < 0) || (equipmentId < 0)) {
LOG.debug("wifiInetStateDbTableUpdate::Cannot get valid CustomerId {} or EquipmentId {} for AP {}",
customerId, equipmentId, apId);
return;
}
Equipment ce = equipmentServiceInterface.getOrNull(equipmentId);
if (ce == null) {
LOG.debug("wifiInetStateDbTableUpdate Cannot get customer Equipment for {}", apId);
return;
}
Status lanStatus = statusServiceInterface.getOrNull(customerId, equipmentId, StatusDataType.LANINFO);
if (lanStatus == null) {
lanStatus = new Status();
lanStatus.setCustomerId(customerId);
lanStatus.setEquipmentId(equipmentId);
lanStatus.setStatusDataType(StatusDataType.LANINFO);
lanStatus.setDetails(new EquipmentLANStatusData());
lanStatus = statusServiceInterface.update(lanStatus);
}
EquipmentLANStatusData lanStatusData = (EquipmentLANStatusData) lanStatus.getDetails();
Status protocolStatus = statusServiceInterface.getOrNull(customerId, equipmentId, StatusDataType.PROTOCOL);
if (protocolStatus == null) {
protocolStatus = new Status();
protocolStatus.setCustomerId(customerId);
protocolStatus.setEquipmentId(equipmentId);
protocolStatus.setStatusDataType(StatusDataType.PROTOCOL);
protocolStatus.setDetails(new EquipmentProtocolStatusData());
protocolStatus = statusServiceInterface.update(protocolStatus);
}
EquipmentProtocolStatusData protocolStatusData = (EquipmentProtocolStatusData) protocolStatus.getDetails();
for (OpensyncAPInetState inetState : inetStateTables) {
if (inetState.ifName != null && inetState.ifName.equals(defaultWanInterfaceName)) {
if (inetState.inetAddr != null) {
try {
protocolStatusData.setReportedIpV4Addr(Inet4Address.getByName(inetState.inetAddr));
protocolStatus.setDetails(protocolStatusData);
protocolStatus = statusServiceInterface.update(protocolStatus);
LOG.info("Updated IpV4Addr for AP {} to {} from Wifi_Inet_State change for if_name {}", apId,
((EquipmentProtocolStatusData) protocolStatus.getDetails()).getReportedIpV4Addr(),
inetState.ifName);
LOG.debug("ProtocolStatus for AP {} updated to {}", apId, protocolStatus);
} catch (UnknownHostException e) {
LOG.error("Could not set IpV4Addr {} on AP {} due to UnknownHostException ", inetState.inetAddr,
apId, e);
}
}
}
if (inetState.getIfType().equals("vlan") && inetState.parentIfName != null
&& inetState.parentIfName.equals(defaultWanInterfaceName)) {
try {
VLANStatusData vlanStatusData = new VLANStatusData();
if (inetState.gateway != null)
vlanStatusData.setGateway(InetAddress.getByName(inetState.getGateway()));
if (inetState.dns != null) {
String primaryDns = inetState.dns.get("primary");
if (primaryDns != null) {
vlanStatusData.setDnsServer1(InetAddress.getByName(primaryDns));
}
String secondaryDns = inetState.dns.get("secondary");
if (secondaryDns != null) {
vlanStatusData.setDnsServer2(InetAddress.getByName(secondaryDns));
}
}
if (inetState.netmask != null) {
vlanStatusData.setSubnetMask(InetAddress.getByName(inetState.netmask));
}
if (inetState.dhcpd != null) {
String dhcpOption = inetState.dhcpd.get("dhcp_option");
if (dhcpOption != null) {
String dhcpServer = dhcpOption.split(",")[1];
if (dhcpServer != null) {
vlanStatusData.setDhcpServer(InetAddress.getByName(dhcpServer));
}
}
}
String inetAddr = inetState.getInetAddr();
if (inetAddr != null) {
vlanStatusData.setIpBase(InetAddress.getByName(inetAddr));
}
lanStatusData.getVlanStatusDataMap().put(inetState.vlanId, vlanStatusData);
lanStatus.setDetails(lanStatusData);
lanStatus = statusServiceInterface.update(lanStatus);
LOG.info("LANINFO updated for VLAN {}", lanStatus);
} catch (UnknownHostException e) {
LOG.error("Unknown Host while configuring LANINFO", e);
}
}
}
}
@@ -1229,7 +1367,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
LOG.debug("Received Wifi_Inet_State table delete for AP {}", apId);
}
@Override
@@ -1279,9 +1416,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
isReassociation = false;
}
ClientInfoDetails clientDetails = (ClientInfoDetails) clientInstance.getDetails();
clientInstance.setDetails(clientDetails);
clientInstance = clientServiceInterface.update(clientInstance);
@@ -1296,16 +1430,13 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
clientSession.setLocationId(ce.getLocationId());
ClientSessionDetails clientSessionDetails = new ClientSessionDetails();
clientSessionDetails.setIsReassociation(isReassociation);
clientSessionDetails.setSessionId(clientInstance.getMacAddress().getAddressAsLong());
clientSession.setDetails(clientSessionDetails);
clientSession = clientServiceInterface.updateSession(clientSession);
}
ClientSessionDetails clientSessionDetails = clientSession.getDetails();
clientSessionDetails.setAssociationState(AssociationState._802_11_Associated);
clientSessionDetails.setAssocTimestamp(System.currentTimeMillis());
clientSessionDetails.setSessionId(clientInstance.getMacAddress().getAddressAsLong());
clientSession.getDetails().mergeSession(clientSessionDetails);
clientSession = clientServiceInterface.updateSession(clientSession);
@@ -1355,7 +1486,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
}
}
Status protocolStatus = statusServiceInterface.getOrNull(customerId, equipmentId, StatusDataType.PROTOCOL);
if (protocolStatus == null) {
protocolStatus = new Status();
@@ -1606,7 +1736,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
}
bssidList.removeAll(toBeDeleted);
statusDetails.setActiveBSSIDs(bssidList);
@@ -1638,33 +1767,31 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
return;
}
Set<MacAddress> macAddressSet = new HashSet<>();
macAddressSet.add(new MacAddress(deletedClientMac));
List<ClientSession> clientSessionList = clientServiceInterface.getSessions(customerId, macAddressSet);
com.telecominfraproject.wlan.client.models.Client client = clientServiceInterface.getOrNull(customerId,
new MacAddress(deletedClientMac));
ClientSession clientSession = clientServiceInterface.getSessionOrNull(customerId, equipmentId,
new MacAddress(deletedClientMac));
for (ClientSession session : clientSessionList) {
ClientSessionDetails clientSessionDetails = session.getDetails();
if ((clientSessionDetails.getAssociationState() != null)
&& !clientSessionDetails.getAssociationState().equals(AssociationState.Disconnected)) {
clientSessionDetails.setDisconnectByClientTimestamp(System.currentTimeMillis());
clientSessionDetails.setAssociationState(AssociationState.Disconnected);
session.setDetails(clientSessionDetails);
session = clientServiceInterface.updateSession(session);
if (LOG.isTraceEnabled()) {
LOG.trace("wifiAssociatedClientsDbTableDelete Updated client session, set to disconnected {}",
session.toPrettyString());
if (client != null) {
if (clientSession != 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) {
clientSession = clientServiceInterface.deleteSession(customerId, equipmentId,
new MacAddress(deletedClientMac));
LOG.info("No client {} found, delete session {}", new MacAddress(deletedClientMac), clientSession);
}
}
}
}
@Override
public void dhcpLeasedIpDbTableUpdate(List<Map<String, String>> dhcpAttributes, String apId,
@@ -1688,7 +1815,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
return;
}
Equipment ce = getCustomerEquipment(apId);
if (ce == null) {
@@ -1698,39 +1824,44 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
long locationId = ce.getLocationId();
//         "hwaddr":
//         "inet_addr":
//         "hostname":
//         "fingerprint":
//         "vendor_class":
//         "lease_time":
//         "subnet_mask":
//         "gateway":
//         "dhcp_server":
//         "primary_dns":
//         "secondary_dns":
//         "db_status":
//         "device_name":
//         "device_type":
//         "manuf_id":
if (rowUpdateOperation.equals(RowUpdateOperation.INSERT)) {
List<ClientSession> clientSessionList = new ArrayList<>();
for (Map<String, String> dhcpLeasedIps : dhcpAttributes) {
if (!dhcpLeasedIps.containsKey("hwaddr")) {
LOG.info("Cannot insert a client {} that has no hwaddr.", dhcpLeasedIps);
continue;
}
MacAddress clientMacAddress = new MacAddress(dhcpLeasedIps.get("hwaddr"));
com.telecominfraproject.wlan.client.models.Client client = clientServiceInterface.getOrNull(customerId,
clientMacAddress);
if (client != null) {
if (client == null) {
LOG.info("Cannot find client instance for {}", clientMacAddress);
continue;
} 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
ClientSession clientSession = clientServiceInterface.getSessionOrNull(customerId, equipmentId,
clientMacAddress);
if (clientSession != null) {
LOG.info("Deleting invalid client session {}",
clientServiceInterface.deleteSession(customerId, equipmentId, clientMacAddress));
}
LOG.info("Deleting invalid client {}", clientServiceInterface.delete(customerId, clientMacAddress));
continue;
} else {
LOG.info("Client {} already exists on the cloud, update client values", dhcpLeasedIps);
ClientInfoDetails clientDetails = (ClientInfoDetails) client.getDetails();
@@ -1747,7 +1878,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
if (dhcpLeasedIps.containsKey("device_type")) {
DhcpFpDeviceType dhcpFpDeviceType = DhcpFpDeviceType
.getByName(dhcpLeasedIps.get("device_type"));
ClientType clientType = OvsdbToWlanCloudTypeMappingUtility
@@ -1767,6 +1897,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
// In this case, we might have a session, as the client
// already exists on the cloud, update if required
ClientSession session = updateClientSession(customerId, equipmentId, locationId, dhcpLeasedIps,
clientMacAddress);
if (session != null) {
@@ -1774,49 +1905,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
}
} else {
client = new com.telecominfraproject.wlan.client.models.Client();
client.setCustomerId(customerId);
client.setMacAddress(clientMacAddress);
ClientInfoDetails clientDetails = new ClientInfoDetails();
if (dhcpLeasedIps.containsKey("hostname")) {
clientDetails.setHostName(dhcpLeasedIps.get("hostname"));
}
if (dhcpLeasedIps.containsKey("fingerprint")) {
clientDetails.setApFingerprint(dhcpLeasedIps.get("fingerprint"));
}
if (dhcpLeasedIps.containsKey("device_type")) {
DhcpFpDeviceType dhcpFpDeviceType = DhcpFpDeviceType
.getByName(dhcpLeasedIps.get("device_type"));
ClientType clientType = OvsdbToWlanCloudTypeMappingUtility
.getClientTypeForDhcpFpDeviceType(dhcpFpDeviceType);
LOG.debug("Translate from ovsdb {} to cloud {}", dhcpFpDeviceType, clientType);
clientDetails.setClientType(clientType.getId());
}
client.setDetails(clientDetails);
client = clientServiceInterface.create(client);
LOG.info("Created Client {}.", client);
}
}
if (!clientSessionList.isEmpty()) {
@@ -1825,7 +1914,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
LOG.info("Updated client sessions {}", clientSessionList);
}
} else if (rowUpdateOperation.equals(RowUpdateOperation.MODIFY)
|| rowUpdateOperation.equals(RowUpdateOperation.INIT)) {
@@ -1841,59 +1929,75 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
}
MacAddress clientMacAddress = new MacAddress(dhcpLeasedIps.get("hwaddr"));
com.telecominfraproject.wlan.client.models.Client client = clientServiceInterface.getOrNull(customerId,
clientMacAddress);
if (client == null) {
LOG.info("Client {} does not exist on the cloud. Creating...", dhcpLeasedIps);
client = new com.telecominfraproject.wlan.client.models.Client();
client.setCustomerId(customerId);
client.setMacAddress(clientMacAddress);
ClientInfoDetails clientDetails = new ClientInfoDetails();
LOG.info("Cannot find client instance for {}", clientMacAddress);
continue;
} 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
ClientSession clientSession = clientServiceInterface.getSessionOrNull(customerId, equipmentId,
clientMacAddress);
if (clientSession != null) {
LOG.info("Deleting invalid client session {}",
clientServiceInterface.deleteSession(customerId, equipmentId, clientMacAddress));
}
LOG.info("Deleting invalid client {}", clientServiceInterface.delete(customerId, clientMacAddress));
continue;
} else {
ClientInfoDetails clientDetails = (ClientInfoDetails) client.getDetails();
if (dhcpLeasedIps.containsKey("hostname")) {
clientDetails.setHostName(dhcpLeasedIps.get("hostname"));
}
if (dhcpLeasedIps.containsKey("fingerprint")) {
clientDetails.setApFingerprint(dhcpLeasedIps.get("fingerprint"));
}
if (dhcpLeasedIps.containsKey("device_type")) {
DhcpFpDeviceType dhcpFpDeviceType = DhcpFpDeviceType
.getByName(dhcpLeasedIps.get("device_type"));
ClientType clientType = OvsdbToWlanCloudTypeMappingUtility
.getClientTypeForDhcpFpDeviceType(dhcpFpDeviceType);
LOG.debug("Translate from ovsdb {} to cloud {}", dhcpFpDeviceType, clientType);
clientDetails.setClientType(clientType.getId());
}
client.setDetails(clientDetails);
client = clientServiceInterface.create(client);
client = clientServiceInterface.update(client);
}
LOG.info("Updated Client {}.", client);
ClientInfoDetails clientDetails = (ClientInfoDetails) client.getDetails();
if (dhcpLeasedIps.containsKey("hostname")) {
// check if there is a session for this client
clientDetails.setHostName(dhcpLeasedIps.get("hostname"));
}
if (dhcpLeasedIps.containsKey("fingerprint")) {
clientDetails.setApFingerprint(dhcpLeasedIps.get("fingerprint"));
}
if (dhcpLeasedIps.containsKey("device_type")) {
DhcpFpDeviceType dhcpFpDeviceType = DhcpFpDeviceType.getByName(dhcpLeasedIps.get("device_type"));
ClientType clientType = OvsdbToWlanCloudTypeMappingUtility
.getClientTypeForDhcpFpDeviceType(dhcpFpDeviceType);
LOG.debug("Translate from ovsdb {} to cloud {}", dhcpFpDeviceType, clientType);
clientDetails.setClientType(clientType.getId());
}
client.setDetails(clientDetails);
client = clientServiceInterface.update(client);
LOG.info("Updated Client {}.", client);
// check if there is a session for this client
ClientSession session = updateClientSession(customerId, equipmentId, locationId, dhcpLeasedIps,
clientMacAddress);
if (session != null) {
clientSessionList.add(session);
ClientSession session = updateClientSession(customerId, equipmentId, locationId, dhcpLeasedIps,
clientMacAddress);
if (session != null) {
clientSessionList.add(session);
}
}
}
@@ -1909,7 +2013,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
LOG.debug("Recieved deletions, not removing client(s) from cloud", dhcpAttributes);
}
}
protected ClientSession updateClientSession(int customerId, long equipmentId, long locationId,
@@ -1932,9 +2035,8 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
//         "device_type":
//         "manuf_id":
if (session == null) {
session = new ClientSession();
return null;
}
session.setCustomerId(customerId);
session.setEquipmentId(equipmentId);
@@ -1959,14 +2061,12 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
}
if (dhcpLeasedIps.containsKey("hostname")) {
clientSessionDetails.setHostname(dhcpLeasedIps.get("hostname"));
}
ClientDhcpDetails clientDhcpDetails = new ClientDhcpDetails(clientSessionDetails.getSessionId());
if (dhcpLeasedIps.containsKey("dhcp_server")) {
@@ -2044,7 +2144,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
}
}
if (dhcpLeasedIps.containsKey("device_name")) {
clientSessionDetails.setClassificationName(dhcpLeasedIps.get("device_name"));
}
@@ -2053,7 +2152,6 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
session.getDetails().mergeSession(clientSessionDetails);
return session;
}
@@ -2066,5 +2164,4 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
// TODO: will handle changes from Command_State table
}
}

View File

@@ -39,7 +39,6 @@ import com.telecominfraproject.wlan.core.model.equipment.SecurityType;
import com.telecominfraproject.wlan.core.model.equipment.WiFiSessionUtility;
import com.telecominfraproject.wlan.core.model.utils.DecibelUtils;
import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface;
import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration;
import com.telecominfraproject.wlan.equipment.models.Equipment;
import com.telecominfraproject.wlan.opensync.ovsdb.dao.utilities.OvsdbToWlanCloudTypeMappingUtility;
import com.telecominfraproject.wlan.profile.ProfileServiceInterface;
@@ -74,7 +73,9 @@ 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.RealTimeEventType;
import com.telecominfraproject.wlan.systemevent.equipment.realtime.RealTimeSipCallReportEvent;
import com.telecominfraproject.wlan.systemevent.equipment.realtime.RealTimeSipCallStartEvent;
@@ -147,7 +148,7 @@ 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);
int customerId = extractCustomerIdFromTopic(topic);
@@ -244,7 +245,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
if (!metricRecordList.isEmpty()) {
LOG.debug("Publishing Metrics {}", metricRecordList);
LOG.info("Publishing Metrics {}", metricRecordList);
equipmentMetricsCollectorInterface.publishMetrics(metricRecordList);
}
@@ -289,7 +290,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
void processEventReport(Report report, int customerId, long equipmentId, String apId, long locationId) {
report.getEventReportList().stream().forEach(e -> {
@@ -442,7 +442,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
clientSessionDetails.setAssociationState(AssociationState._802_11_Associated);
if (clientSession.getDetails() == null) {
clientSession.setDetails(clientSessionDetails);
} else {
@@ -453,7 +452,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
}
}
@@ -509,7 +507,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
clientSessionDetails.setSessionId(apEventClientSession.getSessionId());
if (clientDisconnectEvent.hasLrcvUpTsInUs()) {
clientSessionDetails.setLastRxTimestamp(clientDisconnectEvent.getLrcvUpTsInUs());
}
@@ -527,7 +524,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
clientSessionDetails.setAssociationState(AssociationState.Disconnected);
if (clientSession.getDetails() == null) {
clientSession.setDetails(clientSessionDetails);
} else {
@@ -536,7 +532,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
clientSession = clientServiceInterface.updateSession(clientSession);
} else {
LOG.info("Cannot update client or client session when no client mac address is present");
}
@@ -589,7 +584,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
clientSessionDetails.setAssociationState(AssociationState._802_11_Authenticated);
}
if (clientSession.getDetails() == null) {
clientSession.setDetails(clientSessionDetails);
} else {
@@ -598,7 +592,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
clientSession = clientServiceInterface.updateSession(clientSession);
} else {
LOG.info("Cannot update client or client session when no client mac address is present");
}
@@ -709,7 +702,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
clientSession.setLocationId(locationId);
clientSession.setMacAddress(new MacAddress(clientFailureEvent.getStaMac()));
ClientSessionDetails clientSessionDetails = new ClientSessionDetails();
if (clientFailureEvent.hasSsid()) {
@@ -772,10 +764,8 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
clientSession.setLocationId(locationId);
clientSession.setMacAddress(new MacAddress(clientFirstDataEvent.getStaMac()));
ClientSessionDetails clientSessionDetails = new ClientSessionDetails();
if (clientFirstDataEvent.hasFdataRxUpTsInUs()) {
clientSessionDetails.setFirstDataRcvdTimestamp(clientFirstDataEvent.getFdataRxUpTsInUs());
}
@@ -833,12 +823,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 {
@@ -886,10 +874,8 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
ClientSessionDetails clientSessionDetails = new ClientSessionDetails();
clientSessionDetails.setSessionId(apEventClientSession.getSessionId());
try {
clientSessionDetails
.setIpAddress(InetAddress.getByAddress(clientIpEvent.getIpAddr().toByteArray()));
@@ -992,7 +978,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
eventTimestamp = videoVoiceReport.getTimestampMs();
}
LOG.debug("Received VideoVoiceReport {} for SIP call", videoVoiceReport);
LOG.info("Received VideoVoiceReport {} for SIP call", videoVoiceReport);
processRealTImeSipCallReportEvent(customerId, equipmentId, eventTimestamp, eventsList, videoVoiceReport);
@@ -1046,34 +1032,34 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
if (apRtpFlowStats.hasDirection()) {
switch (apRtpFlowStats.getDirection()) {
case RTP_DOWNSTREAM:
cloudRtpStats.setDirection(
com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowDirection.DOWNSTREAM);
break;
case RTP_UPSTREAM:
cloudRtpStats.setDirection(
com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowDirection.UPSTREAM);
break;
default:
cloudRtpStats.setDirection(
com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowDirection.UNSUPPORTED);
case RTP_DOWNSTREAM:
cloudRtpStats.setDirection(
com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowDirection.DOWNSTREAM);
break;
case RTP_UPSTREAM:
cloudRtpStats.setDirection(
com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowDirection.UPSTREAM);
break;
default:
cloudRtpStats.setDirection(
com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowDirection.UNSUPPORTED);
}
}
if (apRtpFlowStats.hasRtpFlowType()) {
switch (apRtpFlowStats.getRtpFlowType()) {
case RTP_VIDEO:
cloudRtpStats.setFlowType(
com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowType.VIDEO);
break;
case RTP_VOICE:
cloudRtpStats.setFlowType(
com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowType.VOICE);
break;
default:
cloudRtpStats.setFlowType(
com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowType.UNSUPPORTED);
break;
case RTP_VIDEO:
cloudRtpStats.setFlowType(
com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowType.VIDEO);
break;
case RTP_VOICE:
cloudRtpStats.setFlowType(
com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowType.VOICE);
break;
default:
cloudRtpStats.setFlowType(
com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowType.UNSUPPORTED);
break;
}
}
@@ -1101,12 +1087,10 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
cloudRtpStats.setPacketLossPercentage(apRtpFlowStats.getPacketLossPercent());
}
cloudRtpFlowStatsList.add(cloudRtpStats);
}
RealTimeSipCallReportEvent cloudSipCallReportEvent = new RealTimeSipCallReportEvent(customerId, equipmentId,
eventTimestamp);
cloudSipCallReportEvent.setClientMacAddress(MacAddress.valueOf(callReport.getClientMac()));
@@ -1167,10 +1151,8 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
if (apCallStop.hasCallDuration()) {
cloudSipCallStopEvent.setCallDuration(apCallStop.getCallDuration());
}
if (apCallStop.hasClientMac()) {
@@ -1182,15 +1164,15 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
if (apCallStop.hasReason()) {
switch (apCallStop.getReason()) {
case BYE_OK:
cloudSipCallStopEvent.setReason(SipCallStopReason.BYE_OK);
break;
case CALL_DROPPED:
cloudSipCallStopEvent.setReason(SipCallStopReason.DROPPED);
break;
case BYE_OK:
cloudSipCallStopEvent.setReason(SipCallStopReason.BYE_OK);
break;
case CALL_DROPPED:
cloudSipCallStopEvent.setReason(SipCallStopReason.DROPPED);
break;
default:
cloudSipCallStopEvent.setReason(SipCallStopReason.UNSUPPORTED);
default:
cloudSipCallStopEvent.setReason(SipCallStopReason.UNSUPPORTED);
}
}
@@ -1208,7 +1190,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
eventsList.add(cloudSipCallStopEvent);
}
}
@@ -1249,7 +1230,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
eventsList.add(rtsStartEvent);
}
}
@@ -1339,10 +1319,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 +1514,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 +1521,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
totalDurationMs += surveySample.getDurationMs();
noiseList.add(getNegativeSignedIntFrom8BitUnsigned(surveySample.getNoise()));
}
if (totalDurationMs > 0) {
@@ -1593,6 +1570,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
populateNetworkProbeMetrics(report, apNodeMetrics);
updateNetworkAdminStatusReport(customerId, equipmentId, apNodeMetrics);
RadioUtilizationReport radioUtilizationReport = new RadioUtilizationReport();
radioUtilizationReport.setAvgNoiseFloor(avgNoiseFloor);
radioUtilizationReport.setRadioUtilization(radioUtilizationDetailsMap);
@@ -1601,9 +1579,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.info("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.info("No DhcpState present in networkProbeMetrics, set to 'normal");
statusData.setDhcpStatus(StatusCode.normal);
} else {
statusData.setDhcpStatus(stateUpDownErrorToStatusCode(n.getDhcpState()));
}
if (n.getRadiusState() == null) {
LOG.info("No RadiusState present in networkProbeMetrics, set to 'normal");
statusData.setRadiusStatus(StatusCode.normal);
} else {
statusData.setRadiusStatus(stateUpDownErrorToStatusCode(n.getRadiusState()));
}
networkAdminStatus.setDetails(statusData);
networkAdminStatus = statusServiceInterface.update(networkAdminStatus);
LOG.info("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);
@@ -1611,7 +1658,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
StatusDataType.RADIO_UTILIZATION);
if (radioUtilizationStatus == null) {
LOG.debug("Create new radioUtilizationStatus");
LOG.info("Create new radioUtilizationStatus");
radioUtilizationStatus = new Status();
radioUtilizationStatus.setCustomerId(customerId);
radioUtilizationStatus.setEquipmentId(equipmentId);
@@ -1657,7 +1704,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);
}
}
@@ -1693,7 +1741,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
StateUpDownError dhcpState = OvsdbToWlanCloudTypeMappingUtility
.getCloudMetricsStateFromOpensyncStatsStateUpDown(vlanMetrics.getDhcpState());
networkProbeMetrics.setDhcpState(dhcpState);
}
@@ -1722,24 +1769,23 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
eqOsPerformance.setTotalAvailableMemoryKb(deviceReport.getMemUtil().getMemTotal());
status.setDetails(eqOsPerformance);
status = statusServiceInterface.update(status);
LOG.debug("updated status {}", status);
LOG.info("updated status {}", status);
}
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.info("No mac address for Client {}, cannot set device mac address for client in ClientMetrics.",
cl);
continue;
}
LOG.debug("Processing ClientReport from AP {}", cl.getMacAddress());
LOG.info("Processing ClientReport from AP {}", cl.getMacAddress());
ServiceMetric smr = new ServiceMetric(customerId, equipmentId, new MacAddress(cl.getMacAddress()));
smr.setLocationId(locationId);
@@ -1763,7 +1809,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
long sessionId = WiFiSessionUtility.encodeWiFiAssociationId(clReport.getTimestampMs() / 1000L,
MacAddress.convertMacStringToLongValue(cl.getMacAddress()));
LOG.debug("populateApClientMetrics Session Id {}", sessionId);
LOG.info("populateApClientMetrics Session Id {}", sessionId);
cMetrics.setSessionId(sessionId);
if (cl.hasStats()) {
@@ -1821,7 +1867,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
}
LOG.debug("ApClientMetrics Report {}", cMetrics);
LOG.info("ApClientMetrics Report {}", cMetrics);
}
@@ -1831,7 +1877,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()) {
@@ -1891,8 +1937,8 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
}
void handleClientSessionMetricsUpdate(int customerId, long equipmentId, long locationId, RadioType radioType,
long timestamp, sts.OpensyncStats.Client client) {
ClientSession handleClientSessionMetricsUpdate(int customerId, long equipmentId, long locationId,
RadioType radioType, long timestamp, sts.OpensyncStats.Client client) {
try
{
@@ -1904,13 +1950,10 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
boolean isReassociation = true;
if (clientInstance == null) {
clientInstance = new com.telecominfraproject.wlan.client.models.Client();
clientInstance.setCustomerId(customerId);
clientInstance.setMacAddress(new MacAddress(client.getMacAddress()));
clientInstance.setDetails(new ClientInfoDetails());
clientInstance = clientServiceInterface.create(clientInstance);
isReassociation = false;
LOG.info("Cannot get client instance for {}", client.getMacAddress());
return null;
}
LOG.info("Client {}", clientInstance);
@@ -1919,18 +1962,8 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
clientInstance.getMacAddress());
if (clientSession == null) {
clientSession = new ClientSession();
clientSession.setCustomerId(customerId);
clientSession.setEquipmentId(equipmentId);
clientSession.setLocationId(locationId);
clientSession.setMacAddress(clientInstance.getMacAddress());
ClientSessionDetails clientSessionDetails = new ClientSessionDetails();
clientSessionDetails.setSsid(client.getSsid());
clientSessionDetails.setRadioType(radioType);
clientSessionDetails.setSessionId(clientInstance.getMacAddress().getAddressAsLong());
clientSession.setDetails(new ClientSessionDetails());
clientSession = clientServiceInterface.updateSession(clientSession);
LOG.info("Cannot get client session for {}", clientInstance.getMacAddress());
return null;
}
ClientSessionDetails latestClientSessionDetails = clientSession.getDetails();
@@ -1961,7 +1994,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}).collect(Collectors.toList());
if (!ssidConfigList.isEmpty()) {
Profile ssidProfile = ssidConfigList.iterator().next();
SsidConfiguration ssidConfig = (SsidConfiguration) ssidProfile.getDetails();
if (ssidConfig.getSecureMode().equals(SecureMode.open)) {
@@ -1979,7 +2011,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
|| ssidConfig.getSecureMode().equals(SecureMode.wpa2EAP)
|| ssidConfig.getSecureMode().equals(SecureMode.wpa2OnlyEAP)) {
latestClientSessionDetails.setSecurityType(SecurityType.RADIUS);
latestClientSessionDetails.setEapDetails(new ClientEapDetails());
} else {
latestClientSessionDetails.setSecurityType(SecurityType.UNSUPPORTED);
@@ -1989,7 +2020,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
latestClientSessionDetails.setDynamicVlan(ssidConfig.getVlanId());
}
RadioBasedSsidConfiguration radioConfig = ssidConfig.getRadioBasedConfigs().get(radioType);
latestClientSessionDetails
.setIs11KUsed(radioConfig.getEnable80211k() != null ? radioConfig.getEnable80211k() : false);
@@ -2007,35 +2037,61 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
clientSession = clientServiceInterface.updateSession(clientSession);
LOG.debug("Updated client session {}", clientSession);
LOG.info("Updated client session {}", clientSession);
return clientSession;
} catch (Exception e) {
LOG.error("Error while attempting to create ClientSession and Info", e);
}
return null;
}
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.info("Stats: {} DurationMs {}", client.getStats(), client.getDurationMs());
int rssi = client.getStats().getRssi();
metricDetails.setRssi(rssi);
metricDetails.setRxBytes(client.getStats().getRxBytes());
metricDetails.setTxBytes(client.getStats().getTxBytes());
// Frames : data chunk sent over data-link layer (Ethernet, ATM)
// Packets : data chunk sent over IP layer.
// in Wifi, these are the same size, so number of packets is equal to
// number of frames
metricDetails.setTotalTxPackets(client.getStats().getTxFrames());
metricDetails.setTotalRxPackets(client.getStats().getRxFrames());
metricDetails.setTxDataFrames((int) client.getStats().getTxFrames());
metricDetails.setRxDataFrames((int) client.getStats().getRxFrames());
// values reported in Kbps, convert to Mbps
metricDetails.setRxMbps((float) (client.getStats().getRxRate() / 1000));
metricDetails.setTxMbps((float) (client.getStats().getTxRate() / 1000));
metricDetails.setRxRateKbps((long) client.getStats().getRxRate());
metricDetails.setTxRateKbps((long) client.getStats().getTxRate());
if (LOG.isDebugEnabled())
LOG.info("RxRateKbps {} TxRateKbps {}", metricDetails.getRxRateKbps(), metricDetails.getTxRateKbps());
// Throughput, do rate / duration
if (client.getDurationMs() > 0) {
metricDetails.setRxRateKbps((long) client.getStats().getRxRate() / client.getDurationMs());
metricDetails.setTxRateKbps((long) client.getStats().getTxRate() / client.getDurationMs());
if (client.getDurationMs() > 1000) {
int durationSec = client.getDurationMs() / 1000;
// 1 Mbit = 125000 B
float rxBytesFv = Long.valueOf(client.getStats().getRxBytes()).floatValue();
float rxBytesToMb = rxBytesFv / 125000F;
float txBytesFv = Long.valueOf(client.getStats().getRxBytes()).floatValue();
float txBytesToMb = txBytesFv / 125000F;
if (LOG.isDebugEnabled())
LOG.info("rxBytesToMb {} txBytesToMb {} ", rxBytesToMb, txBytesToMb);
metricDetails.setRxMbps(rxBytesToMb / durationSec);
metricDetails.setTxMbps(txBytesToMb / durationSec);
if (LOG.isDebugEnabled())
LOG.info("RxMbps {} TxMbps {} ", metricDetails.getRxMbps(), metricDetails.getTxMbps());
} else {
LOG.info("Cannot calculate tx/rx throughput for Client {} based on duration of {} Ms",
client.getMacAddress(), client.getDurationMs());
@@ -2048,19 +2104,17 @@ 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());
LOG.info("ClientReport for channel {} RadioBand {}", clientReport.getChannel(), clientReport.getBand());
if (smr.getCreatedTimestamp() < clientReport.getTimestampMs()) {
smr.setCreatedTimestamp(clientReport.getTimestampMs());
@@ -2103,12 +2157,11 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
}
}
LOG.debug("Client Report Date is {}", new Date(clientReport.getTimestampMs()));
LOG.info("Client Report Date is {}", new Date(clientReport.getTimestampMs()));
int numConnectedClients = 0;
for (Client client : clientReport.getClientListList()) {
if (client.hasStats()) {
if (client.hasSsid()) {
ssid = client.getSsid();
}
@@ -2133,15 +2186,19 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
try {
if (client.hasConnected() && client.getConnected() && client.hasMacAddress()) {
// update metrics for connected client
numConnectedClients += 1;
handleClientSessionMetricsUpdate(customerId, equipmentId, locationId, radioType,
clientReport.getTimestampMs(), client);
// update service_metrics_collection_config for
// connected client
ClientSession session = handleClientSessionMetricsUpdate(customerId, equipmentId,
locationId, radioType, clientReport.getTimestampMs(), client);
if (session != null) {
numConnectedClients += 1;
}
} else {
// 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,
@@ -2179,9 +2236,8 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
continue; // not connected
}
} catch (Exception e) {
LOG.debug("Unabled to update client {} session {}", client, e);
LOG.info("Unabled to update client {} session {}", client, e);
}
}
@@ -2211,7 +2267,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
LOG.debug("ApSsidMetrics {}", apSsidMetrics);
LOG.info("ApSsidMetrics {}", apSsidMetrics);
}
@@ -2253,12 +2309,12 @@ 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)
.getDetails();
.getDetails();
for (Survey survey : report.getSurveyList()) {
@@ -2313,20 +2369,17 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
channelInfoReports.setChannelInformationReportsPerRadio(channelInfoMap);
}
channelInfoReports.setChannelInformationReportsPerRadio(channelInfoMap);
smr.setDetails(channelInfoReports);
smr.setCreatedTimestamp(survey.getTimestampMs());
metricRecordList.add(smr);
LOG.debug("ChannelInfoReports {}", channelInfoReports);
LOG.info("ChannelInfoReports {}", channelInfoReports);
}
}
int getNegativeSignedIntFrom8BitUnsigned(int unsignedValue) {
byte b = (byte) Integer.parseInt(Integer.toHexString(unsignedValue), 16);
return b;

View File

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

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

@@ -3,6 +3,7 @@ package com.telecominfraproject.wlan.opensync.external.integration.models;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import com.telecominfraproject.wlan.core.model.entity.CountryCode;
@@ -282,4 +283,34 @@ public class OpensyncAPConfig extends BaseJsonModel {
public List<Profile> getMetricsProfiles() {
return metricsProfile;
}
@Override
public int hashCode() {
return Objects.hash(apProfile, blockedClients, bonjourGatewayProfiles, captiveProfiles, customerEquipment,
equipmentGateway, equipmentLocation, equipmentRouting, hotspotConfig, metricsProfile,
radiusProfiles, rfProfile, ssidProfile);
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof OpensyncAPConfig)) {
return false;
}
OpensyncAPConfig other = (OpensyncAPConfig) obj;
return Objects.equals(apProfile, other.apProfile) && Objects.equals(blockedClients, other.blockedClients)
&& Objects.equals(bonjourGatewayProfiles, other.bonjourGatewayProfiles)
&& Objects.equals(captiveProfiles, other.captiveProfiles)
&& Objects.equals(customerEquipment, other.customerEquipment)
&& Objects.equals(equipmentGateway, other.equipmentGateway)
&& Objects.equals(equipmentLocation, other.equipmentLocation)
&& Objects.equals(equipmentRouting, other.equipmentRouting)
&& Objects.equals(hotspotConfig, other.hotspotConfig)
&& Objects.equals(metricsProfile, other.metricsProfile)
&& Objects.equals(radiusProfiles, other.radiusProfiles) && Objects.equals(rfProfile, other.rfProfile)
&& Objects.equals(ssidProfile, other.ssidProfile);
}
}

View File

@@ -6,13 +6,12 @@ import java.util.Map;
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
public class OpensyncAPInetState extends BaseJsonModel {
public class OpensyncAPInetState extends BaseJsonModel {
private static final long serialVersionUID = 1707053648715030173L;
public String ifName;
public String dhcpd;
public Map<String, String> dhcpd;
public String unpnpMode;
public String ifType;
public String softwdsMacAddr;
@@ -37,175 +36,423 @@ public class OpensyncAPInetState extends BaseJsonModel {
public String inetConfig;
public Uuid _uuid;
public Uuid version;
public String greLocalInetAddr;
public String greRemoteMacAddr;
public OpensyncAPInetState() {
super();
dns = new HashMap<>();
dhcpc = new HashMap<>();
}
public String getIfName() {
super();
dns = new HashMap<>();
dhcpc = new HashMap<>();
}
public String getIfName() {
return ifName;
}
public void setIfName(String ifName) {
this.ifName = ifName;
}
public String getDhcpd() {
public Map<String, String> getDhcpd() {
return dhcpd;
}
public void setDhcpd(String dhcpd) {
public void setDhcpd(Map<String, String> dhcpd) {
this.dhcpd = dhcpd;
}
public String getUnpnpMode() {
return unpnpMode;
}
public void setUnpnpMode(String unpnpMode) {
this.unpnpMode = unpnpMode;
}
public String getIfType() {
return ifType;
}
public void setIfType(String ifType) {
this.ifType = ifType;
}
public String getSoftwdsMacAddr() {
return softwdsMacAddr;
}
public void setSoftwdsMacAddr(String softwdsMacAddr) {
this.softwdsMacAddr = softwdsMacAddr;
}
public boolean isEnabled() {
return enabled;
}
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
public boolean isSofwdsWrap() {
return sofwdsWrap;
}
public void setSofwdsWrap(boolean sofwdsWrap) {
this.sofwdsWrap = sofwdsWrap;
}
public int getVlanId() {
return vlanId;
}
public void setVlanId(int vlanId) {
this.vlanId = vlanId;
}
public String getNetmask() {
return netmask;
}
public void setNetmask(String netmask) {
this.netmask = netmask;
}
public boolean isNat() {
return nat;
}
public void setNat(boolean nat) {
this.nat = nat;
}
public String getGreRemoteInetAddr() {
return greRemoteInetAddr;
}
public void setGreRemoteInetAddr(String greRemoteInetAddr) {
this.greRemoteInetAddr = greRemoteInetAddr;
}
public String getIfUuid() {
return ifUuid;
}
public void setIfUuid(String ifUuid) {
this.ifUuid = ifUuid;
}
public String getInetAddr() {
return inetAddr;
}
public void setInetAddr(String inetAddr) {
this.inetAddr = inetAddr;
}
public String getHwAddr() {
return hwAddr;
}
public void setHwAddr(String hwAddr) {
this.hwAddr = hwAddr;
}
public int getMtw() {
return mtw;
}
public void setMtw(int mtw) {
this.mtw = mtw;
}
public boolean isNetwork() {
return network;
}
public void setNetwork(boolean network) {
this.network = network;
}
public Map<String, String> getDns() {
return dns;
}
public void setDns(Map<String, String> dns) {
this.dns = dns;
}
public String getParentIfName() {
return parentIfName;
}
public void setParentIfName(String parentIfName) {
this.parentIfName = parentIfName;
}
public String getGreIfName() {
return greIfName;
}
public void setGreIfName(String greIfName) {
this.greIfName = greIfName;
}
public String getBroadcast() {
return broadcast;
}
public void setBroadcast(String broadcast) {
this.broadcast = broadcast;
}
public Map<String, String> getDhcpc() {
return dhcpc;
}
public void setDhcpc(Map<String, String> dhcpc) {
this.dhcpc = dhcpc;
}
public String getGateway() {
return gateway;
}
public void setGateway(String gateway) {
this.gateway = gateway;
}
public String getIpAssignScheme() {
return ipAssignScheme;
}
public void setIpAssignScheme(String ipAssignScheme) {
this.ipAssignScheme = ipAssignScheme;
}
public String getInetConfig() {
return inetConfig;
}
public void setInetConfig(String inetConfig) {
this.inetConfig = inetConfig;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
public Uuid get_uuid() {
return _uuid;
}
public void set_uuid(Uuid _uuid) {
this._uuid = _uuid;
}
public Uuid getVersion() {
return version;
}
public void setVersion(Uuid version) {
this.version = version;
}
public void setGreLocalInetAddr(String greLocalInetAddr) {
this.greLocalInetAddr = greLocalInetAddr;
}
public String getGreLocalInetAddr() {
return greLocalInetAddr;
}
public void setGreRemoteMacAddr(String greRemoteMacAddr) {
this.greRemoteMacAddr = greRemoteMacAddr;
}
public String getGreRemoteMacAddr(){
return this.greRemoteMacAddr;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((_uuid == null) ? 0 : _uuid.hashCode());
result = prime * result + ((broadcast == null) ? 0 : broadcast.hashCode());
result = prime * result + ((dhcpc == null) ? 0 : dhcpc.hashCode());
result = prime * result + ((dhcpd == null) ? 0 : dhcpd.hashCode());
result = prime * result + ((dns == null) ? 0 : dns.hashCode());
result = prime * result + (enabled ? 1231 : 1237);
result = prime * result + ((gateway == null) ? 0 : gateway.hashCode());
result = prime * result + ((greIfName == null) ? 0 : greIfName.hashCode());
result = prime * result + ((greLocalInetAddr == null) ? 0 : greLocalInetAddr.hashCode());
result = prime * result + ((greRemoteInetAddr == null) ? 0 : greRemoteInetAddr.hashCode());
result = prime * result + ((hwAddr == null) ? 0 : hwAddr.hashCode());
result = prime * result + ((ifName == null) ? 0 : ifName.hashCode());
result = prime * result + ((ifType == null) ? 0 : ifType.hashCode());
result = prime * result + ((ifUuid == null) ? 0 : ifUuid.hashCode());
result = prime * result + ((inetAddr == null) ? 0 : inetAddr.hashCode());
result = prime * result + ((inetConfig == null) ? 0 : inetConfig.hashCode());
result = prime * result + ((ipAssignScheme == null) ? 0 : ipAssignScheme.hashCode());
result = prime * result + mtw;
result = prime * result + (nat ? 1231 : 1237);
result = prime * result + ((netmask == null) ? 0 : netmask.hashCode());
result = prime * result + (network ? 1231 : 1237);
result = prime * result + ((parentIfName == null) ? 0 : parentIfName.hashCode());
result = prime * result + ((greRemoteMacAddr == null) ? 0 : greRemoteMacAddr.hashCode());
result = prime * result + ((softwdsMacAddr == null) ? 0 : softwdsMacAddr.hashCode());
result = prime * result + (sofwdsWrap ? 1231 : 1237);
result = prime * result + ((unpnpMode == null) ? 0 : unpnpMode.hashCode());
result = prime * result + ((version == null) ? 0 : version.hashCode());
result = prime * result + vlanId;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
OpensyncAPInetState other = (OpensyncAPInetState) obj;
if (_uuid == null) {
if (other._uuid != null)
return false;
} else if (!_uuid.equals(other._uuid))
return false;
if (broadcast == null) {
if (other.broadcast != null)
return false;
} else if (!broadcast.equals(other.broadcast))
return false;
if (dhcpc == null) {
if (other.dhcpc != null)
return false;
} else if (!dhcpc.equals(other.dhcpc))
return false;
if (dhcpd == null) {
if (other.dhcpd != null)
return false;
} else if (!dhcpd.equals(other.dhcpd))
return false;
if (dns == null) {
if (other.dns != null)
return false;
} else if (!dns.equals(other.dns))
return false;
if (enabled != other.enabled)
return false;
if (gateway == null) {
if (other.gateway != null)
return false;
} else if (!gateway.equals(other.gateway))
return false;
if (greIfName == null) {
if (other.greIfName != null)
return false;
} else if (!greIfName.equals(other.greIfName))
return false;
if (greLocalInetAddr == null) {
if (other.greLocalInetAddr != null)
return false;
} else if (!greLocalInetAddr.equals(other.greLocalInetAddr))
return false;
if (greRemoteInetAddr == null) {
if (other.greRemoteInetAddr != null)
return false;
} else if (!greRemoteInetAddr.equals(other.greRemoteInetAddr))
return false;
if (hwAddr == null) {
if (other.hwAddr != null)
return false;
} else if (!hwAddr.equals(other.hwAddr))
return false;
if (ifName == null) {
if (other.ifName != null)
return false;
} else if (!ifName.equals(other.ifName))
return false;
if (ifType == null) {
if (other.ifType != null)
return false;
} else if (!ifType.equals(other.ifType))
return false;
if (ifUuid == null) {
if (other.ifUuid != null)
return false;
} else if (!ifUuid.equals(other.ifUuid))
return false;
if (inetAddr == null) {
if (other.inetAddr != null)
return false;
} else if (!inetAddr.equals(other.inetAddr))
return false;
if (inetConfig == null) {
if (other.inetConfig != null)
return false;
} else if (!inetConfig.equals(other.inetConfig))
return false;
if (ipAssignScheme == null) {
if (other.ipAssignScheme != null)
return false;
} else if (!ipAssignScheme.equals(other.ipAssignScheme))
return false;
if (mtw != other.mtw)
return false;
if (nat != other.nat)
return false;
if (netmask == null) {
if (other.netmask != null)
return false;
} else if (!netmask.equals(other.netmask))
return false;
if (network != other.network)
return false;
if (parentIfName == null) {
if (other.parentIfName != null)
return false;
} else if (!parentIfName.equals(other.parentIfName))
return false;
if (greRemoteMacAddr == null) {
if (other.greRemoteMacAddr != null)
return false;
} else if (!greRemoteMacAddr.equals(other.greRemoteMacAddr))
return false;
if (softwdsMacAddr == null) {
if (other.softwdsMacAddr != null)
return false;
} else if (!softwdsMacAddr.equals(other.softwdsMacAddr))
return false;
if (sofwdsWrap != other.sofwdsWrap)
return false;
if (unpnpMode == null) {
if (other.unpnpMode != null)
return false;
} else if (!unpnpMode.equals(other.unpnpMode))
return false;
if (version == null) {
if (other.version != null)
return false;
} else if (!version.equals(other.version))
return false;
if (vlanId != other.vlanId)
return false;
return true;
}
@Override
public String toString() {
return "OpensyncAPInetState [ifName=" + ifName + ", dhcpd=" + dhcpd + ", unpnpMode=" + unpnpMode + ", ifType="
+ ifType + ", softwdsMacAddr=" + softwdsMacAddr + ", enabled=" + enabled + ", sofwdsWrap=" + sofwdsWrap
+ ", vlanId=" + vlanId + ", netmask=" + netmask + ", nat=" + nat + ", greRemoteInetAddr="
+ greRemoteInetAddr + ", ifUuid=" + ifUuid + ", inetAddr=" + inetAddr + ", hwAddr=" + hwAddr + ", mtw="
+ mtw + ", network=" + network + ", dns=" + dns + ", parentIfName=" + parentIfName + ", greIfName="
+ greIfName + ", broadcast=" + broadcast + ", dhcpc=" + dhcpc + ", gateway=" + gateway
+ ", ipAssignScheme=" + ipAssignScheme + ", inetConfig=" + inetConfig + ", _uuid=" + _uuid
+ ", version=" + version + ", greLocalInetAddr=" + greLocalInetAddr + ", greRemoteMacAddr="
+ greRemoteMacAddr + "]";
}
}

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

@@ -38,37 +38,28 @@
"channelNumber": 6,
"manualChannelNumber": 6,
"backupChannelNumber": 11,
"autoChannelSelection": false,
"channelBandwidth": "is20MHz",
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -80,
"perimeterDetectionEnabled": true,
"bestAPSteerType": "both",
"deauthAttackDetection": null,
@@ -81,37 +72,28 @@
"channelNumber": 149,
"manualChannelNumber": 149,
"backupChannelNumber": 154,
"autoChannelSelection": false,
"channelBandwidth": "is80MHz",
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -80,
"perimeterDetectionEnabled": true,
"bestAPSteerType": "both",
"deauthAttackDetection": null,
@@ -124,37 +106,28 @@
"channelNumber": 36,
"manualChannelNumber": 36,
"backupChannelNumber": 44,
"autoChannelSelection": false,
"channelBandwidth": "is80MHz",
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -80,
"perimeterDetectionEnabled": true,
"bestAPSteerType": "both",
"deauthAttackDetection": null,
@@ -168,39 +141,24 @@
"radioType": "is2dot4GHz",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"rtsCtsThreshold": 65535,
"autoChannelSelection": "disabled",
"radioMode": "modeN",
"mimoMode": "twoByTwo",
"wmmState": "enabled",
"uapsdState": "enabled",
"maxNumClients": 100,
"stationIsolation": "disabled",
"multicastRate": "auto",
"managementRate": "auto",
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 20,
"minLoadFactor": 50
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"forceScanDuringVoice": "disabled",
"legacyBSSRate": "enabled",
"beaconInterval": 100,
"deauthAttackDetection": null
},
"is5GHzU": {
@@ -208,39 +166,24 @@
"radioType": "is5GHzU",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"rtsCtsThreshold": 65535,
"autoChannelSelection": "disabled",
"radioMode": "modeAC",
"mimoMode": "twoByTwo",
"wmmState": "enabled",
"uapsdState": "enabled",
"maxNumClients": 100,
"stationIsolation": "disabled",
"multicastRate": "auto",
"managementRate": "auto",
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"forceScanDuringVoice": "disabled",
"legacyBSSRate": "enabled",
"beaconInterval": 100,
"deauthAttackDetection": null
},
"is5GHzL": {
@@ -248,39 +191,24 @@
"radioType": "is5GHzL",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"rtsCtsThreshold": 65535,
"autoChannelSelection": "disabled",
"radioMode": "modeAC",
"mimoMode": "twoByTwo",
"wmmState": "enabled",
"uapsdState": "enabled",
"maxNumClients": 100,
"stationIsolation": "disabled",
"multicastRate": "auto",
"managementRate": "auto",
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"forceScanDuringVoice": "disabled",
"legacyBSSRate": "enabled",
"beaconInterval": 100,
"deauthAttackDetection": null
}
}

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,50 +1,55 @@
{
"model_type": "Profile",
"id": 17,
"customerId": 2,
"profileType": "equipment_ap",
"name": "ApProfile-3-radios",
"details": {
"model_type": "ApNetworkConfiguration",
"networkConfigVersion": "AP-1",
"equipmentType": "AP",
"vlanNative": true,
"vlan": 0,
"ntpServer": {
"model_type": "AutoOrManualString",
"auto": true,
"value": "pool.ntp.org"
},
"syslogRelay": null,
"rtlsSettings": null,
"syntheticClientEnabled": true,
"ledControlEnabled": true,
"equipmentDiscovery": false,
"radioMap": {
"is2dot4GHz": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
},
"is5GHzU": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
},
"is5GHzL": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
}
},
"profileType": "equipment_ap"
},
"createdTimestamp": 1602182806348,
"lastModifiedTimestamp": 1602182806348,
"childProfileIds": [
2,
5,
11,
13
]
"model_type": "Profile",
"id": 23,
"customerId": 2,
"profileType": "equipment_ap",
"name": "ApProfile-3-radios-passpoint",
"details": {
"model_type": "ApNetworkConfiguration",
"networkConfigVersion": "AP-1",
"equipmentType": "AP",
"vlanNative": true,
"vlan": 0,
"ntpServer": {
"model_type": "AutoOrManualString",
"auto": true,
"value": "pool.ntp.org"
},
"syslogRelay": null,
"rtlsSettings": null,
"syntheticClientEnabled": true,
"ledControlEnabled": true,
"equipmentDiscovery": false,
"greTunnelName": null,
"greParentIfName": null,
"greLocalInetAddr": null,
"greRemoteInetAddr": null,
"greRemoteMacAddr": null,
"radioMap": {
"is2dot4GHz": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
},
"is5GHzU": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
},
"is5GHzL": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
}
},
"profileType": "equipment_ap"
},
"createdTimestamp": 1605711197140,
"lastModifiedTimestamp": 1605711197140,
"childProfileIds": [
16,
21,
22,
15
]
}

View File

@@ -1,72 +1,72 @@
[
{
"model_type": "Profile",
"id": 10,
"customerId": 2,
"profileType": "hotspot_2pt0",
"name": "TipWlan-Hotspot20-Config",
"details": {
"model_type": "Hotspot2Profile",
"enableInterworkingAndHs20": true,
"hessid": null,
"accessNetworkType": "free_public_network",
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
"additionalStepsRequiredForAccess": 0,
"deauthRequestTimeout": 0,
"operatingClass": 0,
"termsAndConditionsFile": {
"model_type": "ManagedFileInfo",
"md5checksum": null,
"lastModifiedTimestamp": null,
"apExportUrl": "https://localhost:9091/filestore/termsAndConditions",
"fileCategory": "ExternalPolicyConfiguration",
"fileType": "TEXT",
"altSlot": false
"model_type": "Profile",
"id": 24,
"customerId": 2,
"profileType": "passpoint",
"name": "TipWlan-Hotspot20-Config",
"details": {
"model_type": "PasspointProfile",
"enableInterworkingAndHs20": true,
"hessid": null,
"additionalStepsRequiredForAccess": 0,
"deauthRequestTimeout": 0,
"operatingClass": 0,
"termsAndConditionsFile": {
"model_type": "ManagedFileInfo",
"md5checksum": null,
"lastModifiedTimestamp": null,
"apExportUrl": "https://localhost:9091/filestore/termsAndConditions",
"fileCategory": "ExternalPolicyConfiguration",
"fileType": "TEXT",
"altSlot": false
},
"whitelistDomain": null,
"emergencyServicesReachable": true,
"unauthenticatedEmergencyServiceAccessible": false,
"internetConnectivity": true,
"connectionCapabilitySet": [
{
"model_type": "PasspointConnectionCapability",
"connectionCapabilitiesPortNumber": 8888,
"connectionCapabilitiesIpProtocol": "TCP",
"connectionCapabilitiesStatus": "open"
}
],
"ipAddressTypeAvailability": "public_IPv4_address_available",
"qosMapSetConfiguration": null,
"apGeospatialLocation": null,
"apCivicLocation": null,
"apPublicLocationIdUri": null,
"gasAddr3Behaviour": "p2pSpecWorkaroundFromRequest",
"anqpDomainId": 1234,
"disableDownstreamGroupAddressedForwarding": false,
"enable2pt4GHz": true,
"enable5GHz": true,
"associatedAccessSsidNames": [
"TipWlan-cloud-hotspot-access"
],
"osuSsidName": "TipWlan-cloud-hotspot-osu",
"operatorProfileName": "TipWlan-Hotspot20-Operator",
"venueProfileName": "TipWlan-Hotspot20-Venue",
"idProviderProfileNames": [
"TipWlan-Hotspot20-OSU-Provider-2",
"TipWlan-Hotspot20-OSU-Provider"
],
"accessNetworkType": "free_public_network",
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
"associatedSsids": [
"TipWlan-cloud-hotspot-access"
],
"profileType": "passpoint"
},
"whitelistDomain": null,
"emergencyServicesReachable": true,
"unauthenticatedEmergencyServiceAccessible": false,
"internetConnectivity": true,
"connectionCapabilitySet": [
{
"model_type": "ConnectionCapability",
"connectionCapabilitiesPortNumber": 8888,
"connectionCapabilitiesIpProtocol": "TCP",
"connectionCapabilitiesStatus": "open"
}
],
"ipAddressTypeAvailability": "public_IPv4_address_available",
"qosMapSetConfiguration": null,
"apGeospatialLocation": null,
"apCivicLocation": null,
"apPublicLocationIdUri": null,
"gasAddr3Behaviour": "p2pSpecWorkaroundFromRequest",
"anqpDomainId": 1234,
"disableDownstreamGroupAddressedForwarding": false,
"enable2pt4GHz": true,
"enable5GHz": true,
"associatedAccessSsidNames": [
"TipWlan-cloud-hotspot-access"
],
"osuSsidName": "TipWlan-cloud-3-radios",
"operatorProfileName": "TipWlan-Hotspot20-Operator",
"venueProfileName": "TipWlan-Hotspot20-Venue",
"idProviderProfileNames": [
"TipWlan-Hotspot20-OSU-Provider-2",
"TipWlan-Hotspot20-OSU-Provider"
],
"profileType": "hotspot_2pt0",
"associatedSsids": [
"TipWlan-cloud-hotspot-access"
"createdTimestamp": 1605711223339,
"lastModifiedTimestamp": 1605711223339,
"childProfileIds": [
17,
18,
19,
20
]
},
"createdTimestamp": 1602182806040,
"lastModifiedTimestamp": 1602182806040,
"childProfileIds": [
6,
7,
8,
9
]
}
}
]

View File

@@ -1,256 +1,270 @@
[
{
"model_type": "Profile",
"id": 8,
"customerId": 2,
"profileType": "id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider",
"details": {
"model_type": "Hotspot20IdProviderProfile",
"domainName": "rogers.com",
"mccMncList": [
{
"model_type": "MccMnc",
"mcc": 302,
"mnc": 720,
"iso": "ca",
"country": "Canada",
"countryCode": 1,
"network": "Rogers AT&T Wireless",
"mccMncPairing": "302,720"
}
],
"naiRealmList": [
{
"model_type": "NaiRealmInformation",
"naiRealms": [
"rogers.com"
],
"encoding": 0,
"eapMethods": [
"EAP-TTLS with username/password",
"EAP-TLS with certificate"
],
"eapMap": {
"EAP-TTLS with username/password": [
"Credential Type:username/password",
"Non-EAP Inner Authentication Type:MSCHAPV2"
],
"EAP-TLS with certificate": [
"Credential Type:Certificate"
]
}
}
],
"osuIconList": [
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_CA",
"iconName": "icon32eng",
"filePath": "/tmp/icon32eng.png",
"imageUrl": "https://localhost:9096/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
"iconLocale": "fr_CA",
"iconName": "icon32fra",
"filePath": "/tmp/icon32fra.png",
"imageUrl": "https://localhost:9096/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_US",
"iconName": "icon32usa",
"filePath": "/tmp/icon32usa.png",
"imageUrl": "https://localhost:9096/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/rogers/",
"osuFriendlyName": [
{
"model_type": "Hotspot20Duple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider rogers",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example provider rogers"
},
{
"model_type": "Hotspot20Duple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur rogers",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemple de fournisseur rogers"
}
],
"osuNaiStandalone": "anonymous@rogers.com",
"osuNaiShared": "anonymous@rogers.com",
"osuMethodList": [
1,
0
],
"osuServiceDescription": [
{
"model_type": "Hotspot20Duple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services rogers",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example services rogers"
},
{
"model_type": "Hotspot20Duple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services rogers",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemples de services rogers"
}
],
"profileType": "id_provider"
},
"createdTimestamp": 1602182805654,
"lastModifiedTimestamp": 1602182805654,
"childProfileIds": []
},
{
"model_type": "Profile",
"id": 9,
"customerId": 2,
"profileType": "id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider-2",
"details": {
"model_type": "Hotspot20IdProviderProfile",
"domainName": "telus.com",
"mccMncList": [
{
"model_type": "MccMnc",
"mcc": 302,
"mnc": 220,
"iso": "ca",
"country": "Canada",
"countryCode": 1,
"network": "Telus Mobility",
"mccMncPairing": "302,220"
}
],
"naiRealmList": [
{
"model_type": "NaiRealmInformation",
"naiRealms": [
"telus.com"
],
"encoding": 0,
"eapMethods": [
"EAP-TTLS with username/password",
"EAP-TLS with certificate"
],
"eapMap": {
"EAP-TTLS with username/password": [
"Credential Type:username/password",
"Non-EAP Inner Authentication Type:MSCHAPV2"
],
"EAP-TLS with certificate": [
"Credential Type:Certificate"
]
}
}
],
"osuIconList": [
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_CA",
"iconName": "icon32eng",
"filePath": "/tmp/icon32eng.png",
"imageUrl": "https://localhost:9096/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
"iconLocale": "fr_CA",
"iconName": "icon32fra",
"filePath": "/tmp/icon32fra.png",
"imageUrl": "https://localhost:9096/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_US",
"iconName": "icon32usa",
"filePath": "/tmp/icon32usa.png",
"imageUrl": "https://localhost:9096/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/telus/",
"osuFriendlyName": [
{
"model_type": "Hotspot20Duple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider telus",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example provider telus"
},
{
"model_type": "Hotspot20Duple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur telus",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemple de fournisseur telus"
}
],
"osuNaiStandalone": "anonymous@telus.com",
"osuNaiShared": "anonymous@telus.com",
"osuMethodList": [
1,
0
],
"osuServiceDescription": [
{
"model_type": "Hotspot20Duple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services telus",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example services telus"
},
{
"model_type": "Hotspot20Duple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services telus",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemples de services telus"
}
],
"profileType": "id_provider"
},
"createdTimestamp": 1602182805660,
"lastModifiedTimestamp": 1602182805660,
"childProfileIds": []
}
]
{
"model_type": "Profile",
"id": 19,
"customerId": 2,
"profileType": "passpoint_osu_id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider",
"details": {
"model_type": "PasspointOsuProviderProfile",
"domainName": "rogers.com",
"mccMncList": [
{
"model_type": "PasspointMccMnc",
"mcc": 302,
"mnc": 720,
"iso": "ca",
"country": "Canada",
"countryCode": 1,
"network": "Rogers AT&T Wireless",
"mccMncPairing": "302,720"
}
],
"naiRealmList": [
{
"model_type": "PasspointNaiRealmInformation",
"naiRealms": [
"rogers.com"
],
"encoding": 0,
"eapMethods": [
"EAP-TTLS with username/password",
"EAP-TLS with certificate"
],
"eapMap": {
"EAP-TTLS with username/password": [
"Credential Type:username/password",
"Non-EAP Inner Authentication Type:MSCHAPV2"
],
"EAP-TLS with certificate": [
"Credential Type:Certificate"
]
}
}
],
"osuIconList": [
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_CA",
"iconName": "icon32eng",
"filePath": "/tmp/icon32eng.png",
"imageUrl": "https://localhost:9096/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
"iconLocale": "fr_CA",
"iconName": "icon32fra",
"filePath": "/tmp/icon32fra.png",
"imageUrl": "https://localhost:9096/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_US",
"iconName": "icon32usa",
"filePath": "/tmp/icon32usa.png",
"imageUrl": "https://localhost:9096/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/rogers",
"osuFriendlyName": [
{
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider rogers",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example provider rogers"
},
{
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur rogers",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemple de fournisseur rogers"
}
],
"osuNaiStandalone": "anonymous@rogers.com",
"osuNaiShared": "anonymous@rogers.com",
"osuMethodList": [
1,
0
],
"osuServiceDescription": [
{
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services rogers",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example services rogers"
},
{
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services rogers",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemples de services rogers"
}
],
"roamingOi": [
1,
2,
3,
4
],
"profileType": "passpoint_osu_id_provider"
},
"createdTimestamp": 1605711165325,
"lastModifiedTimestamp": 1605711165325,
"childProfileIds": [
]
},
{
"model_type": "Profile",
"id": 20,
"customerId": 2,
"profileType": "passpoint_osu_id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider-2",
"details": {
"model_type": "PasspointOsuProviderProfile",
"domainName": "telus.com",
"mccMncList": [
{
"model_type": "PasspointMccMnc",
"mcc": 302,
"mnc": 220,
"iso": "ca",
"country": "Canada",
"countryCode": 1,
"network": "Telus Mobility",
"mccMncPairing": "302,220"
}
],
"naiRealmList": [
{
"model_type": "PasspointNaiRealmInformation",
"naiRealms": [
"telus.com"
],
"encoding": 0,
"eapMethods": [
"EAP-TTLS with username/password",
"EAP-TLS with certificate"
],
"eapMap": {
"EAP-TTLS with username/password": [
"Credential Type:username/password",
"Non-EAP Inner Authentication Type:MSCHAPV2"
],
"EAP-TLS with certificate": [
"Credential Type:Certificate"
]
}
}
],
"osuIconList": [
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_CA",
"iconName": "icon32eng",
"filePath": "/tmp/icon32eng.png",
"imageUrl": "https://localhost:9096/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
"iconLocale": "fr_CA",
"iconName": "icon32fra",
"filePath": "/tmp/icon32fra.png",
"imageUrl": "https://localhost:9096/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_US",
"iconName": "icon32usa",
"filePath": "/tmp/icon32usa.png",
"imageUrl": "https://localhost:9096/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/telus",
"osuFriendlyName": [
{
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider telus",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example provider telus"
},
{
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur telus",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemple de fournisseur telus"
}
],
"osuNaiStandalone": "anonymous@telus.com",
"osuNaiShared": "anonymous@telus.com",
"osuMethodList": [
1,
0
],
"osuServiceDescription": [
{
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services telus",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example services telus"
},
{
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services telus",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemples de services telus"
}
],
"roamingOi": [
1,
2,
3,
4
],
"profileType": "passpoint_osu_id_provider"
},
"createdTimestamp": 1605711165330,
"lastModifiedTimestamp": 1605711165330,
"childProfileIds": [
]
}
]

View File

@@ -1,298 +1,299 @@
[
{
"model_type": "Profile",
"id": 2,
"customerId": 2,
"profileType": "metrics",
"name": "Metrics-Profile-3-radios",
"details": {
"model_type": "ServiceMetricsCollectionConfigProfile",
"radioTypes": [
"is5GHzU",
"is5GHzL",
"is2dot4GHz"
],
"serviceMetricDataTypes": [
"ApNode",
"ApSsid",
"Client",
"Channel",
"Neighbour"
],
"metricConfigParameterMap": {
"ApNode": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_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": "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"
}
],
"ApSsid": [
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApSsid"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzL",
"serviceMetricDataType": "ApSsid"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"serviceMetricDataType": "ApSsid"
}
],
"Client": [
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Client"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzL",
"serviceMetricDataType": "Client"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"serviceMetricDataType": "Client"
}
],
"Channel": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_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"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"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"
}
],
"Neighbour": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_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"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_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"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Neighbour"
}
]
},
"profileType": "metrics"
},
"createdTimestamp": 1602113058699,
"lastModifiedTimestamp": 1602113058699,
"childProfileIds": []
}
{
"model_type": "Profile",
"id": 22,
"customerId": 2,
"profileType": "service_metrics_collection_config",
"name": "Metrics-Profile-Passpoint",
"details": {
"model_type": "ServiceMetricsCollectionConfigProfile",
"radioTypes": [
"is5GHzL",
"is2dot4GHz",
"is5GHzU"
],
"serviceMetricDataTypes": [
"ApNode",
"ApSsid",
"Client",
"Channel",
"Neighbour"
],
"metricConfigParameterMap": {
"ApNode": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
}
],
"ApSsid": [
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzL",
"serviceMetricDataType": "ApSsid"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApSsid"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"serviceMetricDataType": "ApSsid"
}
],
"Client": [
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"serviceMetricDataType": "Client"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzL",
"serviceMetricDataType": "Client"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Client"
}
],
"Channel": [
{
"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": 120,
"channelSurveyType": "OFF_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": "is5GHzL",
"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": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"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"
}
],
"Neighbour": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzU",
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_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"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"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"
}
]
},
"profileType": "service_metrics_collection_config"
},
"createdTimestamp": 1605711195528,
"lastModifiedTimestamp": 1605711195528,
"childProfileIds": [
]
}
]

View File

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

View File

@@ -1,256 +1,205 @@
{
"model_type": "Profile",
"id": 13,
"customerId": 2,
"profileType": "rf",
"name": "TipWlan-rf",
"details": {
"model_type": "RfConfiguration",
"rfConfigMap": {
"is5GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"is2dot4GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is20MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 20,
"minLoadFactor": 50
}
},
"is5GHzU": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"is5GHzL": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
}
},
"profileType": "rf"
},
"createdTimestamp": 1602182806063,
"lastModifiedTimestamp": 1602182806063,
"childProfileIds": []
"model_type": "Profile",
"id": 21,
"customerId": 2,
"profileType": "rf",
"name": "TipWlan-rf-passpoint",
"details": {
"model_type": "RfConfiguration",
"rfConfigMap": {
"is5GHz": {
"model_type": "RfElementConfiguration",
"radioType": "is5GHz",
"radioMode": "modeAC",
"rf": "TipWlan-rf-passpoint",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"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
}
},
"is2dot4GHz": {
"model_type": "RfElementConfiguration",
"radioType": "is2dot4GHz",
"radioMode": "modeN",
"rf": "TipWlan-rf-passpoint",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is20MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"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
}
},
"is5GHzU": {
"model_type": "RfElementConfiguration",
"radioType": "is5GHzU",
"radioMode": "modeAC",
"rf": "TipWlan-rf-passpoint",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"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
}
},
"is5GHzL": {
"model_type": "RfElementConfiguration",
"radioType": "is5GHzL",
"radioMode": "modeAC",
"rf": "TipWlan-rf-passpoint",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"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
}
}
},
"profileType": "rf"
},
"createdTimestamp": 1605711191976,
"lastModifiedTimestamp": 1605711191976,
"childProfileIds": [
]
}

View File

@@ -1,7 +1,7 @@
[
{
"model_type": "Profile",
"id": 5,
"id": 15,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-hotspot-access",
@@ -9,9 +9,8 @@
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-hotspot-access",
"appliedRadios": [
"is5GHzU",
"is5GHzL",
"is2dot4GHz"
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
@@ -21,6 +20,7 @@
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"radiusAccountingServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
@@ -59,25 +59,23 @@
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602113058718,
"lastModifiedTimestamp": 1602113059547,
"createdTimestamp": 1605711164949,
"lastModifiedTimestamp": 1605711223372,
"childProfileIds": [
10
24
]
},
{
"model_type": "Profile",
"id": 11,
"id": 16,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-3-radios",
"name": "TipWlan-cloud-hotspot-osu",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-3-radios",
"ssid": "TipWlan-cloud-hotspot-osu",
"appliedRadios": [
"is5GHzL",
"is2dot4GHz",
"is5GHzU"
"is2dot4GHz"
],
"ssidAdminState": "enabled",
"secureMode": "open",
@@ -87,6 +85,7 @@
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"radiusAccountingServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
@@ -125,10 +124,11 @@
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602183994766,
"lastModifiedTimestamp": 1602183994766,
"createdTimestamp": 1605711164950,
"lastModifiedTimestamp": 1605711171732,
"childProfileIds": [
10
19,
20
]
}
]

View File

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

View File

@@ -20,10 +20,10 @@
<modules>
<module>../opensync-ext-interface</module>
<module>../opensync-ext-static</module>
<module>../opensync-ext-cloud</module>
<module>../opensync-gateway</module>
<module>../opensync-ext-static</module>
<module>../opensync-gateway-static-process</module>
<module>../opensync-ext-cloud</module>
<module>../opensync-gateway-cloud-process</module>
</modules>
</profile>

View File

@@ -20,6 +20,11 @@ SSC_SERVER_HOST="${SSC_SERVER}"
ALL_IN_ONE_HOST="${INTEGRATED_SERVER}"
FILE_STORE_DIRECTORY="${FILE_STORE_DIRECTORY_INTERNAL:=/tmp/filestore}"
FILE_STORE_EXTERNAL_URL="${FILE_STORE_URL}"
MQTT_BROKER_EXTERNAL_PORT="${MQTT_BROKER_EXTERNAL_PORT}"
OVSDB_EXTERNAL_PORT="${OVSDB_EXTERNAL_PORT}"
OVSDB_PROPS=" "
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.managerAddr=$OVSDB_MANAGER_HOST"
@@ -33,6 +38,8 @@ OVSDB_PROPS+=" -Dtip.wlan.ovsdb.configFileName=/app/opensync/config_2_ssids.json
MQTT_PROPS=" "
MQTT_PROPS+=" -Dtip.wlan.mqttBroker.address.internal=$MQTT_BROKER_HOST_INTERNAL"
MQTT_PROPS+=" -Dtip.wlan.mqttBroker.address.external=$MQTT_BROKER_HOST_EXTERNAL"
MQTT_PROPS+=" -Dtip.wlan.ovsdb.externalPort=$OVSDB_EXTERNAL_PORT"
MQTT_PROPS+=" -Dtip.wlan.mqttBroker.externalPort=$MQTT_BROKER_EXTERNAL_PORT"
MQTT_PROPS+=" -Dtip.wlan.mqttBroker.listenPort=1883"
LOGBACK_CONFIG_FILE="${LOGBACK_CONFIG_FILE:=/app/opensync/logback.xml}"

View File

@@ -1 +0,0 @@
/target/

View File

@@ -34,7 +34,7 @@
<artifactId>docker-maven-plugin</artifactId>
<version>${docker.fabric.version}</version>
<configuration>
<verbose>true</verbose>
<verbose>false</verbose>
<apiVersion>1.23</apiVersion>
<images>
<image>

View File

@@ -41,23 +41,23 @@
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"perimeterDetectionEnabled": true,
@@ -75,23 +75,23 @@
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"perimeterDetectionEnabled": true,
@@ -109,23 +109,23 @@
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"perimeterDetectionEnabled": true,
@@ -141,16 +141,22 @@
"radioType": "is2dot4GHz",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"radioMode": "modeN",
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": "auto",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 20,
"minLoadFactor": 50
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
@@ -160,16 +166,22 @@
"radioType": "is5GHzU",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"radioMode": "modeAC",
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": "auto",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
@@ -179,16 +191,22 @@
"radioType": "is5GHzL",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"radioMode": "modeAC",
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": "auto",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null

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,50 +1,55 @@
{
"model_type": "Profile",
"id": 17,
"customerId": 2,
"profileType": "equipment_ap",
"name": "ApProfile-3-radios",
"details": {
"model_type": "ApNetworkConfiguration",
"networkConfigVersion": "AP-1",
"equipmentType": "AP",
"vlanNative": true,
"vlan": 0,
"ntpServer": {
"model_type": "AutoOrManualString",
"auto": true,
"value": "pool.ntp.org"
},
"syslogRelay": null,
"rtlsSettings": null,
"syntheticClientEnabled": true,
"ledControlEnabled": true,
"equipmentDiscovery": false,
"radioMap": {
"is2dot4GHz": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
},
"is5GHzU": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
},
"is5GHzL": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
}
},
"profileType": "equipment_ap"
},
"createdTimestamp": 1602182806348,
"lastModifiedTimestamp": 1602182806348,
"childProfileIds": [
2,
5,
11,
13
]
"model_type": "Profile",
"id": 23,
"customerId": 2,
"profileType": "equipment_ap",
"name": "ApProfile-3-radios-passpoint",
"details": {
"model_type": "ApNetworkConfiguration",
"networkConfigVersion": "AP-1",
"equipmentType": "AP",
"vlanNative": true,
"vlan": 0,
"ntpServer": {
"model_type": "AutoOrManualString",
"auto": true,
"value": "pool.ntp.org"
},
"syslogRelay": null,
"rtlsSettings": null,
"syntheticClientEnabled": true,
"ledControlEnabled": true,
"equipmentDiscovery": false,
"greTunnelName": null,
"greParentIfName": null,
"greLocalInetAddr": null,
"greRemoteInetAddr": null,
"greRemoteMacAddr": null,
"radioMap": {
"is2dot4GHz": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
},
"is5GHzU": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
},
"is5GHzL": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
}
},
"profileType": "equipment_ap"
},
"createdTimestamp": 1605711197140,
"lastModifiedTimestamp": 1605711197140,
"childProfileIds": [
16,
21,
22,
15
]
}

View File

@@ -1,72 +1,72 @@
[
{
"model_type": "Profile",
"id": 10,
"customerId": 2,
"profileType": "hotspot_2pt0",
"name": "TipWlan-Hotspot20-Config",
"details": {
"model_type": "Hotspot2Profile",
"enableInterworkingAndHs20": true,
"hessid": null,
"accessNetworkType": "free_public_network",
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
"additionalStepsRequiredForAccess": 0,
"deauthRequestTimeout": 0,
"operatingClass": 0,
"termsAndConditionsFile": {
"model_type": "ManagedFileInfo",
"md5checksum": null,
"lastModifiedTimestamp": null,
"apExportUrl": "https://localhost:9091/filestore/termsAndConditions",
"fileCategory": "ExternalPolicyConfiguration",
"fileType": "TEXT",
"altSlot": false
"model_type": "Profile",
"id": 24,
"customerId": 2,
"profileType": "passpoint",
"name": "TipWlan-Hotspot20-Config",
"details": {
"model_type": "PasspointProfile",
"enableInterworkingAndHs20": true,
"hessid": null,
"additionalStepsRequiredForAccess": 0,
"deauthRequestTimeout": 0,
"operatingClass": 0,
"termsAndConditionsFile": {
"model_type": "ManagedFileInfo",
"md5checksum": null,
"lastModifiedTimestamp": null,
"apExportUrl": "https://localhost:9091/filestore/termsAndConditions",
"fileCategory": "ExternalPolicyConfiguration",
"fileType": "TEXT",
"altSlot": false
},
"whitelistDomain": null,
"emergencyServicesReachable": true,
"unauthenticatedEmergencyServiceAccessible": false,
"internetConnectivity": true,
"connectionCapabilitySet": [
{
"model_type": "PasspointConnectionCapability",
"connectionCapabilitiesPortNumber": 8888,
"connectionCapabilitiesIpProtocol": "TCP",
"connectionCapabilitiesStatus": "open"
}
],
"ipAddressTypeAvailability": "public_IPv4_address_available",
"qosMapSetConfiguration": null,
"apGeospatialLocation": null,
"apCivicLocation": null,
"apPublicLocationIdUri": null,
"gasAddr3Behaviour": "p2pSpecWorkaroundFromRequest",
"anqpDomainId": 1234,
"disableDownstreamGroupAddressedForwarding": false,
"enable2pt4GHz": true,
"enable5GHz": true,
"associatedAccessSsidNames": [
"TipWlan-cloud-hotspot-access"
],
"osuSsidName": "TipWlan-cloud-hotspot-osu",
"operatorProfileName": "TipWlan-Hotspot20-Operator",
"venueProfileName": "TipWlan-Hotspot20-Venue",
"idProviderProfileNames": [
"TipWlan-Hotspot20-OSU-Provider-2",
"TipWlan-Hotspot20-OSU-Provider"
],
"accessNetworkType": "free_public_network",
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
"associatedSsids": [
"TipWlan-cloud-hotspot-access"
],
"profileType": "passpoint"
},
"whitelistDomain": null,
"emergencyServicesReachable": true,
"unauthenticatedEmergencyServiceAccessible": false,
"internetConnectivity": true,
"connectionCapabilitySet": [
{
"model_type": "ConnectionCapability",
"connectionCapabilitiesPortNumber": 8888,
"connectionCapabilitiesIpProtocol": "TCP",
"connectionCapabilitiesStatus": "open"
}
],
"ipAddressTypeAvailability": "public_IPv4_address_available",
"qosMapSetConfiguration": null,
"apGeospatialLocation": null,
"apCivicLocation": null,
"apPublicLocationIdUri": null,
"gasAddr3Behaviour": "p2pSpecWorkaroundFromRequest",
"anqpDomainId": 1234,
"disableDownstreamGroupAddressedForwarding": false,
"enable2pt4GHz": true,
"enable5GHz": true,
"associatedAccessSsidNames": [
"TipWlan-cloud-hotspot-access"
],
"osuSsidName": "TipWlan-cloud-3-radios",
"operatorProfileName": "TipWlan-Hotspot20-Operator",
"venueProfileName": "TipWlan-Hotspot20-Venue",
"idProviderProfileNames": [
"TipWlan-Hotspot20-OSU-Provider-2",
"TipWlan-Hotspot20-OSU-Provider"
],
"profileType": "hotspot_2pt0",
"associatedSsids": [
"TipWlan-cloud-hotspot-access"
"createdTimestamp": 1605711223339,
"lastModifiedTimestamp": 1605711223339,
"childProfileIds": [
17,
18,
19,
20
]
},
"createdTimestamp": 1602182806040,
"lastModifiedTimestamp": 1602182806040,
"childProfileIds": [
6,
7,
8,
9
]
}
}
]

View File

@@ -1,256 +1,270 @@
[
{
"model_type": "Profile",
"id": 8,
"customerId": 2,
"profileType": "id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider",
"details": {
"model_type": "Hotspot20IdProviderProfile",
"domainName": "rogers.com",
"mccMncList": [
{
"model_type": "MccMnc",
"mcc": 302,
"mnc": 720,
"iso": "ca",
"country": "Canada",
"countryCode": 1,
"network": "Rogers AT&T Wireless",
"mccMncPairing": "302,720"
}
],
"naiRealmList": [
{
"model_type": "NaiRealmInformation",
"naiRealms": [
"rogers.com"
],
"encoding": 0,
"eapMethods": [
"EAP-TTLS with username/password",
"EAP-TLS with certificate"
],
"eapMap": {
"EAP-TTLS with username/password": [
"Credential Type:username/password",
"Non-EAP Inner Authentication Type:MSCHAPV2"
],
"EAP-TLS with certificate": [
"Credential Type:Certificate"
]
}
}
],
"osuIconList": [
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_CA",
"iconName": "icon32eng",
"filePath": "/tmp/icon32eng.png",
"imageUrl": "https://localhost:9096/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
"iconLocale": "fr_CA",
"iconName": "icon32fra",
"filePath": "/tmp/icon32fra.png",
"imageUrl": "https://localhost:9096/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_US",
"iconName": "icon32usa",
"filePath": "/tmp/icon32usa.png",
"imageUrl": "https://localhost:9096/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/rogers/",
"osuFriendlyName": [
{
"model_type": "Hotspot20Duple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider rogers",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example provider rogers"
},
{
"model_type": "Hotspot20Duple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur rogers",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemple de fournisseur rogers"
}
],
"osuNaiStandalone": "anonymous@rogers.com",
"osuNaiShared": "anonymous@rogers.com",
"osuMethodList": [
1,
0
],
"osuServiceDescription": [
{
"model_type": "Hotspot20Duple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services rogers",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example services rogers"
},
{
"model_type": "Hotspot20Duple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services rogers",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemples de services rogers"
}
],
"profileType": "id_provider"
},
"createdTimestamp": 1602182805654,
"lastModifiedTimestamp": 1602182805654,
"childProfileIds": []
},
{
"model_type": "Profile",
"id": 9,
"customerId": 2,
"profileType": "id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider-2",
"details": {
"model_type": "Hotspot20IdProviderProfile",
"domainName": "telus.com",
"mccMncList": [
{
"model_type": "MccMnc",
"mcc": 302,
"mnc": 220,
"iso": "ca",
"country": "Canada",
"countryCode": 1,
"network": "Telus Mobility",
"mccMncPairing": "302,220"
}
],
"naiRealmList": [
{
"model_type": "NaiRealmInformation",
"naiRealms": [
"telus.com"
],
"encoding": 0,
"eapMethods": [
"EAP-TTLS with username/password",
"EAP-TLS with certificate"
],
"eapMap": {
"EAP-TTLS with username/password": [
"Credential Type:username/password",
"Non-EAP Inner Authentication Type:MSCHAPV2"
],
"EAP-TLS with certificate": [
"Credential Type:Certificate"
]
}
}
],
"osuIconList": [
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_CA",
"iconName": "icon32eng",
"filePath": "/tmp/icon32eng.png",
"imageUrl": "https://localhost:9096/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
"iconLocale": "fr_CA",
"iconName": "icon32fra",
"filePath": "/tmp/icon32fra.png",
"imageUrl": "https://localhost:9096/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_US",
"iconName": "icon32usa",
"filePath": "/tmp/icon32usa.png",
"imageUrl": "https://localhost:9096/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/telus/",
"osuFriendlyName": [
{
"model_type": "Hotspot20Duple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider telus",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example provider telus"
},
{
"model_type": "Hotspot20Duple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur telus",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemple de fournisseur telus"
}
],
"osuNaiStandalone": "anonymous@telus.com",
"osuNaiShared": "anonymous@telus.com",
"osuMethodList": [
1,
0
],
"osuServiceDescription": [
{
"model_type": "Hotspot20Duple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services telus",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example services telus"
},
{
"model_type": "Hotspot20Duple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services telus",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemples de services telus"
}
],
"profileType": "id_provider"
},
"createdTimestamp": 1602182805660,
"lastModifiedTimestamp": 1602182805660,
"childProfileIds": []
}
]
{
"model_type": "Profile",
"id": 19,
"customerId": 2,
"profileType": "passpoint_osu_id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider",
"details": {
"model_type": "PasspointOsuProviderProfile",
"domainName": "rogers.com",
"mccMncList": [
{
"model_type": "PasspointMccMnc",
"mcc": 302,
"mnc": 720,
"iso": "ca",
"country": "Canada",
"countryCode": 1,
"network": "Rogers AT&T Wireless",
"mccMncPairing": "302,720"
}
],
"naiRealmList": [
{
"model_type": "PasspointNaiRealmInformation",
"naiRealms": [
"rogers.com"
],
"encoding": 0,
"eapMethods": [
"EAP-TTLS with username/password",
"EAP-TLS with certificate"
],
"eapMap": {
"EAP-TTLS with username/password": [
"Credential Type:username/password",
"Non-EAP Inner Authentication Type:MSCHAPV2"
],
"EAP-TLS with certificate": [
"Credential Type:Certificate"
]
}
}
],
"osuIconList": [
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_CA",
"iconName": "icon32eng",
"filePath": "/tmp/icon32eng.png",
"imageUrl": "https://localhost:9096/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
"iconLocale": "fr_CA",
"iconName": "icon32fra",
"filePath": "/tmp/icon32fra.png",
"imageUrl": "https://localhost:9096/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_US",
"iconName": "icon32usa",
"filePath": "/tmp/icon32usa.png",
"imageUrl": "https://localhost:9096/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/rogers",
"osuFriendlyName": [
{
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider rogers",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example provider rogers"
},
{
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur rogers",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemple de fournisseur rogers"
}
],
"osuNaiStandalone": "anonymous@rogers.com",
"osuNaiShared": "anonymous@rogers.com",
"osuMethodList": [
1,
0
],
"osuServiceDescription": [
{
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services rogers",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example services rogers"
},
{
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services rogers",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemples de services rogers"
}
],
"roamingOi": [
1,
2,
3,
4
],
"profileType": "passpoint_osu_id_provider"
},
"createdTimestamp": 1605711165325,
"lastModifiedTimestamp": 1605711165325,
"childProfileIds": [
]
},
{
"model_type": "Profile",
"id": 20,
"customerId": 2,
"profileType": "passpoint_osu_id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider-2",
"details": {
"model_type": "PasspointOsuProviderProfile",
"domainName": "telus.com",
"mccMncList": [
{
"model_type": "PasspointMccMnc",
"mcc": 302,
"mnc": 220,
"iso": "ca",
"country": "Canada",
"countryCode": 1,
"network": "Telus Mobility",
"mccMncPairing": "302,220"
}
],
"naiRealmList": [
{
"model_type": "PasspointNaiRealmInformation",
"naiRealms": [
"telus.com"
],
"encoding": 0,
"eapMethods": [
"EAP-TTLS with username/password",
"EAP-TLS with certificate"
],
"eapMap": {
"EAP-TTLS with username/password": [
"Credential Type:username/password",
"Non-EAP Inner Authentication Type:MSCHAPV2"
],
"EAP-TLS with certificate": [
"Credential Type:Certificate"
]
}
}
],
"osuIconList": [
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_CA",
"iconName": "icon32eng",
"filePath": "/tmp/icon32eng.png",
"imageUrl": "https://localhost:9096/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
"iconLocale": "fr_CA",
"iconName": "icon32fra",
"filePath": "/tmp/icon32fra.png",
"imageUrl": "https://localhost:9096/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_US",
"iconName": "icon32usa",
"filePath": "/tmp/icon32usa.png",
"imageUrl": "https://localhost:9096/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/telus",
"osuFriendlyName": [
{
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider telus",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example provider telus"
},
{
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur telus",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemple de fournisseur telus"
}
],
"osuNaiStandalone": "anonymous@telus.com",
"osuNaiShared": "anonymous@telus.com",
"osuMethodList": [
1,
0
],
"osuServiceDescription": [
{
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services telus",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example services telus"
},
{
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services telus",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemples de services telus"
}
],
"roamingOi": [
1,
2,
3,
4
],
"profileType": "passpoint_osu_id_provider"
},
"createdTimestamp": 1605711165330,
"lastModifiedTimestamp": 1605711165330,
"childProfileIds": [
]
}
]

View File

@@ -1,298 +1,299 @@
[
{
"model_type": "Profile",
"id": 2,
"customerId": 2,
"profileType": "metrics",
"name": "Metrics-Profile-3-radios",
"details": {
"model_type": "ServiceMetricsCollectionConfigProfile",
"radioTypes": [
"is5GHzU",
"is5GHzL",
"is2dot4GHz"
],
"serviceMetricDataTypes": [
"ApNode",
"ApSsid",
"Client",
"Channel",
"Neighbour"
],
"metricConfigParameterMap": {
"ApNode": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_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": "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"
}
],
"ApSsid": [
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApSsid"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzL",
"serviceMetricDataType": "ApSsid"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"serviceMetricDataType": "ApSsid"
}
],
"Client": [
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Client"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzL",
"serviceMetricDataType": "Client"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"serviceMetricDataType": "Client"
}
],
"Channel": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_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"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"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"
}
],
"Neighbour": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_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"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_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"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Neighbour"
}
]
},
"profileType": "metrics"
},
"createdTimestamp": 1602113058699,
"lastModifiedTimestamp": 1602113058699,
"childProfileIds": []
}
{
"model_type": "Profile",
"id": 22,
"customerId": 2,
"profileType": "service_metrics_collection_config",
"name": "Metrics-Profile-Passpoint",
"details": {
"model_type": "ServiceMetricsCollectionConfigProfile",
"radioTypes": [
"is5GHzL",
"is2dot4GHz",
"is5GHzU"
],
"serviceMetricDataTypes": [
"ApNode",
"ApSsid",
"Client",
"Channel",
"Neighbour"
],
"metricConfigParameterMap": {
"ApNode": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
}
],
"ApSsid": [
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzL",
"serviceMetricDataType": "ApSsid"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApSsid"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"serviceMetricDataType": "ApSsid"
}
],
"Client": [
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"serviceMetricDataType": "Client"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzL",
"serviceMetricDataType": "Client"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Client"
}
],
"Channel": [
{
"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": 120,
"channelSurveyType": "OFF_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": "is5GHzL",
"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": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"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"
}
],
"Neighbour": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzU",
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_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"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"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"
}
]
},
"profileType": "service_metrics_collection_config"
},
"createdTimestamp": 1605711195528,
"lastModifiedTimestamp": 1605711195528,
"childProfileIds": [
]
}
]

View File

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

View File

@@ -1,260 +1,205 @@
{
"model_type": "Profile",
"id": 13,
"customerId": 2,
"profileType": "rf",
"name": "TipWlan-rf",
"details": {
"model_type": "RfConfiguration",
"rfConfigMap": {
"is5GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
},
"is2dot4GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is20MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 20,
"minLoadFactor": 50
},
"minAutoCellSize": -65
},
"is5GHzU": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
},
"is5GHzL": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
}
},
"profileType": "rf"
},
"createdTimestamp": 1602182806063,
"lastModifiedTimestamp": 1602182806063,
"childProfileIds": []
"model_type": "Profile",
"id": 21,
"customerId": 2,
"profileType": "rf",
"name": "TipWlan-rf-passpoint",
"details": {
"model_type": "RfConfiguration",
"rfConfigMap": {
"is5GHz": {
"model_type": "RfElementConfiguration",
"radioType": "is5GHz",
"radioMode": "modeAC",
"rf": "TipWlan-rf-passpoint",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"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
}
},
"is2dot4GHz": {
"model_type": "RfElementConfiguration",
"radioType": "is2dot4GHz",
"radioMode": "modeN",
"rf": "TipWlan-rf-passpoint",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is20MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"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
}
},
"is5GHzU": {
"model_type": "RfElementConfiguration",
"radioType": "is5GHzU",
"radioMode": "modeAC",
"rf": "TipWlan-rf-passpoint",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"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
}
},
"is5GHzL": {
"model_type": "RfElementConfiguration",
"radioType": "is5GHzL",
"radioMode": "modeAC",
"rf": "TipWlan-rf-passpoint",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"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
}
}
},
"profileType": "rf"
},
"createdTimestamp": 1605711191976,
"lastModifiedTimestamp": 1605711191976,
"childProfileIds": [
]
}

View File

@@ -1,7 +1,7 @@
[
{
"model_type": "Profile",
"id": 5,
"id": 15,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-hotspot-access",
@@ -9,9 +9,8 @@
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-hotspot-access",
"appliedRadios": [
"is5GHzU",
"is5GHzL",
"is2dot4GHz"
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
@@ -21,6 +20,7 @@
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"radiusAccountingServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
@@ -59,25 +59,23 @@
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602113058718,
"lastModifiedTimestamp": 1602113059547,
"createdTimestamp": 1605711164949,
"lastModifiedTimestamp": 1605711223372,
"childProfileIds": [
10
24
]
},
{
"model_type": "Profile",
"id": 11,
"id": 16,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-3-radios",
"name": "TipWlan-cloud-hotspot-osu",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-3-radios",
"ssid": "TipWlan-cloud-hotspot-osu",
"appliedRadios": [
"is5GHzL",
"is2dot4GHz",
"is5GHzU"
"is2dot4GHz"
],
"ssidAdminState": "enabled",
"secureMode": "open",
@@ -87,6 +85,7 @@
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"radiusAccountingServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
@@ -125,10 +124,11 @@
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602183994766,
"lastModifiedTimestamp": 1602183994766,
"createdTimestamp": 1605711164950,
"lastModifiedTimestamp": 1605711171732,
"childProfileIds": [
10
19,
20
]
}
]

View File

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

View File

@@ -41,23 +41,23 @@
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"perimeterDetectionEnabled": true,
@@ -75,23 +75,23 @@
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"perimeterDetectionEnabled": true,
@@ -109,23 +109,23 @@
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"perimeterDetectionEnabled": true,
@@ -141,16 +141,22 @@
"radioType": "is2dot4GHz",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"radioMode": "modeN",
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": "auto",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 20,
"minLoadFactor": 50
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
@@ -160,16 +166,22 @@
"radioType": "is5GHzU",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"radioMode": "modeAC",
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": "auto",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
@@ -179,16 +191,22 @@
"radioType": "is5GHzL",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"radioMode": "modeAC",
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": "auto",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null

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,50 +1,55 @@
{
"model_type": "Profile",
"id": 17,
"customerId": 2,
"profileType": "equipment_ap",
"name": "ApProfile-3-radios",
"details": {
"model_type": "ApNetworkConfiguration",
"networkConfigVersion": "AP-1",
"equipmentType": "AP",
"vlanNative": true,
"vlan": 0,
"ntpServer": {
"model_type": "AutoOrManualString",
"auto": true,
"value": "pool.ntp.org"
},
"syslogRelay": null,
"rtlsSettings": null,
"syntheticClientEnabled": true,
"ledControlEnabled": true,
"equipmentDiscovery": false,
"radioMap": {
"is2dot4GHz": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
},
"is5GHzU": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
},
"is5GHzL": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
}
},
"profileType": "equipment_ap"
},
"createdTimestamp": 1602182806348,
"lastModifiedTimestamp": 1602182806348,
"childProfileIds": [
2,
5,
11,
13
]
"model_type": "Profile",
"id": 23,
"customerId": 2,
"profileType": "equipment_ap",
"name": "ApProfile-3-radios-passpoint",
"details": {
"model_type": "ApNetworkConfiguration",
"networkConfigVersion": "AP-1",
"equipmentType": "AP",
"vlanNative": true,
"vlan": 0,
"ntpServer": {
"model_type": "AutoOrManualString",
"auto": true,
"value": "pool.ntp.org"
},
"syslogRelay": null,
"rtlsSettings": null,
"syntheticClientEnabled": true,
"ledControlEnabled": true,
"equipmentDiscovery": false,
"greTunnelName": null,
"greParentIfName": null,
"greLocalInetAddr": null,
"greRemoteInetAddr": null,
"greRemoteMacAddr": null,
"radioMap": {
"is2dot4GHz": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
},
"is5GHzU": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
},
"is5GHzL": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
}
},
"profileType": "equipment_ap"
},
"createdTimestamp": 1605711197140,
"lastModifiedTimestamp": 1605711197140,
"childProfileIds": [
16,
21,
22,
15
]
}

View File

@@ -1,72 +1,72 @@
[
{
"model_type": "Profile",
"id": 10,
"customerId": 2,
"profileType": "hotspot_2pt0",
"name": "TipWlan-Hotspot20-Config",
"details": {
"model_type": "Hotspot2Profile",
"enableInterworkingAndHs20": true,
"hessid": null,
"accessNetworkType": "free_public_network",
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
"additionalStepsRequiredForAccess": 0,
"deauthRequestTimeout": 0,
"operatingClass": 0,
"termsAndConditionsFile": {
"model_type": "ManagedFileInfo",
"md5checksum": null,
"lastModifiedTimestamp": null,
"apExportUrl": "https://localhost:9091/filestore/termsAndConditions",
"fileCategory": "ExternalPolicyConfiguration",
"fileType": "TEXT",
"altSlot": false
"model_type": "Profile",
"id": 24,
"customerId": 2,
"profileType": "passpoint",
"name": "TipWlan-Hotspot20-Config",
"details": {
"model_type": "PasspointProfile",
"enableInterworkingAndHs20": true,
"hessid": null,
"additionalStepsRequiredForAccess": 0,
"deauthRequestTimeout": 0,
"operatingClass": 0,
"termsAndConditionsFile": {
"model_type": "ManagedFileInfo",
"md5checksum": null,
"lastModifiedTimestamp": null,
"apExportUrl": "https://localhost:9091/filestore/termsAndConditions",
"fileCategory": "ExternalPolicyConfiguration",
"fileType": "TEXT",
"altSlot": false
},
"whitelistDomain": null,
"emergencyServicesReachable": true,
"unauthenticatedEmergencyServiceAccessible": false,
"internetConnectivity": true,
"connectionCapabilitySet": [
{
"model_type": "PasspointConnectionCapability",
"connectionCapabilitiesPortNumber": 8888,
"connectionCapabilitiesIpProtocol": "TCP",
"connectionCapabilitiesStatus": "open"
}
],
"ipAddressTypeAvailability": "public_IPv4_address_available",
"qosMapSetConfiguration": null,
"apGeospatialLocation": null,
"apCivicLocation": null,
"apPublicLocationIdUri": null,
"gasAddr3Behaviour": "p2pSpecWorkaroundFromRequest",
"anqpDomainId": 1234,
"disableDownstreamGroupAddressedForwarding": false,
"enable2pt4GHz": true,
"enable5GHz": true,
"associatedAccessSsidNames": [
"TipWlan-cloud-hotspot-access"
],
"osuSsidName": "TipWlan-cloud-hotspot-osu",
"operatorProfileName": "TipWlan-Hotspot20-Operator",
"venueProfileName": "TipWlan-Hotspot20-Venue",
"idProviderProfileNames": [
"TipWlan-Hotspot20-OSU-Provider-2",
"TipWlan-Hotspot20-OSU-Provider"
],
"accessNetworkType": "free_public_network",
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
"associatedSsids": [
"TipWlan-cloud-hotspot-access"
],
"profileType": "passpoint"
},
"whitelistDomain": null,
"emergencyServicesReachable": true,
"unauthenticatedEmergencyServiceAccessible": false,
"internetConnectivity": true,
"connectionCapabilitySet": [
{
"model_type": "ConnectionCapability",
"connectionCapabilitiesPortNumber": 8888,
"connectionCapabilitiesIpProtocol": "TCP",
"connectionCapabilitiesStatus": "open"
}
],
"ipAddressTypeAvailability": "public_IPv4_address_available",
"qosMapSetConfiguration": null,
"apGeospatialLocation": null,
"apCivicLocation": null,
"apPublicLocationIdUri": null,
"gasAddr3Behaviour": "p2pSpecWorkaroundFromRequest",
"anqpDomainId": 1234,
"disableDownstreamGroupAddressedForwarding": false,
"enable2pt4GHz": true,
"enable5GHz": true,
"associatedAccessSsidNames": [
"TipWlan-cloud-hotspot-access"
],
"osuSsidName": "TipWlan-cloud-3-radios",
"operatorProfileName": "TipWlan-Hotspot20-Operator",
"venueProfileName": "TipWlan-Hotspot20-Venue",
"idProviderProfileNames": [
"TipWlan-Hotspot20-OSU-Provider-2",
"TipWlan-Hotspot20-OSU-Provider"
],
"profileType": "hotspot_2pt0",
"associatedSsids": [
"TipWlan-cloud-hotspot-access"
"createdTimestamp": 1605711223339,
"lastModifiedTimestamp": 1605711223339,
"childProfileIds": [
17,
18,
19,
20
]
},
"createdTimestamp": 1602182806040,
"lastModifiedTimestamp": 1602182806040,
"childProfileIds": [
6,
7,
8,
9
]
}
}
]

View File

@@ -1,256 +1,270 @@
[
{
"model_type": "Profile",
"id": 8,
"customerId": 2,
"profileType": "id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider",
"details": {
"model_type": "Hotspot20IdProviderProfile",
"domainName": "rogers.com",
"mccMncList": [
{
"model_type": "MccMnc",
"mcc": 302,
"mnc": 720,
"iso": "ca",
"country": "Canada",
"countryCode": 1,
"network": "Rogers AT&T Wireless",
"mccMncPairing": "302,720"
}
],
"naiRealmList": [
{
"model_type": "NaiRealmInformation",
"naiRealms": [
"rogers.com"
],
"encoding": 0,
"eapMethods": [
"EAP-TTLS with username/password",
"EAP-TLS with certificate"
],
"eapMap": {
"EAP-TTLS with username/password": [
"Credential Type:username/password",
"Non-EAP Inner Authentication Type:MSCHAPV2"
],
"EAP-TLS with certificate": [
"Credential Type:Certificate"
]
}
}
],
"osuIconList": [
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_CA",
"iconName": "icon32eng",
"filePath": "/tmp/icon32eng.png",
"imageUrl": "https://localhost:9096/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
"iconLocale": "fr_CA",
"iconName": "icon32fra",
"filePath": "/tmp/icon32fra.png",
"imageUrl": "https://localhost:9096/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_US",
"iconName": "icon32usa",
"filePath": "/tmp/icon32usa.png",
"imageUrl": "https://localhost:9096/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/rogers/",
"osuFriendlyName": [
{
"model_type": "Hotspot20Duple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider rogers",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example provider rogers"
},
{
"model_type": "Hotspot20Duple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur rogers",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemple de fournisseur rogers"
}
],
"osuNaiStandalone": "anonymous@rogers.com",
"osuNaiShared": "anonymous@rogers.com",
"osuMethodList": [
1,
0
],
"osuServiceDescription": [
{
"model_type": "Hotspot20Duple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services rogers",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example services rogers"
},
{
"model_type": "Hotspot20Duple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services rogers",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemples de services rogers"
}
],
"profileType": "id_provider"
},
"createdTimestamp": 1602182805654,
"lastModifiedTimestamp": 1602182805654,
"childProfileIds": []
},
{
"model_type": "Profile",
"id": 9,
"customerId": 2,
"profileType": "id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider-2",
"details": {
"model_type": "Hotspot20IdProviderProfile",
"domainName": "telus.com",
"mccMncList": [
{
"model_type": "MccMnc",
"mcc": 302,
"mnc": 220,
"iso": "ca",
"country": "Canada",
"countryCode": 1,
"network": "Telus Mobility",
"mccMncPairing": "302,220"
}
],
"naiRealmList": [
{
"model_type": "NaiRealmInformation",
"naiRealms": [
"telus.com"
],
"encoding": 0,
"eapMethods": [
"EAP-TTLS with username/password",
"EAP-TLS with certificate"
],
"eapMap": {
"EAP-TTLS with username/password": [
"Credential Type:username/password",
"Non-EAP Inner Authentication Type:MSCHAPV2"
],
"EAP-TLS with certificate": [
"Credential Type:Certificate"
]
}
}
],
"osuIconList": [
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_CA",
"iconName": "icon32eng",
"filePath": "/tmp/icon32eng.png",
"imageUrl": "https://localhost:9096/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
"iconLocale": "fr_CA",
"iconName": "icon32fra",
"filePath": "/tmp/icon32fra.png",
"imageUrl": "https://localhost:9096/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_US",
"iconName": "icon32usa",
"filePath": "/tmp/icon32usa.png",
"imageUrl": "https://localhost:9096/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/telus/",
"osuFriendlyName": [
{
"model_type": "Hotspot20Duple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider telus",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example provider telus"
},
{
"model_type": "Hotspot20Duple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur telus",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemple de fournisseur telus"
}
],
"osuNaiStandalone": "anonymous@telus.com",
"osuNaiShared": "anonymous@telus.com",
"osuMethodList": [
1,
0
],
"osuServiceDescription": [
{
"model_type": "Hotspot20Duple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services telus",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example services telus"
},
{
"model_type": "Hotspot20Duple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services telus",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemples de services telus"
}
],
"profileType": "id_provider"
},
"createdTimestamp": 1602182805660,
"lastModifiedTimestamp": 1602182805660,
"childProfileIds": []
}
]
{
"model_type": "Profile",
"id": 19,
"customerId": 2,
"profileType": "passpoint_osu_id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider",
"details": {
"model_type": "PasspointOsuProviderProfile",
"domainName": "rogers.com",
"mccMncList": [
{
"model_type": "PasspointMccMnc",
"mcc": 302,
"mnc": 720,
"iso": "ca",
"country": "Canada",
"countryCode": 1,
"network": "Rogers AT&T Wireless",
"mccMncPairing": "302,720"
}
],
"naiRealmList": [
{
"model_type": "PasspointNaiRealmInformation",
"naiRealms": [
"rogers.com"
],
"encoding": 0,
"eapMethods": [
"EAP-TTLS with username/password",
"EAP-TLS with certificate"
],
"eapMap": {
"EAP-TTLS with username/password": [
"Credential Type:username/password",
"Non-EAP Inner Authentication Type:MSCHAPV2"
],
"EAP-TLS with certificate": [
"Credential Type:Certificate"
]
}
}
],
"osuIconList": [
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_CA",
"iconName": "icon32eng",
"filePath": "/tmp/icon32eng.png",
"imageUrl": "https://localhost:9096/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
"iconLocale": "fr_CA",
"iconName": "icon32fra",
"filePath": "/tmp/icon32fra.png",
"imageUrl": "https://localhost:9096/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_US",
"iconName": "icon32usa",
"filePath": "/tmp/icon32usa.png",
"imageUrl": "https://localhost:9096/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/rogers",
"osuFriendlyName": [
{
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider rogers",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example provider rogers"
},
{
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur rogers",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemple de fournisseur rogers"
}
],
"osuNaiStandalone": "anonymous@rogers.com",
"osuNaiShared": "anonymous@rogers.com",
"osuMethodList": [
1,
0
],
"osuServiceDescription": [
{
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services rogers",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example services rogers"
},
{
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services rogers",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemples de services rogers"
}
],
"roamingOi": [
1,
2,
3,
4
],
"profileType": "passpoint_osu_id_provider"
},
"createdTimestamp": 1605711165325,
"lastModifiedTimestamp": 1605711165325,
"childProfileIds": [
]
},
{
"model_type": "Profile",
"id": 20,
"customerId": 2,
"profileType": "passpoint_osu_id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider-2",
"details": {
"model_type": "PasspointOsuProviderProfile",
"domainName": "telus.com",
"mccMncList": [
{
"model_type": "PasspointMccMnc",
"mcc": 302,
"mnc": 220,
"iso": "ca",
"country": "Canada",
"countryCode": 1,
"network": "Telus Mobility",
"mccMncPairing": "302,220"
}
],
"naiRealmList": [
{
"model_type": "PasspointNaiRealmInformation",
"naiRealms": [
"telus.com"
],
"encoding": 0,
"eapMethods": [
"EAP-TTLS with username/password",
"EAP-TLS with certificate"
],
"eapMap": {
"EAP-TTLS with username/password": [
"Credential Type:username/password",
"Non-EAP Inner Authentication Type:MSCHAPV2"
],
"EAP-TLS with certificate": [
"Credential Type:Certificate"
]
}
}
],
"osuIconList": [
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_CA",
"iconName": "icon32eng",
"filePath": "/tmp/icon32eng.png",
"imageUrl": "https://localhost:9096/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
"iconLocale": "fr_CA",
"iconName": "icon32fra",
"filePath": "/tmp/icon32fra.png",
"imageUrl": "https://localhost:9096/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_US",
"iconName": "icon32usa",
"filePath": "/tmp/icon32usa.png",
"imageUrl": "https://localhost:9096/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/telus",
"osuFriendlyName": [
{
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider telus",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example provider telus"
},
{
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur telus",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemple de fournisseur telus"
}
],
"osuNaiStandalone": "anonymous@telus.com",
"osuNaiShared": "anonymous@telus.com",
"osuMethodList": [
1,
0
],
"osuServiceDescription": [
{
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services telus",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example services telus"
},
{
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services telus",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemples de services telus"
}
],
"roamingOi": [
1,
2,
3,
4
],
"profileType": "passpoint_osu_id_provider"
},
"createdTimestamp": 1605711165330,
"lastModifiedTimestamp": 1605711165330,
"childProfileIds": [
]
}
]

View File

@@ -1,298 +1,299 @@
[
{
"model_type": "Profile",
"id": 2,
"customerId": 2,
"profileType": "metrics",
"name": "Metrics-Profile-3-radios",
"details": {
"model_type": "ServiceMetricsCollectionConfigProfile",
"radioTypes": [
"is5GHzU",
"is5GHzL",
"is2dot4GHz"
],
"serviceMetricDataTypes": [
"ApNode",
"ApSsid",
"Client",
"Channel",
"Neighbour"
],
"metricConfigParameterMap": {
"ApNode": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_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": "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"
}
],
"ApSsid": [
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApSsid"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzL",
"serviceMetricDataType": "ApSsid"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"serviceMetricDataType": "ApSsid"
}
],
"Client": [
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Client"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzL",
"serviceMetricDataType": "Client"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"serviceMetricDataType": "Client"
}
],
"Channel": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_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"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"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"
}
],
"Neighbour": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_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"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_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"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Neighbour"
}
]
},
"profileType": "metrics"
},
"createdTimestamp": 1602113058699,
"lastModifiedTimestamp": 1602113058699,
"childProfileIds": []
}
{
"model_type": "Profile",
"id": 22,
"customerId": 2,
"profileType": "service_metrics_collection_config",
"name": "Metrics-Profile-Passpoint",
"details": {
"model_type": "ServiceMetricsCollectionConfigProfile",
"radioTypes": [
"is5GHzL",
"is2dot4GHz",
"is5GHzU"
],
"serviceMetricDataTypes": [
"ApNode",
"ApSsid",
"Client",
"Channel",
"Neighbour"
],
"metricConfigParameterMap": {
"ApNode": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
}
],
"ApSsid": [
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzL",
"serviceMetricDataType": "ApSsid"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApSsid"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"serviceMetricDataType": "ApSsid"
}
],
"Client": [
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"serviceMetricDataType": "Client"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzL",
"serviceMetricDataType": "Client"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Client"
}
],
"Channel": [
{
"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": 120,
"channelSurveyType": "OFF_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": "is5GHzL",
"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": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"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"
}
],
"Neighbour": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzU",
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_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"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"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"
}
]
},
"profileType": "service_metrics_collection_config"
},
"createdTimestamp": 1605711195528,
"lastModifiedTimestamp": 1605711195528,
"childProfileIds": [
]
}
]

View File

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

View File

@@ -1,260 +1,205 @@
{
"model_type": "Profile",
"id": 13,
"customerId": 2,
"profileType": "rf",
"name": "TipWlan-rf",
"details": {
"model_type": "RfConfiguration",
"rfConfigMap": {
"is5GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
},
"is2dot4GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is20MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 20,
"minLoadFactor": 50
},
"minAutoCellSize": -65
},
"is5GHzU": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
},
"is5GHzL": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
}
},
"profileType": "rf"
},
"createdTimestamp": 1602182806063,
"lastModifiedTimestamp": 1602182806063,
"childProfileIds": []
"model_type": "Profile",
"id": 21,
"customerId": 2,
"profileType": "rf",
"name": "TipWlan-rf-passpoint",
"details": {
"model_type": "RfConfiguration",
"rfConfigMap": {
"is5GHz": {
"model_type": "RfElementConfiguration",
"radioType": "is5GHz",
"radioMode": "modeAC",
"rf": "TipWlan-rf-passpoint",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"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
}
},
"is2dot4GHz": {
"model_type": "RfElementConfiguration",
"radioType": "is2dot4GHz",
"radioMode": "modeN",
"rf": "TipWlan-rf-passpoint",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is20MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"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
}
},
"is5GHzU": {
"model_type": "RfElementConfiguration",
"radioType": "is5GHzU",
"radioMode": "modeAC",
"rf": "TipWlan-rf-passpoint",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"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
}
},
"is5GHzL": {
"model_type": "RfElementConfiguration",
"radioType": "is5GHzL",
"radioMode": "modeAC",
"rf": "TipWlan-rf-passpoint",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"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
}
}
},
"profileType": "rf"
},
"createdTimestamp": 1605711191976,
"lastModifiedTimestamp": 1605711191976,
"childProfileIds": [
]
}

View File

@@ -1,7 +1,7 @@
[
{
"model_type": "Profile",
"id": 5,
"id": 15,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-hotspot-access",
@@ -9,9 +9,8 @@
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-hotspot-access",
"appliedRadios": [
"is5GHzU",
"is5GHzL",
"is2dot4GHz"
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
@@ -21,6 +20,7 @@
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"radiusAccountingServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
@@ -59,25 +59,23 @@
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602113058718,
"lastModifiedTimestamp": 1602113059547,
"createdTimestamp": 1605711164949,
"lastModifiedTimestamp": 1605711223372,
"childProfileIds": [
10
24
]
},
{
"model_type": "Profile",
"id": 11,
"id": 16,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-3-radios",
"name": "TipWlan-cloud-hotspot-osu",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-3-radios",
"ssid": "TipWlan-cloud-hotspot-osu",
"appliedRadios": [
"is5GHzL",
"is2dot4GHz",
"is5GHzU"
"is2dot4GHz"
],
"ssidAdminState": "enabled",
"secureMode": "open",
@@ -87,6 +85,7 @@
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"radiusAccountingServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
@@ -125,10 +124,11 @@
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602183994766,
"lastModifiedTimestamp": 1602183994766,
"createdTimestamp": 1605711164950,
"lastModifiedTimestamp": 1605711171732,
"childProfileIds": [
10
19,
20
]
}
]

View File

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

@@ -41,23 +41,23 @@
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"perimeterDetectionEnabled": true,
@@ -75,23 +75,23 @@
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"perimeterDetectionEnabled": true,
@@ -109,23 +109,23 @@
"bannedChannels": [],
"allowedChannels": [],
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"model_type": "SourceSelectionValue",
"source": "auto",
"value": 32
},
"perimeterDetectionEnabled": true,
@@ -141,16 +141,22 @@
"radioType": "is2dot4GHz",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"radioMode": "modeN",
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": "auto",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 20,
"minLoadFactor": 50
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
@@ -160,16 +166,22 @@
"radioType": "is5GHzU",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"radioMode": "modeAC",
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": "auto",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
@@ -179,16 +191,22 @@
"radioType": "is5GHzL",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"radioMode": "modeAC",
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": "auto",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null

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,50 +1,55 @@
{
"model_type": "Profile",
"id": 17,
"customerId": 2,
"profileType": "equipment_ap",
"name": "ApProfile-3-radios",
"details": {
"model_type": "ApNetworkConfiguration",
"networkConfigVersion": "AP-1",
"equipmentType": "AP",
"vlanNative": true,
"vlan": 0,
"ntpServer": {
"model_type": "AutoOrManualString",
"auto": true,
"value": "pool.ntp.org"
},
"syslogRelay": null,
"rtlsSettings": null,
"syntheticClientEnabled": true,
"ledControlEnabled": true,
"equipmentDiscovery": false,
"radioMap": {
"is2dot4GHz": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
},
"is5GHzU": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
},
"is5GHzL": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
}
},
"profileType": "equipment_ap"
},
"createdTimestamp": 1602182806348,
"lastModifiedTimestamp": 1602182806348,
"childProfileIds": [
2,
5,
11,
13
]
"model_type": "Profile",
"id": 23,
"customerId": 2,
"profileType": "equipment_ap",
"name": "ApProfile-3-radios-passpoint",
"details": {
"model_type": "ApNetworkConfiguration",
"networkConfigVersion": "AP-1",
"equipmentType": "AP",
"vlanNative": true,
"vlan": 0,
"ntpServer": {
"model_type": "AutoOrManualString",
"auto": true,
"value": "pool.ntp.org"
},
"syslogRelay": null,
"rtlsSettings": null,
"syntheticClientEnabled": true,
"ledControlEnabled": true,
"equipmentDiscovery": false,
"greTunnelName": null,
"greParentIfName": null,
"greLocalInetAddr": null,
"greRemoteInetAddr": null,
"greRemoteMacAddr": null,
"radioMap": {
"is2dot4GHz": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
},
"is5GHzU": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
},
"is5GHzL": {
"model_type": "RadioProfileConfiguration",
"bestApEnabled": true,
"bestAPSteerType": "both"
}
},
"profileType": "equipment_ap"
},
"createdTimestamp": 1605711197140,
"lastModifiedTimestamp": 1605711197140,
"childProfileIds": [
16,
21,
22,
15
]
}

View File

@@ -1,72 +1,72 @@
[
{
"model_type": "Profile",
"id": 10,
"customerId": 2,
"profileType": "hotspot_2pt0",
"name": "TipWlan-Hotspot20-Config",
"details": {
"model_type": "Hotspot2Profile",
"enableInterworkingAndHs20": true,
"hessid": null,
"accessNetworkType": "free_public_network",
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
"additionalStepsRequiredForAccess": 0,
"deauthRequestTimeout": 0,
"operatingClass": 0,
"termsAndConditionsFile": {
"model_type": "ManagedFileInfo",
"md5checksum": null,
"lastModifiedTimestamp": null,
"apExportUrl": "https://localhost:9091/filestore/termsAndConditions",
"fileCategory": "ExternalPolicyConfiguration",
"fileType": "TEXT",
"altSlot": false
"model_type": "Profile",
"id": 24,
"customerId": 2,
"profileType": "passpoint",
"name": "TipWlan-Hotspot20-Config",
"details": {
"model_type": "PasspointProfile",
"enableInterworkingAndHs20": true,
"hessid": null,
"additionalStepsRequiredForAccess": 0,
"deauthRequestTimeout": 0,
"operatingClass": 0,
"termsAndConditionsFile": {
"model_type": "ManagedFileInfo",
"md5checksum": null,
"lastModifiedTimestamp": null,
"apExportUrl": "https://localhost:9091/filestore/termsAndConditions",
"fileCategory": "ExternalPolicyConfiguration",
"fileType": "TEXT",
"altSlot": false
},
"whitelistDomain": null,
"emergencyServicesReachable": true,
"unauthenticatedEmergencyServiceAccessible": false,
"internetConnectivity": true,
"connectionCapabilitySet": [
{
"model_type": "PasspointConnectionCapability",
"connectionCapabilitiesPortNumber": 8888,
"connectionCapabilitiesIpProtocol": "TCP",
"connectionCapabilitiesStatus": "open"
}
],
"ipAddressTypeAvailability": "public_IPv4_address_available",
"qosMapSetConfiguration": null,
"apGeospatialLocation": null,
"apCivicLocation": null,
"apPublicLocationIdUri": null,
"gasAddr3Behaviour": "p2pSpecWorkaroundFromRequest",
"anqpDomainId": 1234,
"disableDownstreamGroupAddressedForwarding": false,
"enable2pt4GHz": true,
"enable5GHz": true,
"associatedAccessSsidNames": [
"TipWlan-cloud-hotspot-access"
],
"osuSsidName": "TipWlan-cloud-hotspot-osu",
"operatorProfileName": "TipWlan-Hotspot20-Operator",
"venueProfileName": "TipWlan-Hotspot20-Venue",
"idProviderProfileNames": [
"TipWlan-Hotspot20-OSU-Provider-2",
"TipWlan-Hotspot20-OSU-Provider"
],
"accessNetworkType": "free_public_network",
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
"associatedSsids": [
"TipWlan-cloud-hotspot-access"
],
"profileType": "passpoint"
},
"whitelistDomain": null,
"emergencyServicesReachable": true,
"unauthenticatedEmergencyServiceAccessible": false,
"internetConnectivity": true,
"connectionCapabilitySet": [
{
"model_type": "ConnectionCapability",
"connectionCapabilitiesPortNumber": 8888,
"connectionCapabilitiesIpProtocol": "TCP",
"connectionCapabilitiesStatus": "open"
}
],
"ipAddressTypeAvailability": "public_IPv4_address_available",
"qosMapSetConfiguration": null,
"apGeospatialLocation": null,
"apCivicLocation": null,
"apPublicLocationIdUri": null,
"gasAddr3Behaviour": "p2pSpecWorkaroundFromRequest",
"anqpDomainId": 1234,
"disableDownstreamGroupAddressedForwarding": false,
"enable2pt4GHz": true,
"enable5GHz": true,
"associatedAccessSsidNames": [
"TipWlan-cloud-hotspot-access"
],
"osuSsidName": "TipWlan-cloud-3-radios",
"operatorProfileName": "TipWlan-Hotspot20-Operator",
"venueProfileName": "TipWlan-Hotspot20-Venue",
"idProviderProfileNames": [
"TipWlan-Hotspot20-OSU-Provider-2",
"TipWlan-Hotspot20-OSU-Provider"
],
"profileType": "hotspot_2pt0",
"associatedSsids": [
"TipWlan-cloud-hotspot-access"
"createdTimestamp": 1605711223339,
"lastModifiedTimestamp": 1605711223339,
"childProfileIds": [
17,
18,
19,
20
]
},
"createdTimestamp": 1602182806040,
"lastModifiedTimestamp": 1602182806040,
"childProfileIds": [
6,
7,
8,
9
]
}
}
]

View File

@@ -1,256 +1,270 @@
[
{
"model_type": "Profile",
"id": 8,
"customerId": 2,
"profileType": "id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider",
"details": {
"model_type": "Hotspot20IdProviderProfile",
"domainName": "rogers.com",
"mccMncList": [
{
"model_type": "MccMnc",
"mcc": 302,
"mnc": 720,
"iso": "ca",
"country": "Canada",
"countryCode": 1,
"network": "Rogers AT&T Wireless",
"mccMncPairing": "302,720"
}
],
"naiRealmList": [
{
"model_type": "NaiRealmInformation",
"naiRealms": [
"rogers.com"
],
"encoding": 0,
"eapMethods": [
"EAP-TTLS with username/password",
"EAP-TLS with certificate"
],
"eapMap": {
"EAP-TTLS with username/password": [
"Credential Type:username/password",
"Non-EAP Inner Authentication Type:MSCHAPV2"
],
"EAP-TLS with certificate": [
"Credential Type:Certificate"
]
}
}
],
"osuIconList": [
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_CA",
"iconName": "icon32eng",
"filePath": "/tmp/icon32eng.png",
"imageUrl": "https://localhost:9096/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
"iconLocale": "fr_CA",
"iconName": "icon32fra",
"filePath": "/tmp/icon32fra.png",
"imageUrl": "https://localhost:9096/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_US",
"iconName": "icon32usa",
"filePath": "/tmp/icon32usa.png",
"imageUrl": "https://localhost:9096/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/rogers/",
"osuFriendlyName": [
{
"model_type": "Hotspot20Duple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider rogers",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example provider rogers"
},
{
"model_type": "Hotspot20Duple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur rogers",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemple de fournisseur rogers"
}
],
"osuNaiStandalone": "anonymous@rogers.com",
"osuNaiShared": "anonymous@rogers.com",
"osuMethodList": [
1,
0
],
"osuServiceDescription": [
{
"model_type": "Hotspot20Duple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services rogers",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example services rogers"
},
{
"model_type": "Hotspot20Duple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services rogers",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemples de services rogers"
}
],
"profileType": "id_provider"
},
"createdTimestamp": 1602182805654,
"lastModifiedTimestamp": 1602182805654,
"childProfileIds": []
},
{
"model_type": "Profile",
"id": 9,
"customerId": 2,
"profileType": "id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider-2",
"details": {
"model_type": "Hotspot20IdProviderProfile",
"domainName": "telus.com",
"mccMncList": [
{
"model_type": "MccMnc",
"mcc": 302,
"mnc": 220,
"iso": "ca",
"country": "Canada",
"countryCode": 1,
"network": "Telus Mobility",
"mccMncPairing": "302,220"
}
],
"naiRealmList": [
{
"model_type": "NaiRealmInformation",
"naiRealms": [
"telus.com"
],
"encoding": 0,
"eapMethods": [
"EAP-TTLS with username/password",
"EAP-TLS with certificate"
],
"eapMap": {
"EAP-TTLS with username/password": [
"Credential Type:username/password",
"Non-EAP Inner Authentication Type:MSCHAPV2"
],
"EAP-TLS with certificate": [
"Credential Type:Certificate"
]
}
}
],
"osuIconList": [
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_CA",
"iconName": "icon32eng",
"filePath": "/tmp/icon32eng.png",
"imageUrl": "https://localhost:9096/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
"iconLocale": "fr_CA",
"iconName": "icon32fra",
"filePath": "/tmp/icon32fra.png",
"imageUrl": "https://localhost:9096/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "OsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_US",
"iconName": "icon32usa",
"filePath": "/tmp/icon32usa.png",
"imageUrl": "https://localhost:9096/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/telus/",
"osuFriendlyName": [
{
"model_type": "Hotspot20Duple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider telus",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example provider telus"
},
{
"model_type": "Hotspot20Duple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur telus",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemple de fournisseur telus"
}
],
"osuNaiStandalone": "anonymous@telus.com",
"osuNaiShared": "anonymous@telus.com",
"osuMethodList": [
1,
0
],
"osuServiceDescription": [
{
"model_type": "Hotspot20Duple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services telus",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example services telus"
},
{
"model_type": "Hotspot20Duple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services telus",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemples de services telus"
}
],
"profileType": "id_provider"
},
"createdTimestamp": 1602182805660,
"lastModifiedTimestamp": 1602182805660,
"childProfileIds": []
}
]
{
"model_type": "Profile",
"id": 19,
"customerId": 2,
"profileType": "passpoint_osu_id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider",
"details": {
"model_type": "PasspointOsuProviderProfile",
"domainName": "rogers.com",
"mccMncList": [
{
"model_type": "PasspointMccMnc",
"mcc": 302,
"mnc": 720,
"iso": "ca",
"country": "Canada",
"countryCode": 1,
"network": "Rogers AT&T Wireless",
"mccMncPairing": "302,720"
}
],
"naiRealmList": [
{
"model_type": "PasspointNaiRealmInformation",
"naiRealms": [
"rogers.com"
],
"encoding": 0,
"eapMethods": [
"EAP-TTLS with username/password",
"EAP-TLS with certificate"
],
"eapMap": {
"EAP-TTLS with username/password": [
"Credential Type:username/password",
"Non-EAP Inner Authentication Type:MSCHAPV2"
],
"EAP-TLS with certificate": [
"Credential Type:Certificate"
]
}
}
],
"osuIconList": [
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_CA",
"iconName": "icon32eng",
"filePath": "/tmp/icon32eng.png",
"imageUrl": "https://localhost:9096/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
"iconLocale": "fr_CA",
"iconName": "icon32fra",
"filePath": "/tmp/icon32fra.png",
"imageUrl": "https://localhost:9096/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_US",
"iconName": "icon32usa",
"filePath": "/tmp/icon32usa.png",
"imageUrl": "https://localhost:9096/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/rogers",
"osuFriendlyName": [
{
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider rogers",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example provider rogers"
},
{
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur rogers",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemple de fournisseur rogers"
}
],
"osuNaiStandalone": "anonymous@rogers.com",
"osuNaiShared": "anonymous@rogers.com",
"osuMethodList": [
1,
0
],
"osuServiceDescription": [
{
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services rogers",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example services rogers"
},
{
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services rogers",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemples de services rogers"
}
],
"roamingOi": [
1,
2,
3,
4
],
"profileType": "passpoint_osu_id_provider"
},
"createdTimestamp": 1605711165325,
"lastModifiedTimestamp": 1605711165325,
"childProfileIds": [
]
},
{
"model_type": "Profile",
"id": 20,
"customerId": 2,
"profileType": "passpoint_osu_id_provider",
"name": "TipWlan-Hotspot20-OSU-Provider-2",
"details": {
"model_type": "PasspointOsuProviderProfile",
"domainName": "telus.com",
"mccMncList": [
{
"model_type": "PasspointMccMnc",
"mcc": 302,
"mnc": 220,
"iso": "ca",
"country": "Canada",
"countryCode": 1,
"network": "Telus Mobility",
"mccMncPairing": "302,220"
}
],
"naiRealmList": [
{
"model_type": "PasspointNaiRealmInformation",
"naiRealms": [
"telus.com"
],
"encoding": 0,
"eapMethods": [
"EAP-TTLS with username/password",
"EAP-TLS with certificate"
],
"eapMap": {
"EAP-TTLS with username/password": [
"Credential Type:username/password",
"Non-EAP Inner Authentication Type:MSCHAPV2"
],
"EAP-TLS with certificate": [
"Credential Type:Certificate"
]
}
}
],
"osuIconList": [
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_CA",
"iconName": "icon32eng",
"filePath": "/tmp/icon32eng.png",
"imageUrl": "https://localhost:9096/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
},
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "fra",
"iconLocale": "fr_CA",
"iconName": "icon32fra",
"filePath": "/tmp/icon32fra.png",
"imageUrl": "https://localhost:9096/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
},
{
"model_type": "PasspointOsuIcon",
"iconWidth": 32,
"iconHeight": 32,
"languageCode": "eng",
"iconLocale": "en_US",
"iconName": "icon32usa",
"filePath": "/tmp/icon32usa.png",
"imageUrl": "https://localhost:9096/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
}
],
"osuServerUri": "https://example.com/osu/telus",
"osuFriendlyName": [
{
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example provider telus",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example provider telus"
},
{
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemple de fournisseur telus",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemple de fournisseur telus"
}
],
"osuNaiStandalone": "anonymous@telus.com",
"osuNaiShared": "anonymous@telus.com",
"osuMethodList": [
1,
0
],
"osuServiceDescription": [
{
"model_type": "PasspointDuple",
"locale": "en_CA",
"dupleIso3Language": "eng",
"dupleName": "Example services telus",
"defaultDupleSeparator": ":",
"asDuple": "eng:Example services telus"
},
{
"model_type": "PasspointDuple",
"locale": "fr_CA",
"dupleIso3Language": "fra",
"dupleName": "Exemples de services telus",
"defaultDupleSeparator": ":",
"asDuple": "fra:Exemples de services telus"
}
],
"roamingOi": [
1,
2,
3,
4
],
"profileType": "passpoint_osu_id_provider"
},
"createdTimestamp": 1605711165330,
"lastModifiedTimestamp": 1605711165330,
"childProfileIds": [
]
}
]

View File

@@ -1,298 +1,299 @@
[
{
"model_type": "Profile",
"id": 2,
"customerId": 2,
"profileType": "metrics",
"name": "Metrics-Profile-3-radios",
"details": {
"model_type": "ServiceMetricsCollectionConfigProfile",
"radioTypes": [
"is5GHzU",
"is5GHzL",
"is2dot4GHz"
],
"serviceMetricDataTypes": [
"ApNode",
"ApSsid",
"Client",
"Channel",
"Neighbour"
],
"metricConfigParameterMap": {
"ApNode": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_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": "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"
}
],
"ApSsid": [
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApSsid"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzL",
"serviceMetricDataType": "ApSsid"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"serviceMetricDataType": "ApSsid"
}
],
"Client": [
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Client"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzL",
"serviceMetricDataType": "Client"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"serviceMetricDataType": "Client"
}
],
"Channel": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_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"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"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"
}
],
"Neighbour": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_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"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_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"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"statsReportFormat": "RAW",
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Neighbour"
}
]
},
"profileType": "metrics"
},
"createdTimestamp": 1602113058699,
"lastModifiedTimestamp": 1602113058699,
"childProfileIds": []
}
{
"model_type": "Profile",
"id": 22,
"customerId": 2,
"profileType": "service_metrics_collection_config",
"name": "Metrics-Profile-Passpoint",
"details": {
"model_type": "ServiceMetricsCollectionConfigProfile",
"radioTypes": [
"is5GHzL",
"is2dot4GHz",
"is5GHzU"
],
"serviceMetricDataTypes": [
"ApNode",
"ApSsid",
"Client",
"Channel",
"Neighbour"
],
"metricConfigParameterMap": {
"ApNode": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzU",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApNode",
"statsReportFormat": "RAW"
}
],
"ApSsid": [
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzL",
"serviceMetricDataType": "ApSsid"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "ApSsid"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"serviceMetricDataType": "ApSsid"
}
],
"Client": [
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzU",
"serviceMetricDataType": "Client"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is5GHzL",
"serviceMetricDataType": "Client"
},
{
"model_type": "ServiceMetricRadioConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"radioType": "is2dot4GHz",
"serviceMetricDataType": "Client"
}
],
"Channel": [
{
"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": 120,
"channelSurveyType": "OFF_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": "is5GHzL",
"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": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"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"
}
],
"Neighbour": [
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzL",
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is5GHzU",
"serviceMetricDataType": "Neighbour",
"statsReportFormat": "RAW"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 60,
"channelSurveyType": "ON_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"
},
{
"model_type": "ServiceMetricSurveyConfigParameters",
"samplingInterval": 30,
"reportingIntervalSeconds": 120,
"channelSurveyType": "OFF_CHANNEL",
"scanIntervalMillis": 0,
"percentUtilizationThreshold": 10,
"delayMillisecondsThreshold": 600,
"radioType": "is2dot4GHz",
"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"
}
]
},
"profileType": "service_metrics_collection_config"
},
"createdTimestamp": 1605711195528,
"lastModifiedTimestamp": 1605711195528,
"childProfileIds": [
]
}
]

View File

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

View File

@@ -1,260 +1,205 @@
{
"model_type": "Profile",
"id": 13,
"customerId": 2,
"profileType": "rf",
"name": "TipWlan-rf",
"details": {
"model_type": "RfConfiguration",
"rfConfigMap": {
"is5GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
},
"is2dot4GHz": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is20MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 20,
"minLoadFactor": 50
},
"minAutoCellSize": -65
},
"is5GHzU": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
},
"is5GHzL": {
"model_type": "RfElementConfiguration",
"rf": "TipWlan-rf",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": 18
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
},
"minAutoCellSize": -65
}
},
"profileType": "rf"
},
"createdTimestamp": 1602182806063,
"lastModifiedTimestamp": 1602182806063,
"childProfileIds": []
"model_type": "Profile",
"id": 21,
"customerId": 2,
"profileType": "rf",
"name": "TipWlan-rf-passpoint",
"details": {
"model_type": "RfConfiguration",
"rfConfigMap": {
"is5GHz": {
"model_type": "RfElementConfiguration",
"radioType": "is5GHz",
"radioMode": "modeAC",
"rf": "TipWlan-rf-passpoint",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"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
}
},
"is2dot4GHz": {
"model_type": "RfElementConfiguration",
"radioType": "is2dot4GHz",
"radioMode": "modeN",
"rf": "TipWlan-rf-passpoint",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is20MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"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
}
},
"is5GHzU": {
"model_type": "RfElementConfiguration",
"radioType": "is5GHzU",
"radioMode": "modeAC",
"rf": "TipWlan-rf-passpoint",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"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
}
},
"is5GHzL": {
"model_type": "RfElementConfiguration",
"radioType": "is5GHzL",
"radioMode": "modeAC",
"rf": "TipWlan-rf-passpoint",
"beaconInterval": 100,
"forceScanDuringVoice": "disabled",
"rtsCtsThreshold": 65535,
"channelBandwidth": "is80MHz",
"mimoMode": "twoByTwo",
"maxNumClients": 100,
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -65,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"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
}
}
},
"profileType": "rf"
},
"createdTimestamp": 1605711191976,
"lastModifiedTimestamp": 1605711191976,
"childProfileIds": [
]
}

View File

@@ -1,7 +1,7 @@
[
{
"model_type": "Profile",
"id": 5,
"id": 15,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-hotspot-access",
@@ -9,9 +9,8 @@
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-hotspot-access",
"appliedRadios": [
"is5GHzU",
"is5GHzL",
"is2dot4GHz"
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
@@ -21,6 +20,7 @@
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"radiusAccountingServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
@@ -59,25 +59,23 @@
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602113058718,
"lastModifiedTimestamp": 1602113059547,
"createdTimestamp": 1605711164949,
"lastModifiedTimestamp": 1605711223372,
"childProfileIds": [
10
24
]
},
{
"model_type": "Profile",
"id": 11,
"id": 16,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-3-radios",
"name": "TipWlan-cloud-hotspot-osu",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-3-radios",
"ssid": "TipWlan-cloud-hotspot-osu",
"appliedRadios": [
"is5GHzL",
"is2dot4GHz",
"is5GHzU"
"is2dot4GHz"
],
"ssidAdminState": "enabled",
"secureMode": "open",
@@ -87,6 +85,7 @@
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"radiusAccountingServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
@@ -125,10 +124,11 @@
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602183994766,
"lastModifiedTimestamp": 1602183994766,
"createdTimestamp": 1605711164950,
"lastModifiedTimestamp": 1605711171732,
"childProfileIds": [
10
19,
20
]
}
]

View File

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

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

@@ -57,7 +57,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.listenPort:6640}")
private int ovsdbListenPort;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.manager.collectionIntervalSec.deviceStats:120}")
@org.springframework.beans.factory.annotation.Value("${tip.wlan.manager.collectionIntervalSec.deviceStats:60}")
private long collectionIntervalSecDeviceStats;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.preventClientCnAlteration:false}")
@@ -132,7 +132,6 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
}
@Override
public void disconnected(OvsdbClient ovsdbClient) {
String remoteHost = ovsdbClient.getConnectionInfo().getRemoteAddress().getHostAddress();
@@ -192,22 +191,21 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
// connectedClients table
String apId = alterClientCnIfRequired(clientCn, connectNodeInfo);
LOG.debug("Client connect for AP {}", apId);
LOG.debug("Client {} connect for AP {}", clientCn, apId);
OpensyncAPConfig opensyncAPConfig = extIntegrationInterface.getApConfig(apId);
try {
ovsdbDao.provisionBridgePortInterface(ovsdbClient);
} catch (Exception e) {
LOG.warn("Could not provision Bridge->Port->Interface mapping.", e);
}
ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always
ovsdbDao.removeAllSsids(ovsdbClient); // always
ovsdbDao.removeWifiRrm(ovsdbClient);
if (opensyncAPConfig != null) {
// cleanup existing
ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always
ovsdbDao.removeAllPasspointConfigs(ovsdbClient);
ovsdbDao.removeWifiRrm(ovsdbClient);
ovsdbDao.removeAllSsids(ovsdbClient, opensyncAPConfig); // always
ovsdbDao.removeAllGreTunnels(ovsdbClient, opensyncAPConfig);
// reconfigure
ovsdbDao.configureWifiRadios(ovsdbClient, opensyncAPConfig);
ovsdbDao.configureInterfaces(ovsdbClient);
ovsdbDao.configureGreTunnels(ovsdbClient, opensyncAPConfig);
ovsdbDao.configureSsids(ovsdbClient, opensyncAPConfig);
ovsdbDao.configureWifiRrm(ovsdbClient, opensyncAPConfig);
if (opensyncAPConfig.getHotspotConfig() != null) {
@@ -217,8 +215,19 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
if (((ApNetworkConfiguration) opensyncAPConfig.getApProfile().getDetails()).getSyntheticClientEnabled()) {
ovsdbDao.enableNetworkProbeForSyntheticClient(ovsdbClient);
}
} else {
ovsdbDao.removeAllPasspointConfigs(ovsdbClient);
ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always
ovsdbDao.removeWifiRrm(ovsdbClient);
ovsdbDao.removeAllSsids(ovsdbClient); // always
ovsdbDao.removeAllGreTunnels(ovsdbClient, null);
}
if (ovsdbDao.getDeviceStatsReportingInterval(ovsdbClient) != collectionIntervalSecDeviceStats) {
ovsdbDao.updateDeviceStatsReportingInterval(ovsdbClient, collectionIntervalSecDeviceStats);
}
LOG.debug("Client connect Done");
return connectNodeInfo;
}
@@ -261,20 +270,24 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
LOG.warn("AP with id " + apId + " does not have a config to apply.");
return;
}
ovsdbDao.removeAllSsids(ovsdbClient); // always
ovsdbDao.removeWifiRrm(ovsdbClient);
ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always
ovsdbDao.removeAllPasspointConfigs(ovsdbClient);
ovsdbDao.removeWifiRrm(ovsdbClient);
ovsdbDao.removeAllSsids(ovsdbClient, opensyncAPConfig); // always
ovsdbDao.removeAllGreTunnels(ovsdbClient, opensyncAPConfig);
ovsdbDao.configureWifiRadios(ovsdbClient, opensyncAPConfig);
ovsdbDao.configureInterfaces(ovsdbClient);
ovsdbDao.configureGreTunnels(ovsdbClient, opensyncAPConfig);
ovsdbDao.configureSsids(ovsdbClient, opensyncAPConfig);
ovsdbDao.configureWifiRrm(ovsdbClient, opensyncAPConfig);
if (opensyncAPConfig.getHotspotConfig() != null) {
ovsdbDao.configureHotspots(ovsdbClient, opensyncAPConfig);
}
ovsdbDao.configureStatsFromProfile(ovsdbClient, opensyncAPConfig);
if (ovsdbDao.getDeviceStatsReportingInterval(ovsdbClient) != collectionIntervalSecDeviceStats) {
ovsdbDao.updateDeviceStatsReportingInterval(ovsdbClient, collectionIntervalSecDeviceStats);
}
LOG.debug("Finished processConfigChanged for {}", apId);
}
@@ -354,7 +367,8 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
CompletableFuture<TableUpdates> awCf = ovsdbClient.monitor(OvsdbDao.ovsdbName,
OvsdbDao.dhcpLeasedIpDbTable + "_" + key,
new MonitorRequests(ImmutableMap.of(OvsdbDao.dhcpLeasedIpDbTable, new MonitorRequest())),
new MonitorRequests(ImmutableMap.of(OvsdbDao.dhcpLeasedIpDbTable,
new MonitorRequest(new MonitorSelect(true, true, true, true)))),
new MonitorCallback() {
@Override
@@ -419,15 +433,12 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
}
});
awCf.join();
}
private void monitorCommandStateDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
CompletableFuture<TableUpdates> csCf = ovsdbClient.monitor(OvsdbDao.ovsdbName,
@@ -444,7 +455,6 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
List<Map<String, String>> delete = new ArrayList<>();
List<Map<String, String>> update = new ArrayList<>();
for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) {
for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) {
@@ -498,18 +508,16 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
}
});
csCf.join();
}
private void monitorAwlanNodeDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
CompletableFuture<TableUpdates> awCf = ovsdbClient.monitor(OvsdbDao.ovsdbName,
OvsdbDao.awlanNodeDbTable + "_" + key,
new MonitorRequests(ImmutableMap.of(OvsdbDao.awlanNodeDbTable, new MonitorRequest())),
new MonitorRequests(ImmutableMap.of(OvsdbDao.awlanNodeDbTable, new MonitorRequest(new MonitorSelect(true, false, false, true)))),
new MonitorCallback() {
@Override
@@ -558,7 +566,6 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
}
// now address the update/add
extIntegrationInterface.wifiAssociatedClientsDbTableUpdate(associatedClients, key);
@@ -568,50 +575,48 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
acCf.join();
}
private void monitorWifiInetStateDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
CompletableFuture<TableUpdates> isCf = ovsdbClient
.monitor(OvsdbDao.ovsdbName, OvsdbDao.wifiInetStateDbTable + "_" + key,
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiInetStateDbTable,
new MonitorRequest(new MonitorSelect(false, true, true, true)))),
new MonitorCallback() {
CompletableFuture<TableUpdates> isCf = ovsdbClient.monitor(OvsdbDao.ovsdbName,
OvsdbDao.wifiInetStateDbTable + "_" + key,
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiInetStateDbTable,
new MonitorRequest(new MonitorSelect(true, true, true, true)))),
new MonitorCallback() {
@Override
public void update(TableUpdates tableUpdates) {
LOG.info(OvsdbDao.ovsdbName,
OvsdbDao.wifiInetStateDbTable + "_" + key + " monitor callback received {}",
tableUpdates);
@Override
public void update(TableUpdates tableUpdates) {
LOG.info(OvsdbDao.ovsdbName,
OvsdbDao.wifiInetStateDbTable + "_" + key + " monitor callback received {}",
tableUpdates);
List<OpensyncAPInetState> inetStateInsertOrUpdate = new ArrayList<>();
List<OpensyncAPInetState> inetStateDelete = new ArrayList<>();
List<OpensyncAPInetState> inetStateInsertOrUpdate = new ArrayList<>();
List<OpensyncAPInetState> inetStateDelete = new ArrayList<>();
for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) {
for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) {
for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) {
for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) {
if (rowUpdate.getNew() == null) {
inetStateDelete.addAll(ovsdbDao
.getOpensyncApInetStateForRowUpdate(rowUpdate, key, ovsdbClient));
} else {
inetStateInsertOrUpdate.addAll(ovsdbDao
.getOpensyncApInetStateForRowUpdate(rowUpdate, key, ovsdbClient));
}
}
if (rowUpdate.getNew() == null) {
inetStateDelete.addAll(
ovsdbDao.getOpensyncApInetStateForRowUpdate(rowUpdate, key, ovsdbClient));
} else {
inetStateInsertOrUpdate.addAll(
ovsdbDao.getOpensyncApInetStateForRowUpdate(rowUpdate, key, ovsdbClient));
}
// delete first
extIntegrationInterface.wifiInetStateDbTableUpdate(inetStateDelete, key);
// now process updates and mutations
extIntegrationInterface.wifiInetStateDbTableUpdate(inetStateInsertOrUpdate, key);
}
}
});
// delete first
extIntegrationInterface.wifiInetStateDbTableUpdate(inetStateDelete, key);
// now process updates and mutations
extIntegrationInterface.wifiInetStateDbTableUpdate(inetStateInsertOrUpdate, key);
}
});
isCf.join();
}
@@ -620,7 +625,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
CompletableFuture<TableUpdates> rsCf = ovsdbClient.monitor(OvsdbDao.ovsdbName,
OvsdbDao.wifiRadioStateDbTable + "_" + key,
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiRadioStateDbTable, new MonitorRequest())),
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiRadioStateDbTable, new MonitorRequest(new MonitorSelect(true, false, false, true)))),
new MonitorCallback() {
@Override
@@ -641,7 +646,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
CompletableFuture<TableUpdates> vsCf = ovsdbClient.monitor(OvsdbDao.ovsdbName,
OvsdbDao.wifiVifStateDbTable + "_" + key,
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiVifStateDbTable, new MonitorRequest())),
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiVifStateDbTable, new MonitorRequest(new MonitorSelect(true, true, true, true)))),
new MonitorCallback() {
@Override
@@ -680,7 +685,6 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
}
}
});
@@ -723,14 +727,10 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
@Override
public String processFirmwareFlash(String apId, String firmwareVersion, String username) {
OvsdbSession session = ovsdbSessionMapInterface.getSession(apId);
OvsdbClient ovsdbClient = session.getOvsdbClient();
try {
ovsdbDao.configureFirmwareFlash(session.getOvsdbClient(), apId, firmwareVersion, username);
} catch (Exception e) {
LOG.error("Failed to flash firmware for " + apId + " " + e.getLocalizedMessage());
monitorOvsdbStateTables(ovsdbClient, apId); // turn back on so we
// can go forward and
// recover
return "Failed to flash firmware for " + apId + " " + e.getLocalizedMessage();
}
@@ -839,7 +839,6 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
return "failed to trigger a factory reset of AP " + apId;
}
}
public String alterClientCnIfRequired(String clientCn, ConnectNodeInfo connectNodeInfo) {

View File

@@ -1,5 +1,7 @@
package com.telecominfraproject.wlan.opensync.ovsdb.dao.models;
import java.util.Map;
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
public class WifiInetConfigInfo implements Cloneable{
@@ -17,22 +19,126 @@ public class WifiInetConfigInfo implements Cloneable{
public String inetAddr;
public int mtu;
public String netmask;
public String gateway;
public Map<String,String> dns;
public Map<String,String> dhcpd;
@Override
public WifiInetConfigInfo clone() {
try {
WifiInetConfigInfo ret = (WifiInetConfigInfo)super.clone();
if (dns != null) ret.dns = this.dns;
if (dhcpd != null) ret.dhcpd = this.dhcpd;
return ret;
}catch(CloneNotSupportedException e) {
throw new IllegalStateException("Cannot clone ", e);
}
}
@Override
public String toString() {
return String.format(
"WifiInetConfigInfo [nat=%s, broadcast=%s, enabled=%s, ifName=%s, ifType=%s, ipAssignScheme=%s, network=%s, uuid=%s, inetAddr=%s, mtu=%s, netmask=%s, vlanId=%s]",
nat, broadcast, enabled, ifName, ifType, ipAssignScheme, network, uuid,inetAddr, mtu, netmask, vlanId);
}
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((broadcast == null) ? 0 : broadcast.hashCode());
result = prime * result + ((dhcpd == null) ? 0 : dhcpd.hashCode());
result = prime * result + ((dns == null) ? 0 : dns.hashCode());
result = prime * result + (enabled ? 1231 : 1237);
result = prime * result + ((gateway == null) ? 0 : gateway.hashCode());
result = prime * result + ((ifName == null) ? 0 : ifName.hashCode());
result = prime * result + ((ifType == null) ? 0 : ifType.hashCode());
result = prime * result + ((inetAddr == null) ? 0 : inetAddr.hashCode());
result = prime * result + ((ipAssignScheme == null) ? 0 : ipAssignScheme.hashCode());
result = prime * result + mtu;
result = prime * result + (nat ? 1231 : 1237);
result = prime * result + ((netmask == null) ? 0 : netmask.hashCode());
result = prime * result + (network ? 1231 : 1237);
result = prime * result + ((uuid == null) ? 0 : uuid.hashCode());
result = prime * result + vlanId;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
WifiInetConfigInfo other = (WifiInetConfigInfo) obj;
if (broadcast == null) {
if (other.broadcast != null)
return false;
} else if (!broadcast.equals(other.broadcast))
return false;
if (dhcpd == null) {
if (other.dhcpd != null)
return false;
} else if (!dhcpd.equals(other.dhcpd))
return false;
if (dns == null) {
if (other.dns != null)
return false;
} else if (!dns.equals(other.dns))
return false;
if (enabled != other.enabled)
return false;
if (gateway == null) {
if (other.gateway != null)
return false;
} else if (!gateway.equals(other.gateway))
return false;
if (ifName == null) {
if (other.ifName != null)
return false;
} else if (!ifName.equals(other.ifName))
return false;
if (ifType == null) {
if (other.ifType != null)
return false;
} else if (!ifType.equals(other.ifType))
return false;
if (inetAddr == null) {
if (other.inetAddr != null)
return false;
} else if (!inetAddr.equals(other.inetAddr))
return false;
if (ipAssignScheme == null) {
if (other.ipAssignScheme != null)
return false;
} else if (!ipAssignScheme.equals(other.ipAssignScheme))
return false;
if (mtu != other.mtu)
return false;
if (nat != other.nat)
return false;
if (netmask == null) {
if (other.netmask != null)
return false;
} else if (!netmask.equals(other.netmask))
return false;
if (network != other.network)
return false;
if (uuid == null) {
if (other.uuid != null)
return false;
} else if (!uuid.equals(other.uuid))
return false;
if (vlanId != other.vlanId)
return false;
return true;
}
@Override
public String toString() {
return "WifiInetConfigInfo [nat=" + nat + ", enabled=" + enabled + ", ifName=" + ifName + ", ifType=" + ifType
+ ", ipAssignScheme=" + ipAssignScheme + ", network=" + network + ", uuid=" + uuid + ", vlanId="
+ vlanId + ", broadcast=" + broadcast + ", inetAddr=" + inetAddr + ", mtu=" + mtu + ", netmask="
+ netmask + ", gateway=" + gateway + ", dns=" + dns + ", dhcpd=" + dhcpd + "]";
}
}

View File

@@ -3,6 +3,7 @@ package com.telecominfraproject.wlan.opensync.ovsdb.dao.models;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
@@ -44,6 +45,30 @@ public class WifiRadioConfigInfo implements Cloneable {
}
@Override
public int hashCode() {
return Objects.hash(beaconInterval, channel, channelMode, country, enabled, freqBand, htMode, hwConfig, hwType,
ifName, txPower, uuid, vifConfigUuids);
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof WifiRadioConfigInfo)) {
return false;
}
WifiRadioConfigInfo other = (WifiRadioConfigInfo) obj;
return beaconInterval == other.beaconInterval && channel == other.channel
&& Objects.equals(channelMode, other.channelMode) && Objects.equals(country, other.country)
&& enabled == other.enabled && Objects.equals(freqBand, other.freqBand)
&& Objects.equals(htMode, other.htMode) && Objects.equals(hwConfig, other.hwConfig)
&& Objects.equals(hwType, other.hwType) && Objects.equals(ifName, other.ifName)
&& Objects.equals(txPower, other.txPower) && Objects.equals(uuid, other.uuid)
&& Objects.equals(vifConfigUuids, other.vifConfigUuids);
}
@Override
public String toString() {
return String.format(
"WifiRadioConfigInfo [vifConfigUuids=%s, freqBand=%s, channel=%s, txPower=%s, channelMode=%s, enabled=%s, htMode=%s, hwConfig=%s, hwType=%s, country=%s, bcn_int=%s, ifName=%s, uuid=%s]",

View File

@@ -1,7 +1,9 @@
package com.telecominfraproject.wlan.opensync.ovsdb.dao.models;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
@@ -38,12 +40,41 @@ public class WifiVifConfigInfo implements Cloneable{
if(security!=null) {
ret.security = new HashMap<>(this.security);
}
if (macList!=null) {
ret.macList = new HashSet<>(this.macList);
}
return ret;
}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);
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof WifiVifConfigInfo)) {
return false;
}
WifiVifConfigInfo other = (WifiVifConfigInfo) obj;
return Objects.equals(apBridge, other.apBridge) && Objects.equals(bridge, other.bridge) && btm == other.btm
&& 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
&& 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;
}
@Override
public String toString() {
return String.format(

View File

@@ -5,7 +5,7 @@ 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);
Mockito.verify(ovsdbDao).removeAllSsids(ovsdbClient, apConfig);
Mockito.verify(ovsdbDao).removeAllStatsConfigs(ovsdbClient);
Mockito.verify(ovsdbDao).configureWifiRadios(ovsdbClient, apConfig);
Mockito.verify(ovsdbDao).configureSsids(ovsdbClient, apConfig);

View File

@@ -1,11 +1,15 @@
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;
import java.io.File;
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;
import java.util.concurrent.TimeUnit;
@@ -27,21 +31,19 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.util.ResourceUtils;
import com.fasterxml.jackson.databind.JsonNode;
import com.github.fge.jackson.JsonLoader;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.telecominfraproject.wlan.location.models.Location;
import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo;
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPInetState;
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPRadioState;
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPVIFState;
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.jsonrpc.v1.util.JsonUtil;
import com.vmware.ovsdb.protocol.methods.RowUpdate;
import com.vmware.ovsdb.protocol.methods.TableUpdate;
import com.vmware.ovsdb.protocol.methods.TableUpdates;
import com.vmware.ovsdb.protocol.operation.notation.Atom;
import com.vmware.ovsdb.protocol.operation.notation.Row;
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
@@ -50,18 +52,30 @@ import com.vmware.ovsdb.protocol.operation.result.ErrorResult;
import com.vmware.ovsdb.protocol.operation.result.InsertResult;
import com.vmware.ovsdb.protocol.operation.result.OperationResult;
import com.vmware.ovsdb.protocol.operation.result.SelectResult;
import com.vmware.ovsdb.protocol.schema.DatabaseSchema;
import com.vmware.ovsdb.protocol.schema.TableSchema;
import com.vmware.ovsdb.service.OvsdbClient;
@RunWith(SpringRunner.class)
@ActiveProfiles(profiles = { "integration_test", }) // NOTE: these profiles will
// be ADDED to the list of
// active profiles
// be ADDED to the list of
// active profiles
@SpringBootTest(webEnvironment = WebEnvironment.NONE, classes = OvsdbDaoTest.class)
@Import(value = { OvsdbDao.class, OvsdbDaoTest.Config.class,
})
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;
private static final long SSID_PSK_ID = 4;
private static final long SSID_OSU_ID = 5;
private static final long OPERATOR_ID = 6;
private static final long VENUE_ID = 7;
private static final long EQUIPMENT_AP_ID = 8;
private static final String LAN_IF_TYPE = "bridge";
private static final String LAN_IF_NAME = "br-lan";
@@ -97,9 +111,12 @@ public class OvsdbDaoTest {
@Mock(answer = Answers.RETURNS_MOCKS)
OvsdbClient ovsdbClient;
@Mock
@Mock(answer = Answers.RETURNS_MOCKS)
CompletableFuture<OperationResult[]> futureResult;
@Mock(answer = Answers.RETURNS_MOCKS)
CompletableFuture<OperationResult[]> selectionFutureResult;
@Autowired
OvsdbDao ovsdbDao;
@@ -108,6 +125,7 @@ public class OvsdbDaoTest {
@Configuration
// @PropertySource({ "classpath:persistence-${envTarget:dev}.properties" })
static class Config {
@Bean
public OvsdbDao ovsdbDao() {
return new OvsdbDao();
@@ -124,6 +142,306 @@ 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<>();
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.configureGreTunnels(ovsdbClient, apConfig);
// 1 call to check existence, 1 to add profile
Mockito.verify(ovsdbClient, Mockito.times(2)).transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList());
Mockito.verify(apConfig, Mockito.times(3)).getApProfile();
}
@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 {
DatabaseSchema schemaMock = Mockito.mock(DatabaseSchema.class);
CompletableFuture<DatabaseSchema> schemaFuture = Mockito.mock(CompletableFuture.class);
Mockito.when(schemaFuture.get(Mockito.anyLong(), Mockito.any())).thenReturn(schemaMock);
HashMap<String, TableSchema> mapMock = Mockito.mock(HashMap.class);
Mockito.when(mapMock.containsKey(Mockito.any())).thenReturn(true);
Mockito.when(mapMock.get(Mockito.any())).thenReturn(Mockito.mock(TableSchema.class));
Mockito.when(schemaMock.getTables()).thenReturn(mapMock);
Mockito.when(ovsdbClient.getSchema(Mockito.anyString())).thenReturn(schemaFuture);
OpensyncAPConfig apConfig = new OpensyncAPConfig();
OpensyncAPHotspot20Config hsConfig = new OpensyncAPHotspot20Config();
Profile profileSsidPsk = OvsdbDaoTestUtilities.createPasspointAccessSsid(DEFAULT_CUSTOMER_ID);
profileSsidPsk.setId(SSID_PSK_ID);
Profile profileSsidOsu = OvsdbDaoTestUtilities.createPasspointOsuSsid(DEFAULT_CUSTOMER_ID);
profileSsidOsu.setId(SSID_OSU_ID);
Profile passpointOperatorProfile = OvsdbDaoTestUtilities.createPasspointOperatorProfile(DEFAULT_CUSTOMER_ID);
passpointOperatorProfile.setId(OPERATOR_ID);
Profile passpointVenueProfile = OvsdbDaoTestUtilities.createPasspointVenueProfile(DEFAULT_CUSTOMER_ID);
passpointVenueProfile.setId(VENUE_ID);
Profile hotspot20IdProviderProfile = new Profile();
hotspot20IdProviderProfile.setId(HOTSPOT_PROVIDER_ID_1);
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(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(DEFAULT_CUSTOMER_ID,
hotspot20IdProviderProfile2, hotspot20IdProviderProfile, passpointOperatorProfile,
passpointVenueProfile, profileSsidPsk, profileSsidOsu);
passpointHotspotConfig.setId(HOTSPOT_CONFIG_ID);
Profile hotspotProfileAp = OvsdbDaoTestUtilities.createPasspointApProfile(DEFAULT_CUSTOMER_ID, profileSsidPsk,
profileSsidOsu);
hotspotProfileAp.setId(EQUIPMENT_AP_ID);
hsConfig.setHotspot20OperatorSet(Set.of(passpointOperatorProfile));
hsConfig.setHotspot20ProviderSet(Set.of(hotspot20IdProviderProfile, hotspot20IdProviderProfile2));
hsConfig.setHotspot20VenueSet(Set.of(passpointVenueProfile));
hsConfig.setHotspot20ProfileSet(Set.of(passpointHotspotConfig));
apConfig.setHotspotConfig(hsConfig);
apConfig.setApProfile(hotspotProfileAp);
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())
.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));
}
@Test
public void testConfigureGreTunnelsWithNoLocalAddress() 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.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.configureGreTunnels(ovsdbClient, apConfig);
// 2 calls to check existence, 2 calls to insert tunnel (1 each per
// Profile)
Mockito.verify(ovsdbClient, Mockito.times(2)).transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList());
Mockito.verify(apConfig, Mockito.times(3)).getApProfile();
}
@Test
public void testConfigureGreTunnelsWithNoRemoteAddress() throws Exception {
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.setGreTunnelName("gre1");
tunnelProfileDetails.setGreParentIfName("wan");
apProfile.setDetails(tunnelProfileDetails);
OpensyncAPConfig apConfig = Mockito.mock(OpensyncAPConfig.class);
Mockito.when(apConfig.getApProfile()).thenReturn(apProfile);
ovsdbDao.configureGreTunnels(ovsdbClient, apConfig);
// Should not create
Mockito.verify(ovsdbClient, Mockito.times(0)).transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList());
Mockito.verify(apConfig, Mockito.times(3)).getApProfile();
}
@Test
public void testConfigureGreTunnelsWithNoParentInterface() throws Exception {
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");
apProfile.setDetails(tunnelProfileDetails);
OpensyncAPConfig apConfig = Mockito.mock(OpensyncAPConfig.class);
Mockito.when(apConfig.getApProfile()).thenReturn(apProfile);
ovsdbDao.configureGreTunnels(ovsdbClient, apConfig);
// Should not create
Mockito.verify(ovsdbClient, Mockito.times(0)).transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList());
Mockito.verify(apConfig, Mockito.times(3)).getApProfile();
}
@Test
public void testConfigureGreTunnelsWithNoTunnelName() throws Exception {
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.setGreParentIfName("wan");
apProfile.setDetails(tunnelProfileDetails);
OpensyncAPConfig apConfig = Mockito.mock(OpensyncAPConfig.class);
Mockito.when(apConfig.getApProfile()).thenReturn(apProfile);
ovsdbDao.configureGreTunnels(ovsdbClient, apConfig);
// Should not create
Mockito.verify(ovsdbClient, Mockito.times(0)).transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList());
Mockito.verify(apConfig, Mockito.times(3)).getApProfile();
}
@Test
public void testGetConnectNodeInfo() throws Exception {
@@ -207,7 +525,7 @@ public class OvsdbDaoTest {
}
@Test
@Test(expected = RuntimeException.class)
public void testFailGetConnectNodeInfo() throws Exception {
Mockito.when(ovsdbClient.transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList())).thenReturn(futureResult);
@@ -387,94 +705,6 @@ public class OvsdbDaoTest {
}
@Test
public void testOvsdbDaoGetOpensyncAPVIFState() throws Exception {
String path = "src/test/resources/Wifi_VIF_State-home-ap-24.json";
File file = new File(path);
String absolutePath = file.getAbsolutePath();
File jsonFile = ResourceUtils.getFile(absolutePath);
JsonNode jn = JsonLoader.fromFile(jsonFile);
Row row = JsonUtil.deserializeNoException(jn.toString(), Row.class);
RowUpdate rowUpdate = new RowUpdate();
rowUpdate.setNew(row);
path = "src/test/resources/Wifi_VIF_State-home-ap-l50.json";
file = new File(path);
absolutePath = file.getAbsolutePath();
jsonFile = ResourceUtils.getFile(absolutePath);
jn = JsonLoader.fromFile(jsonFile);
Row row1 = JsonUtil.deserializeNoException(jn.toString(), Row.class);
RowUpdate rowUpdate1 = new RowUpdate();
rowUpdate1.setNew(row1);
path = "src/test/resources/Wifi_VIF_State-home-ap-u50.json";
file = new File(path);
absolutePath = file.getAbsolutePath();
jsonFile = ResourceUtils.getFile(absolutePath);
jn = JsonLoader.fromFile(jsonFile);
Row row2 = JsonUtil.deserializeNoException(jn.toString(), Row.class);
RowUpdate rowUpdate2 = new RowUpdate();
rowUpdate2.setNew(row2);
List<OpensyncAPVIFState> vifStateList = ovsdbDao.getOpensyncApVifStateForRowUpdate(rowUpdate, "SomeAPId", ovsdbClient);
assert (vifStateList.size() == 1);
vifStateList.addAll(ovsdbDao.getOpensyncApVifStateForRowUpdate(rowUpdate1, "SomeAPId", ovsdbClient));
assert (vifStateList.size() == 2);
vifStateList.addAll(ovsdbDao.getOpensyncApVifStateForRowUpdate(rowUpdate2, "SomeAPId", ovsdbClient));
assert (vifStateList.size() == 3);
}
@Test
public void testOvsdbDaoGetOpensyncAPRadioState() throws Exception {
String path = "src/test/resources/Wifi_Radio_State-home-ap-24.json";
File file = new File(path);
String absolutePath = file.getAbsolutePath();
File jsonFile = ResourceUtils.getFile(absolutePath);
JsonNode jn = JsonLoader.fromFile(jsonFile);
Row row = JsonUtil.deserializeNoException(jn.toString(), Row.class);
RowUpdate rowUpdate = new RowUpdate();
rowUpdate.setNew(row);
path = "src/test/resources/Wifi_Radio_State-home-ap-l50.json";
file = new File(path);
absolutePath = file.getAbsolutePath();
jsonFile = ResourceUtils.getFile(absolutePath);
jn = JsonLoader.fromFile(jsonFile);
Row row1 = JsonUtil.deserializeNoException(jn.toString(), Row.class);
RowUpdate rowUpdate1 = new RowUpdate();
rowUpdate1.setNew(row1);
path = "src/test/resources/Wifi_Radio_State-home-ap-u50.json";
file = new File(path);
absolutePath = file.getAbsolutePath();
jsonFile = ResourceUtils.getFile(absolutePath);
jn = JsonLoader.fromFile(jsonFile);
Row row2 = JsonUtil.deserializeNoException(jn.toString(), Row.class);
RowUpdate rowUpdate2 = new RowUpdate();
rowUpdate2.setNew(row2);
TableUpdate tableUpdate = new TableUpdate(ImmutableMap.of(row.getUuidColumn("_uuid").getUuid(), rowUpdate,
row1.getUuidColumn("_uuid").getUuid(), rowUpdate1, row2.getUuidColumn("_uuid").getUuid(), rowUpdate2));
TableUpdates tableUpdates = new TableUpdates(ImmutableMap.of(OvsdbDao.wifiRadioStateDbTable, tableUpdate));
List<OpensyncAPRadioState> radioStateList = ovsdbDao.getOpensyncAPRadioState(tableUpdates, "SomeAPId",
ovsdbClient);
assert (radioStateList.size() == 3);
}
@Test
public void testObsdbDaoEnableNetworkProbe() throws Exception {
@@ -521,48 +751,7 @@ public class OvsdbDaoTest {
}
@Test
public void testOvsdbDaoGetOpensyncAPInetState() throws Exception {
String path = "src/test/resources/Wifi_Inet_State-home-ap-24.json";
File file = new File(path);
String absolutePath = file.getAbsolutePath();
File jsonFile = ResourceUtils.getFile(absolutePath);
JsonNode jn = JsonLoader.fromFile(jsonFile);
Row row = JsonUtil.deserializeNoException(jn.toString(), Row.class);
RowUpdate rowUpdate = new RowUpdate();
rowUpdate.setNew(row);
path = "src/test/resources/Wifi_Inet_State-home-ap-l50.json";
file = new File(path);
absolutePath = file.getAbsolutePath();
jsonFile = ResourceUtils.getFile(absolutePath);
jn = JsonLoader.fromFile(jsonFile);
Row row1 = JsonUtil.deserializeNoException(jn.toString(), Row.class);
RowUpdate rowUpdate1 = new RowUpdate();
rowUpdate1.setNew(row1);
path = "src/test/resources/Wifi_Inet_State-home-ap-u50.json";
file = new File(path);
absolutePath = file.getAbsolutePath();
jsonFile = ResourceUtils.getFile(absolutePath);
jn = JsonLoader.fromFile(jsonFile);
Row row2 = JsonUtil.deserializeNoException(jn.toString(), Row.class);
RowUpdate rowUpdate2 = new RowUpdate();
rowUpdate2.setNew(row2);
List<OpensyncAPInetState> inetStateList = ovsdbDao.getOpensyncApInetStateForRowUpdate(rowUpdate, "SomeAPId", ovsdbClient);
assert (inetStateList.size() == 1);
inetStateList.addAll(ovsdbDao.getOpensyncApInetStateForRowUpdate(rowUpdate1, "SomeAPId", ovsdbClient));
assert (inetStateList.size() == 2);
inetStateList.addAll(ovsdbDao.getOpensyncApInetStateForRowUpdate(rowUpdate2, "SomeAPId", ovsdbClient));
assert (inetStateList.size() == 3);
}
static Row[] hs20Icons = {
};
}

View File

@@ -0,0 +1,547 @@
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;
import java.util.List;
import java.util.Locale;
import java.util.Map;
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.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;
import com.vmware.ovsdb.protocol.operation.notation.Atom;
import com.vmware.ovsdb.protocol.operation.notation.Row;
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
import com.vmware.ovsdb.protocol.operation.notation.Value;
import com.vmware.ovsdb.protocol.operation.result.InsertResult;
import com.vmware.ovsdb.protocol.operation.result.OperationResult;
import com.vmware.ovsdb.protocol.operation.result.SelectResult;
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) {
profileSsidPsk = createPasspointAccessSsid(customerId);
profileSsidOsu = createPasspointOsuSsid(customerId);
passpointOperatorProfile = createPasspointOperatorProfile(customerId);
passpointVenueProfile = createPasspointVenueProfile(customerId);
hotspot20IdProviderProfile = createPasspointIdProviderProfile(customerId, hotspot20IdProviderProfile,
"TipWlan-Hotspot20-OSU-Provider", "Rogers AT&T Wireless", "Canada", "ca", 302, 720, "rogers.com", 1);
hotspot20IdProviderProfile2 = createPasspointIdProviderProfile(customerId, 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());
passpointHotspotConfig = createPasspointHotspotConfig(customerId, hotspot20IdProviderProfile2,
hotspot20IdProviderProfile, passpointOperatorProfile, passpointVenueProfile, profileSsidPsk,
profileSsidOsu);
hotspotProfileAp = createPasspointApProfile(customerId, profileSsidPsk, profileSsidOsu);
}
static Profile createPasspointHotspotConfig(int customerId, Profile hotspot20IdProviderProfile2,
Profile hotspot20IdProviderProfile, Profile passpointOperatorProfile, Profile passpointVenueProfile,
Profile profileSsidPsk, Profile profileSsidOpen) {
Profile passpointHotspotConfig;
passpointHotspotConfig = new Profile();
passpointHotspotConfig.setCustomerId(customerId);
passpointHotspotConfig.setName("TipWlan-Hotspot20-Config");
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(PasspointProfile.createWithDefaults());
Set<String> providerNames = new HashSet<>();
providerNames.add(hotspot20IdProviderProfile.getName());
providerNames.add(hotspot20IdProviderProfile2.getName());
((PasspointProfile) passpointHotspotConfig.getDetails()).setIdProviderProfileNames(providerNames);
((PasspointProfile) passpointHotspotConfig.getDetails())
.setOperatorProfileName(passpointOperatorProfile.getName());
((PasspointProfile) passpointHotspotConfig.getDetails()).setVenueProfileName(passpointVenueProfile.getName());
((PasspointProfile) passpointHotspotConfig.getDetails()).setOsuSsidName(profileSsidOpen.getName());
profileSsidPsk.getChildProfileIds().add(passpointHotspotConfig.getId());
return passpointHotspotConfig;
}
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(customerId);
hotspot20IdProviderProfile.setName(providerName);
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(customerId, hotspot20IdProviderProfile, mccMncList,
naiRealms, "https://example.com/osu/" + naiRealm.split(".com")[0], naiRealm.split(".com")[0], naiRealm,
roamingOi);
return hotspot20IdProviderProfile;
}
static Profile createPasspointVenueProfile(int customerId) {
Profile passpointVenueProfile;
passpointVenueProfile = new Profile();
passpointVenueProfile.setCustomerId(customerId);
passpointVenueProfile.setName("TipWlan-Hotspot20-Venue");
passpointVenueProfile.setProfileType(ProfileType.passpoint_venue);
passpointVenueProfile.setDetails(PasspointVenueProfile.createWithDefaults());
return passpointVenueProfile;
}
static Profile createPasspointOperatorProfile(int customerId) {
Profile passpointOperatorProfile;
passpointOperatorProfile = new Profile();
passpointOperatorProfile.setCustomerId(customerId);
passpointOperatorProfile.setName("TipWlan-Hotspot20-Operator");
passpointOperatorProfile.setProfileType(ProfileType.passpoint_operator);
passpointOperatorProfile.setDetails(PasspointOperatorProfile.createWithDefaults());
return passpointOperatorProfile;
}
static Profile createPasspointAccessSsid(int customerId) {
Profile profileSsidPsk;
profileSsidPsk = new Profile();
profileSsidPsk.setCustomerId(customerId);
profileSsidPsk.setName("TipWlan-cloud-hotspot-access");
SsidConfiguration ssidConfigPsk = SsidConfiguration.createWithDefaults();
Set<RadioType> appliedRadiosPsk = new HashSet<RadioType>();
appliedRadiosPsk.add(RadioType.is5GHzL);
appliedRadiosPsk.add(RadioType.is5GHzU);
ssidConfigPsk.setSsid("TipWlan-cloud-hotspot-access");
ssidConfigPsk.setAppliedRadios(appliedRadiosPsk);
ssidConfigPsk.setSecureMode(SecureMode.wpa2PSK);
ssidConfigPsk.setKeyStr("testing123");
profileSsidPsk.setDetails(ssidConfigPsk);
return profileSsidPsk;
}
static Profile createPasspointOsuSsid(int customerId) {
Profile profileSsidPsk;
profileSsidPsk = new Profile();
profileSsidPsk.setCustomerId(customerId);
profileSsidPsk.setName("TipWlan-cloud-hotspot-osu");
SsidConfiguration ssidConfigPsk = SsidConfiguration.createWithDefaults();
Set<RadioType> appliedRadiosPsk = new HashSet<RadioType>();
appliedRadiosPsk.add(RadioType.is2dot4GHz);
ssidConfigPsk.setSsid("TipWlan-cloud-hotspot-osu");
ssidConfigPsk.setAppliedRadios(appliedRadiosPsk);
ssidConfigPsk.setSecureMode(SecureMode.open);
profileSsidPsk.setDetails(ssidConfigPsk);
return profileSsidPsk;
}
static Profile createPasspointApProfile(int customerId, Profile profileSsidPsk, Profile profileSsidOpen) {
Profile hotspotProfileAp = new Profile();
hotspotProfileAp.setCustomerId(customerId);
hotspotProfileAp.setName("HotspotProfileAp");
hotspotProfileAp.setDetails(ApNetworkConfiguration.createWithDefaults());
hotspotProfileAp.getChildProfileIds().add(profileSsidPsk.getId());
hotspotProfileAp.getChildProfileIds().add(profileSsidOpen.getId());
hotspotProfileAp.getChildProfileIds().add(createPasspointRfProfile(customerId).getId());
return hotspotProfileAp;
}
static Profile createPasspointRfProfile(int customerId) {
Profile profileRf = new Profile();
profileRf.setCustomerId(customerId);
profileRf.setName("TipWlan-rf-passpoint");
RfConfiguration rfConfig = RfConfiguration.createWithDefaults();
rfConfig.getRfConfigMap().forEach((x, y) -> y.setRf("TipWlan-rf-passpoint"));
profileRf.setDetails(rfConfig);
return profileRf;
}
static Profile createOsuProviderProfile(int customerId, Profile hotspot20IdProviderProfile,
List<PasspointMccMnc> mccMncList, Set<String> realms, String serverUri, String suffix, String domainName,
List<Byte> roamingOi) {
PasspointOsuProviderProfile passpointIdProviderProfile = PasspointOsuProviderProfile.createWithDefaults();
passpointIdProviderProfile.setMccMncList(mccMncList);
PasspointOsuIcon icon1 = new PasspointOsuIcon();
icon1.setIconLocale(Locale.CANADA);
icon1.setIconWidth(32);
icon1.setIconHeight(32);
icon1.setLanguageCode(Locale.CANADA.getISO3Language());
icon1.setIconName("icon32eng");
icon1.setImageUrl("https://localhost:9096/icon32eng.png");
icon1.setFilePath("/tmp/icon32eng.png");
PasspointOsuIcon icon2 = new PasspointOsuIcon();
icon2.setIconLocale(Locale.CANADA_FRENCH);
icon2.setIconWidth(32);
icon2.setIconHeight(32);
icon2.setLanguageCode(Locale.CANADA_FRENCH.getISO3Language());
icon2.setIconName("icon32fra");
icon2.setImageUrl("https://localhost:9096/icon32fra.png");
icon2.setFilePath("/tmp/icon32fra.png");
PasspointOsuIcon icon3 = new PasspointOsuIcon();
icon3.setIconLocale(Locale.US);
icon3.setIconWidth(32);
icon3.setIconHeight(32);
icon3.setLanguageCode(Locale.US.getISO3Language());
icon3.setIconName("icon32usa");
icon3.setImageUrl("https://localhost:9096/icon32usa.png");
icon3.setFilePath("/tmp/icon32usa.png");
List<PasspointOsuIcon> osuIconList = new ArrayList<>();
osuIconList.add(icon1);
osuIconList.add(icon2);
osuIconList.add(icon3);
passpointIdProviderProfile.setOsuIconList(osuIconList);
passpointIdProviderProfile.setRoamingOi(roamingOi);
List<PasspointNaiRealmInformation> naiRealmList = new ArrayList<>();
PasspointNaiRealmInformation naiRealmInfo = PasspointNaiRealmInformation.createWithDefaults();
naiRealmInfo.setNaiRealms(realms);
naiRealmList.add(naiRealmInfo);
passpointIdProviderProfile.setNaiRealmList(naiRealmList);
passpointIdProviderProfile.setDomainName(domainName);
passpointIdProviderProfile.setOsuNaiStandalone("anonymous@" + domainName);
passpointIdProviderProfile.setOsuNaiShared("anonymous@" + domainName);
List<Integer> methodList = new ArrayList<>();
methodList.add(1);
methodList.add(0);
passpointIdProviderProfile.setOsuMethodList(methodList);
PasspointDuple enOsuProvider = PasspointDuple.createWithDefaults();
enOsuProvider.setLocale(Locale.CANADA);
enOsuProvider.setDupleName("Example provider " + suffix);
PasspointDuple frOsuProvider = PasspointDuple.createWithDefaults();
frOsuProvider.setLocale(Locale.CANADA_FRENCH);
frOsuProvider.setDupleName("Exemple de fournisseur " + suffix);
List<PasspointDuple> friendlyNameList = new ArrayList<>();
friendlyNameList.add(enOsuProvider);
friendlyNameList.add(frOsuProvider);
passpointIdProviderProfile.setOsuFriendlyName(friendlyNameList);
List<PasspointDuple> osuServiceDescription = new ArrayList<>();
PasspointDuple enService = PasspointDuple.createWithDefaults();
enService.setLocale(Locale.CANADA);
enService.setDupleName("Example services " + suffix);
osuServiceDescription.add(enService);
PasspointDuple frService = PasspointDuple.createWithDefaults();
frService.setLocale(Locale.CANADA_FRENCH);
frService.setDupleName("Exemples de services " + suffix);
osuServiceDescription.add(frService);
passpointIdProviderProfile.setOsuServiceDescription(osuServiceDescription);
passpointIdProviderProfile.setOsuServerUri(serverUri);
hotspot20IdProviderProfile.setDetails(passpointIdProviderProfile);
return hotspot20IdProviderProfile;
}
static OperationResult[] hs20Config() {
List<Row> ret = new ArrayList<>();
Map<String, Value> columns = new HashMap<>();
columns.put("_uuid", new Atom<>(Uuid.of(UUID.fromString("28f2b88e-d10d-4cae-832d-784210940709"))));
columns.put("_version", new Atom<>(Uuid.of(UUID.randomUUID())));
columns.put("anqp_domain_id", new Atom<>(1234));
columns.put("connection_capability", new Atom<>(" 6:8888:1"));
columns.put("deauth_request_timeout", new Atom<>(0));
columns.put("domain_name",
com.vmware.ovsdb.protocol.operation.notation.Set.of(new Atom<>("rogers.com"), new Atom<>("telus.com")));
columns.put("enable", new Atom<>(true));
columns.put("gas_addr3_behavior", new Atom<>(0));
columns.put("hessid", new Atom<>("26:f5:a2:ef:2e:56"));
columns.put("ipaddr_type_availability", new Atom<>(4));
columns.put("mcc_mnc", new Atom<>("302,720;302,220"));
columns.put("nai_realm", com.vmware.ovsdb.protocol.operation.notation.Set
.of(new Atom<>("0,rogers.com,21[5:7][2:4],13[5:6]"), new Atom<>("0,telus.com,21[5:7][2:4],13[5:6]")));
columns.put("network_auth_type", new Atom<>("00"));
columns.put("operating_class", new Atom<>(0));
columns.put("operator_friendly_name",
com.vmware.ovsdb.protocol.operation.notation.Set.of(new Atom<>("eng:Default friendly passpoint_operator name"),
new Atom<>("fra:Nom de l'opérateur convivial par défaut")));
columns.put("operator_icons",
com.vmware.ovsdb.protocol.operation.notation.Set.of(
new Atom<>(Uuid.of(UUID.fromString("5f2d0e46-92bd-43a1-aa66-94474deb2212"))),
new Atom<>(Uuid.of(UUID.fromString("7cf892c2-3f04-4851-986c-a7b7d8ad1dfa"))),
new Atom<>(Uuid.of(UUID.fromString("9449e6cf-de62-4805-855b-3fc9bb5cd3ec")))));
columns.put("osen", new Atom<>(false));
columns.put("osu_providers",
com.vmware.ovsdb.protocol.operation.notation.Set.of(
new Atom<>(Uuid.of(UUID.fromString("33b78c84-3242-4477-831f-185c6532cfda"))),
new Atom<>(Uuid.of(UUID.fromString("ae51393c-f9e5-4021-af73-c5ad4b751f88")))));
columns.put("osu_ssid", new Atom<>("ssid-open"));
columns.put("roaming_oi",
com.vmware.ovsdb.protocol.operation.notation.Set.of(new Atom<>("11223344"), new Atom<>("234433")));
columns.put("tos", new Atom<>("https://localhost:9091/filestore/termsAndConditions"));
columns.put("venue_group_type", new Atom<>("2:8"));
columns.put("venue_name", com.vmware.ovsdb.protocol.operation.notation.Set.of(new Atom<>("eng:Example passpoint_venue"),
new Atom<>("fra:Exemple de lieu")));
columns.put("venue_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",
com.vmware.ovsdb.protocol.operation.notation.Set.of(
new Atom<>(Uuid.of(UUID.fromString("66abe4b3-2a26-4769-b684-da70e2392a07"))),
new Atom<>(Uuid.of(UUID.fromString("fad30b59-fada-41fc-ad62-2afca67cf9d5")))));
OperationResult[] operationResult = new OperationResult[1];
SelectResult selectResult = new SelectResult(ret);
operationResult[0] = selectResult;
return operationResult;
}
static OperationResult[] hs20InsertProviderRows() {
InsertResult insertResult = new InsertResult(Uuid.of(UUID.fromString("33b78c84-3242-4477-831f-185c6532cfda")));
InsertResult insertResult2 = new InsertResult(Uuid.of(UUID.fromString("ae51393c-f9e5-4021-af73-c5ad4b751f88")));
OperationResult[] operationResult = new OperationResult[2];
operationResult[0] = insertResult;
operationResult[1] = insertResult2;
return operationResult;
}
static OperationResult[] hs20OsuProviders() {
List<Row> ret = new ArrayList<>();
Map<String, Value> columns = new HashMap<>();
columns.put("_uuid", new Atom<>(Uuid.of(UUID.fromString("33b78c84-3242-4477-831f-185c6532cfda"))));
columns.put("_version", new Atom<>(Uuid.of(UUID.randomUUID())));
columns.put("method_list", com.vmware.ovsdb.protocol.operation.notation.Set.of(new Atom<>(0), new Atom<>(1)));
columns.put("osu_friendly_name", com.vmware.ovsdb.protocol.operation.notation.Set
.of(new Atom<>("eng:Example provider rogers"), new Atom<>("fra:Exemple de fournisseur rogers")));
columns.put("osu_icons",
com.vmware.ovsdb.protocol.operation.notation.Set.of(
new Atom<>(Uuid.of(UUID.fromString("5f2d0e46-92bd-43a1-aa66-94474deb2212"))),
new Atom<>(Uuid.of(UUID.fromString("7cf892c2-3f04-4851-986c-a7b7d8ad1dfa"))),
new Atom<>(Uuid.of(UUID.fromString("9449e6cf-de62-4805-855b-3fc9bb5cd3ec")))));
columns.put("osu_nai", new Atom<>("anonymous@rogers.com"));
columns.put("server_uri", new Atom<>("https://example.com/osu/rogers"));
columns.put("service_description", com.vmware.ovsdb.protocol.operation.notation.Set
.of(new Atom<>("eng:Example provider rogers"), new Atom<>("fra:Exemple de fournisseur rogers")));
ret.add(new Row(columns));
columns = new HashMap<>();
columns.put("_uuid", new Atom<>(Uuid.of(UUID.fromString("ae51393c-f9e5-4021-af73-c5ad4b751f88"))));
columns.put("_version", new Atom<>(Uuid.of(UUID.randomUUID())));
columns.put("method_list", com.vmware.ovsdb.protocol.operation.notation.Set.of(new Atom<>(0), new Atom<>(1)));
columns.put("osu_friendly_name", com.vmware.ovsdb.protocol.operation.notation.Set
.of(new Atom<>("eng:Example provider telus"), new Atom<>("fra:Exemple de fournisseur telus")));
columns.put("osu_icons",
com.vmware.ovsdb.protocol.operation.notation.Set.of(
new Atom<>(Uuid.of(UUID.fromString("5f2d0e46-92bd-43a1-aa66-94474deb2212"))),
new Atom<>(Uuid.of(UUID.fromString("7cf892c2-3f04-4851-986c-a7b7d8ad1dfa"))),
new Atom<>(Uuid.of(UUID.fromString("9449e6cf-de62-4805-855b-3fc9bb5cd3ec")))));
columns.put("osu_nai", new Atom<>("anonymous@telus.com"));
columns.put("server_uri", new Atom<>("https://example.com/osu/telus"));
columns.put("service_description", com.vmware.ovsdb.protocol.operation.notation.Set
.of(new Atom<>("eng:Example provider telus"), new Atom<>("fra:Exemple de fournisseur telus")));
OperationResult[] operationResult = new OperationResult[1];
SelectResult selectResult = new SelectResult(ret);
operationResult[0] = selectResult;
return operationResult;
}
static OperationResult[] hs20InsertIconRows() {
UpdateResult insertResult = new UpdateResult(1);
UpdateResult insertResult2 = new UpdateResult(2);
UpdateResult insertResult3 = new UpdateResult(3);
OperationResult[] operationResult = new OperationResult[3];
operationResult[0] = insertResult;
operationResult[1] = insertResult2;
operationResult[2] = insertResult3;
return operationResult;
}
static OperationResult[] hs20IconRows() {
List<Row> ret = new ArrayList<>();
Map<String, Value> columns = new HashMap<>();
columns.put("_uuid", new Atom<>(Uuid.of(UUID.fromString("5f2d0e46-92bd-43a1-aa66-94474deb2212"))));
columns.put("_version", new Atom<>(Uuid.of(UUID.randomUUID())));
columns.put("height", new Atom<>(32L));
columns.put("img_type", new Atom<>("image/png"));
columns.put("lang_code", new Atom<>("eng"));
columns.put("name", new Atom<>("icon32usa"));
columns.put("path", new Atom<String>("/tmp/icon32usa.png"));
columns.put("url", new Atom<String>("https://localhost:9096/icon32usa.png"));
columns.put("width", new Atom<>(32L));
ret.add(new Row(columns));
columns = new HashMap<>();
columns.put("_uuid", new Atom<>(Uuid.of(UUID.fromString("7cf892c2-3f04-4851-986c-a7b7d8ad1dfa"))));
columns.put("_version", new Atom<>(Uuid.of(UUID.randomUUID())));
columns.put("height", new Atom<>(32L));
columns.put("img_type", new Atom<>("image/png"));
columns.put("lang_code", new Atom<>("eng"));
columns.put("name", new Atom<>("icon32eng"));
columns.put("path", new Atom<String>("/tmp/icon32eng.png"));
columns.put("url", new Atom<String>("https://localhost:9096/icon32eng.png"));
columns.put("width", new Atom<>(32L));
ret.add(new Row(columns));
columns = new HashMap<>();
columns.put("_uuid", new Atom<>(Uuid.of(UUID.fromString("9449e6cf-de62-4805-855b-3fc9bb5cd3ec"))));
columns.put("_version", new Atom<>(Uuid.of(UUID.randomUUID())));
columns.put("height", new Atom<>(32L));
columns.put("img_type", new Atom<>("image/png"));
columns.put("lang_code", new Atom<>("fra"));
columns.put("name", new Atom<>("icon32fra"));
columns.put("path", new Atom<String>("/tmp/icon32fra.png"));
columns.put("url", new Atom<String>("https://localhost:9096/icon32fra.png"));
columns.put("width", new Atom<>(32L));
ret.add(new Row(columns));
SelectResult selectResult = new SelectResult(ret);
OperationResult[] operationResult = new OperationResult[1];
operationResult[0] = selectResult;
return operationResult;
}
static OperationResult[] vifConfigRows() {
List<Row> ret = new ArrayList<>();
Row row = new Row(new HashMap<String, Value>());
row.getColumns().put("_uuid", new Atom<>(Uuid.of(UUID.fromString("66abe4b3-2a26-4769-b684-da70e2392a07"))));
row.getColumns().put("ssid", new Atom<>("ssid-access"));
row.getColumns().put("mac", new Atom<>("26:f5:a2:ef:2e:56"));
row.getColumns().put("if_name", new Atom<>("wlan0"));
ret.add(row);
Row row2 = new Row(new HashMap<String, Value>());
row2.getColumns().put("_uuid", new Atom<>(Uuid.of(UUID.fromString("fad30b59-fada-41fc-ad62-2afca67cf9d5"))));
row2.getColumns().put("ssid", new Atom<>("ssid-access"));
row2.getColumns().put("mac", new Atom<>("24:f5:a2:ef:2e:54"));
row2.getColumns().put("if_name", new Atom<>("wlan2"));
ret.add(row2);
Row row3 = new Row(new HashMap<String, Value>());
row3.getColumns().put("_uuid", new Atom<>(Uuid.of(UUID.randomUUID())));
row3.getColumns().put("ssid", new Atom<>("ssid-open"));
row3.getColumns().put("mac", new Atom<>("24:f5:a2:ef:2e:55"));
row3.getColumns().put("if_name", new Atom<>("wlan1"));
ret.add(row3);
SelectResult selectResult = new SelectResult(ret);
OperationResult[] operationResult = new OperationResult[1];
operationResult[0] = selectResult;
return operationResult;
}
static OperationResult[] vifStates() {
List<Row> ret = new ArrayList<>();
Row row = new Row(new HashMap<String, Value>());
row.getColumns().put("_uuid", new Atom<>(Uuid.of(UUID.fromString("66abe4b3-2a26-4769-b684-da70e2392a07"))));
row.getColumns().put("ssid", new Atom<>("ssid-access"));
row.getColumns().put("if_name", new Atom<>("wlan0"));
ret.add(row);
Row row2 = new Row(new HashMap<String, Value>());
row2.getColumns().put("_uuid", new Atom<>(Uuid.of(UUID.fromString("fad30b59-fada-41fc-ad62-2afca67cf9d5"))));
row2.getColumns().put("ssid", new Atom<>("ssid-access"));
row2.getColumns().put("if_name", new Atom<>("wlan2"));
ret.add(row2);
Row row3 = new Row(new HashMap<String, Value>());
row3.getColumns().put("_uuid", new Atom<>(Uuid.of(UUID.randomUUID())));
row3.getColumns().put("ssid", new Atom<>("ssid-open"));
row3.getColumns().put("if_name", new Atom<>("wlan1"));
ret.add(row3);
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;
}
}

View File

@@ -1,110 +0,0 @@
{
"vif_radio_idx": [
"set",
[
]
],
"if_name": "home-ap-24",
"state": [
"set",
[
]
],
"mac": "24:f5:a2:ef:2e:54",
"ssid": "TipWlan-cloud-3-radios",
"uapsd_enable": true,
"ap_bridge": false,
"wps_pbc": [
"set",
[
]
],
"mac_list": [
"set",
[
]
],
"associated_clients": [
"set",
[
]
],
"btm": 1,
"_uuid": [
"uuid",
"a007d865-fe4b-4265-a9a1-69d4b309e939"
],
"ssid_broadcast": "enabled",
"wps": [
"set",
[
]
],
"mcast2ucast": [
"set",
[
]
],
"mode": "ap",
"mac_list_type": "none",
"wps_pbc_key_id": "",
"ft_psk": 0,
"channel": [
"set",
[
]
],
"parent": [
"set",
[
]
],
"multi_ap": [
"set",
[
]
],
"ap_vlan_sta_addr": [
"set",
[
]
],
"security": [
"map",
[
[
"encryption",
"OPEN"
]
]
],
"wds": [
"set",
[
]
],
"enabled": true,
"vlan_id": 1,
"min_hw_mode": "11n",
"vif_config": [
"uuid",
"fc3de7db-ee6c-452c-859c-1be81b0b5b24"
],
"_version": [
"uuid",
"a96bff45-29bd-423b-9014-10a418683e5d"
],
"bridge": "lan",
"group_rekey": 0,
"ft_mobility_domain": [
"set",
[
]
],
"dynamic_beacon": [
"set",
[
]
],
"rrm": 1
}

View File

@@ -1,109 +0,0 @@
{
"vif_radio_idx": [
"set",
[
]
],
"if_name": "home-ap-l50",
"state": [
"set",
[
]
],
"mac": "24:f5:a2:ef:2e:55",
"ssid": "TipWlan-cloud-3-radios",
"uapsd_enable": true,
"ap_bridge": false,
"wps_pbc": [
"set",
[
]
],
"mac_list": [
"set",
[
]
],
"associated_clients": [
"uuid",
"073c3961-33fe-4054-abc6-ae2e8b91c914"
],
"btm": 1,
"_uuid": [
"uuid",
"7ebfab8d-0962-4af3-a45b-b5a9d68c86c8"
],
"ssid_broadcast": "enabled",
"wps": [
"set",
[
]
],
"mcast2ucast": [
"set",
[
]
],
"mode": "ap",
"mac_list_type": "none",
"wps_pbc_key_id": "",
"ft_psk": 0,
"channel": [
"set",
[
]
],
"parent": [
"set",
[
]
],
"multi_ap": [
"set",
[
]
],
"ap_vlan_sta_addr": [
"set",
[
]
],
"security": [
"map",
[
[
"encryption",
"OPEN"
]
]
],
"wds": [
"set",
[
]
],
"enabled": true,
"vlan_id": 1,
"min_hw_mode": "11ac",
"vif_config": [
"uuid",
"54c01e8b-4d67-456e-ab18-cbc89c784c2a"
],
"_version": [
"uuid",
"faec64fb-fbc1-417a-9ff4-f30ff2c5be94"
],
"bridge": "lan",
"group_rekey": 0,
"ft_mobility_domain": [
"set",
[
]
],
"dynamic_beacon": [
"set",
[
]
],
"rrm": 1
}

View File

@@ -1,109 +0,0 @@
{
"vif_radio_idx": [
"set",
[
]
],
"if_name": "home-ap-u50",
"state": [
"set",
[
]
],
"mac": "26:f5:a2:ef:2e:56",
"ssid": "TipWlan-cloud-3-radios",
"uapsd_enable": true,
"ap_bridge": false,
"wps_pbc": [
"set",
[
]
],
"mac_list": [
"set",
[
]
],
"associated_clients": [
"uuid",
"c9f5a30d-7ccf-406f-a0d8-f108b377584e"
],
"btm": 1,
"_uuid": [
"uuid",
"009e6ee9-d687-4201-9c55-f42d26cbd7b5"
],
"ssid_broadcast": "enabled",
"wps": [
"set",
[
]
],
"mcast2ucast": [
"set",
[
]
],
"mode": "ap",
"mac_list_type": "none",
"wps_pbc_key_id": "",
"ft_psk": 0,
"channel": [
"set",
[
]
],
"parent": [
"set",
[
]
],
"multi_ap": [
"set",
[
]
],
"ap_vlan_sta_addr": [
"set",
[
]
],
"security": [
"map",
[
[
"encryption",
"OPEN"
]
]
],
"wds": [
"set",
[
]
],
"enabled": true,
"vlan_id": 1,
"min_hw_mode": "11ac",
"vif_config": [
"uuid",
"4aeefd3b-b86f-45e4-a9a1-c734363be9c8"
],
"_version": [
"uuid",
"e70c7842-6257-46d1-94d3-350a55733fc4"
],
"bridge": "lan",
"group_rekey": 0,
"ft_mobility_domain": [
"set",
[
]
],
"dynamic_beacon": [
"set",
[
]
],
"rrm": 1
}

View File

@@ -1,110 +0,0 @@
{
"vif_radio_idx": [
"set",
[
]
],
"if_name": "home-ap-24",
"state": [
"set",
[
]
],
"mac": "24:f5:a2:ef:2e:54",
"ssid": "TipWlan-cloud-3-radios",
"uapsd_enable": true,
"ap_bridge": false,
"wps_pbc": [
"set",
[
]
],
"mac_list": [
"set",
[
]
],
"associated_clients": [
"set",
[
]
],
"btm": 1,
"_uuid": [
"uuid",
"a007d865-fe4b-4265-a9a1-69d4b309e939"
],
"ssid_broadcast": "enabled",
"wps": [
"set",
[
]
],
"mcast2ucast": [
"set",
[
]
],
"mode": "ap",
"mac_list_type": "none",
"wps_pbc_key_id": "",
"ft_psk": 0,
"channel": [
"set",
[
]
],
"parent": [
"set",
[
]
],
"multi_ap": [
"set",
[
]
],
"ap_vlan_sta_addr": [
"set",
[
]
],
"security": [
"map",
[
[
"encryption",
"OPEN"
]
]
],
"wds": [
"set",
[
]
],
"enabled": true,
"vlan_id": 1,
"min_hw_mode": "11n",
"vif_config": [
"uuid",
"fc3de7db-ee6c-452c-859c-1be81b0b5b24"
],
"_version": [
"uuid",
"a96bff45-29bd-423b-9014-10a418683e5d"
],
"bridge": "lan",
"group_rekey": 0,
"ft_mobility_domain": [
"set",
[
]
],
"dynamic_beacon": [
"set",
[
]
],
"rrm": 1
}

View File

@@ -1,109 +0,0 @@
{
"vif_radio_idx": [
"set",
[
]
],
"if_name": "home-ap-l50",
"state": [
"set",
[
]
],
"mac": "24:f5:a2:ef:2e:55",
"ssid": "TipWlan-cloud-3-radios",
"uapsd_enable": true,
"ap_bridge": false,
"wps_pbc": [
"set",
[
]
],
"mac_list": [
"set",
[
]
],
"associated_clients": [
"uuid",
"073c3961-33fe-4054-abc6-ae2e8b91c914"
],
"btm": 1,
"_uuid": [
"uuid",
"7ebfab8d-0962-4af3-a45b-b5a9d68c86c8"
],
"ssid_broadcast": "enabled",
"wps": [
"set",
[
]
],
"mcast2ucast": [
"set",
[
]
],
"mode": "ap",
"mac_list_type": "none",
"wps_pbc_key_id": "",
"ft_psk": 0,
"channel": [
"set",
[
]
],
"parent": [
"set",
[
]
],
"multi_ap": [
"set",
[
]
],
"ap_vlan_sta_addr": [
"set",
[
]
],
"security": [
"map",
[
[
"encryption",
"OPEN"
]
]
],
"wds": [
"set",
[
]
],
"enabled": true,
"vlan_id": 1,
"min_hw_mode": "11ac",
"vif_config": [
"uuid",
"54c01e8b-4d67-456e-ab18-cbc89c784c2a"
],
"_version": [
"uuid",
"faec64fb-fbc1-417a-9ff4-f30ff2c5be94"
],
"bridge": "lan",
"group_rekey": 0,
"ft_mobility_domain": [
"set",
[
]
],
"dynamic_beacon": [
"set",
[
]
],
"rrm": 1
}

View File

@@ -1,109 +0,0 @@
{
"vif_radio_idx": [
"set",
[
]
],
"if_name": "home-ap-u50",
"state": [
"set",
[
]
],
"mac": "26:f5:a2:ef:2e:56",
"ssid": "TipWlan-cloud-3-radios",
"uapsd_enable": true,
"ap_bridge": false,
"wps_pbc": [
"set",
[
]
],
"mac_list": [
"set",
[
]
],
"associated_clients": [
"uuid",
"c9f5a30d-7ccf-406f-a0d8-f108b377584e"
],
"btm": 1,
"_uuid": [
"uuid",
"009e6ee9-d687-4201-9c55-f42d26cbd7b5"
],
"ssid_broadcast": "enabled",
"wps": [
"set",
[
]
],
"mcast2ucast": [
"set",
[
]
],
"mode": "ap",
"mac_list_type": "none",
"wps_pbc_key_id": "",
"ft_psk": 0,
"channel": [
"set",
[
]
],
"parent": [
"set",
[
]
],
"multi_ap": [
"set",
[
]
],
"ap_vlan_sta_addr": [
"set",
[
]
],
"security": [
"map",
[
[
"encryption",
"OPEN"
]
]
],
"wds": [
"set",
[
]
],
"enabled": true,
"vlan_id": 1,
"min_hw_mode": "11ac",
"vif_config": [
"uuid",
"4aeefd3b-b86f-45e4-a9a1-c734363be9c8"
],
"_version": [
"uuid",
"e70c7842-6257-46d1-94d3-350a55733fc4"
],
"bridge": "lan",
"group_rekey": 0,
"ft_mobility_domain": [
"set",
[
]
],
"dynamic_beacon": [
"set",
[
]
],
"rrm": 1
}

View File

@@ -1,110 +0,0 @@
{
"vif_radio_idx": [
"set",
[
]
],
"if_name": "home-ap-24",
"state": [
"set",
[
]
],
"mac": "24:f5:a2:ef:2e:54",
"ssid": "TipWlan-cloud-3-radios",
"uapsd_enable": true,
"ap_bridge": false,
"wps_pbc": [
"set",
[
]
],
"mac_list": [
"set",
[
]
],
"associated_clients": [
"set",
[
]
],
"btm": 1,
"_uuid": [
"uuid",
"a007d865-fe4b-4265-a9a1-69d4b309e939"
],
"ssid_broadcast": "enabled",
"wps": [
"set",
[
]
],
"mcast2ucast": [
"set",
[
]
],
"mode": "ap",
"mac_list_type": "none",
"wps_pbc_key_id": "",
"ft_psk": 0,
"channel": [
"set",
[
]
],
"parent": [
"set",
[
]
],
"multi_ap": [
"set",
[
]
],
"ap_vlan_sta_addr": [
"set",
[
]
],
"security": [
"map",
[
[
"encryption",
"OPEN"
]
]
],
"wds": [
"set",
[
]
],
"enabled": true,
"vlan_id": 1,
"min_hw_mode": "11n",
"vif_config": [
"uuid",
"fc3de7db-ee6c-452c-859c-1be81b0b5b24"
],
"_version": [
"uuid",
"a96bff45-29bd-423b-9014-10a418683e5d"
],
"bridge": "lan",
"group_rekey": 0,
"ft_mobility_domain": [
"set",
[
]
],
"dynamic_beacon": [
"set",
[
]
],
"rrm": 1
}

View File

@@ -1,109 +0,0 @@
{
"vif_radio_idx": [
"set",
[
]
],
"if_name": "home-ap-l50",
"state": [
"set",
[
]
],
"mac": "24:f5:a2:ef:2e:55",
"ssid": "TipWlan-cloud-3-radios",
"uapsd_enable": true,
"ap_bridge": false,
"wps_pbc": [
"set",
[
]
],
"mac_list": [
"set",
[
]
],
"associated_clients": [
"uuid",
"073c3961-33fe-4054-abc6-ae2e8b91c914"
],
"btm": 1,
"_uuid": [
"uuid",
"7ebfab8d-0962-4af3-a45b-b5a9d68c86c8"
],
"ssid_broadcast": "enabled",
"wps": [
"set",
[
]
],
"mcast2ucast": [
"set",
[
]
],
"mode": "ap",
"mac_list_type": "none",
"wps_pbc_key_id": "",
"ft_psk": 0,
"channel": [
"set",
[
]
],
"parent": [
"set",
[
]
],
"multi_ap": [
"set",
[
]
],
"ap_vlan_sta_addr": [
"set",
[
]
],
"security": [
"map",
[
[
"encryption",
"OPEN"
]
]
],
"wds": [
"set",
[
]
],
"enabled": true,
"vlan_id": 1,
"min_hw_mode": "11ac",
"vif_config": [
"uuid",
"54c01e8b-4d67-456e-ab18-cbc89c784c2a"
],
"_version": [
"uuid",
"faec64fb-fbc1-417a-9ff4-f30ff2c5be94"
],
"bridge": "lan",
"group_rekey": 0,
"ft_mobility_domain": [
"set",
[
]
],
"dynamic_beacon": [
"set",
[
]
],
"rrm": 1
}

View File

@@ -1,96 +0,0 @@
{
"vif_radio_idx": [
"set",
[]
],
"if_name": "home-ap-u50",
"state": [
"set",
[]
],
"mac": "26:f5:a2:ef:2e:56",
"ssid": "TipWlan-cloud-3-radios",
"uapsd_enable": true,
"ap_bridge": false,
"wps_pbc": [
"set",
[]
],
"mac_list": [
"set",
[]
],
"associated_clients": [
"uuid",
"c9f5a30d-7ccf-406f-a0d8-f108b377584e"
],
"btm": 1,
"_uuid": [
"uuid",
"009e6ee9-d687-4201-9c55-f42d26cbd7b5"
],
"ssid_broadcast": "enabled",
"wps": [
"set",
[]
],
"mcast2ucast": [
"set",
[]
],
"mode": "ap",
"mac_list_type": "none",
"wps_pbc_key_id": "",
"ft_psk": 0,
"channel": [
"set",
[]
],
"parent": [
"set",
[]
],
"multi_ap": [
"set",
[]
],
"ap_vlan_sta_addr": [
"set",
[]
],
"security": [
"map",
[
[
"encryption",
"OPEN"
]
]
],
"wds": [
"set",
[]
],
"enabled": true,
"vlan_id": 1,
"min_hw_mode": "11ac",
"vif_config": [
"uuid",
"4aeefd3b-b86f-45e4-a9a1-c734363be9c8"
],
"_version": [
"uuid",
"e70c7842-6257-46d1-94d3-350a55733fc4"
],
"bridge": "lan",
"group_rekey": 0,
"ft_mobility_domain": [
"set",
[]
],
"dynamic_beacon": [
"set",
[]
],
"rrm": 1
}