Compare commits

..

5 Commits

Author SHA1 Message Date
ralphlee
b776610d5e Removing unused imports 2020-10-21 15:03:49 -04:00
ralphlee
f9eb99ae65 Merge branch 'master' of github.com:Telecominfraproject/wlan-cloud-opensync-controller into WIFI-797-Rf-Source-Control 2020-10-21 09:53:37 -04:00
ralphlee
fc19bc59df Null check on rfConfig 2020-10-21 09:30:03 -04:00
ralphlee
d5b534c025 Spacing fix 2020-10-20 20:02:12 -04:00
ralphlee
ffc07452c6 Implementing SourceSelection on RRM parameters, updating static json 2020-10-20 16:59:26 -04:00
141 changed files with 16074 additions and 18849 deletions

1
opensync-ext-cloud/.gitignore vendored Normal file
View File

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

View File

@@ -1,139 +1,127 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent> <parent>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId> <artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath> <relativePath>../../wlan-cloud-root</relativePath>
</parent> </parent>
<artifactId>opensync-ext-cloud</artifactId> <artifactId>opensync-ext-cloud</artifactId>
<name>opensync-ext-cloud</name> <name>opensync-ext-cloud</name>
<description>Configuration interface that provides config from the cloud services.</description> <description>Configuration interface that provides config from the cloud services.</description>
<dependencies> <dependencies>
<!-- <dependency> --> <dependency>
<!-- <groupId>com.telecominfraproject.wlan</groupId> --> <groupId>com.telecominfraproject.wlan</groupId>
<!-- <artifactId>opensync-ext-interface</artifactId> --> <artifactId>opensync-ext-interface</artifactId>
<!-- <version>0.0.1-SNAPSHOT</version> --> <version>${tip-wlan-cloud.release.version}</version>
<!-- </dependency> --> </dependency>
<dependency> <dependency>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<artifactId>opensync-gateway</artifactId> <artifactId>opensync-gateway</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency>
<artifactId>base-container</artifactId>
<groupId>com.telecominfraproject.wlan</groupId>
<version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency> <dependency>
<artifactId>base-client</artifactId> <artifactId>base-client</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>equipment-gateway-models</artifactId> <artifactId>equipment-gateway-models</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>customer-service-interface</artifactId> <artifactId>customer-service-interface</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>location-service-interface</artifactId> <artifactId>location-service-interface</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>equipment-service-interface</artifactId> <artifactId>equipment-service-interface</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>profile-service-interface</artifactId> <artifactId>profile-service-interface</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>portal-user-service-interface</artifactId> <artifactId>portal-user-service-interface</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>service-metric-service-interface</artifactId> <artifactId>service-metric-service-interface</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency>
<artifactId>service-metric-models</artifactId>
<groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>system-event-service-interface</artifactId> <artifactId>system-event-service-interface</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency>
<artifactId>system-event-models</artifactId>
<groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>alarm-service-interface</artifactId> <artifactId>alarm-service-interface</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>status-service-interface</artifactId> <artifactId>status-service-interface</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>client-service-interface</artifactId> <artifactId>client-service-interface</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency>
<artifactId>client-models</artifactId>
<groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>routing-service-interface</artifactId> <artifactId>routing-service-interface</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>firmware-service-interface</artifactId> <artifactId>firmware-service-interface</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>manufacturer-service-interface</artifactId> <artifactId>manufacturer-service-interface</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>cloud-event-dispatcher-interface</artifactId> <artifactId>cloud-event-dispatcher-interface</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -329,9 +329,7 @@ public class OpensyncCloudGatewayController {
} else if (command instanceof CEGWNewChannelRequest) { } else if (command instanceof CEGWNewChannelRequest) {
CEGWNewChannelRequest request = (CEGWNewChannelRequest) command; CEGWNewChannelRequest request = (CEGWNewChannelRequest) command;
Map<RadioType, Integer> newBackupChannels = request.getNewBackupChannels(); Map<RadioType, Integer> newBackupChannels = request.getNewBackupChannels();
Map<RadioType, Integer> newPrimaryChannels = request.getNewPrimaryChannels(); String resultDetails = tipwlanOvsdbClient.processNewChannelsRequest(inventoryId, newBackupChannels);
String resultDetails = tipwlanOvsdbClient.processNewChannelsRequest(inventoryId, newBackupChannels,newPrimaryChannels);
response.setResultDetail(resultDetails); response.setResultDetail(resultDetails);
} else if (command instanceof CEGWFirmwareDownloadRequest) { } else if (command instanceof CEGWFirmwareDownloadRequest) {
@@ -341,9 +339,10 @@ public class OpensyncCloudGatewayController {
String filepath = dlRequest.getFilePath(); String filepath = dlRequest.getFilePath();
String firmwareVersion = dlRequest.getFirmwareVersion(); String firmwareVersion = dlRequest.getFirmwareVersion();
String username = dlRequest.getUsername(); String username = dlRequest.getUsername();
String validationCode = dlRequest.getValidationCode();
String resultDetails = tipwlanOvsdbClient.processFirmwareDownload(inventoryId, filepath, firmwareVersion, String resultDetails = tipwlanOvsdbClient.processFirmwareDownload(inventoryId, filepath, firmwareVersion,
username); username, validationCode);
response.setResultDetail(resultDetails); response.setResultDetail(resultDetails);

View File

@@ -66,7 +66,6 @@ import com.telecominfraproject.wlan.opensync.external.integration.controller.Ope
import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo; import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo;
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPRadioState; 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.OpensyncAPVIFState;
import com.telecominfraproject.wlan.opensync.external.integration.utils.MqttStatsPublisher;
import com.telecominfraproject.wlan.profile.ProfileServiceInterface; import com.telecominfraproject.wlan.profile.ProfileServiceInterface;
import com.telecominfraproject.wlan.profile.models.Profile; import com.telecominfraproject.wlan.profile.models.Profile;
import com.telecominfraproject.wlan.profile.models.ProfileType; import com.telecominfraproject.wlan.profile.models.ProfileType;
@@ -89,6 +88,7 @@ import sts.OpensyncStats.Client;
import sts.OpensyncStats.ClientReport; import sts.OpensyncStats.ClientReport;
import sts.OpensyncStats.EventReport; import sts.OpensyncStats.EventReport;
import sts.OpensyncStats.EventReport.ClientAssocEvent; import sts.OpensyncStats.EventReport.ClientAssocEvent;
import sts.OpensyncStats.EventType;
import sts.OpensyncStats.RadioBandType; import sts.OpensyncStats.RadioBandType;
import sts.OpensyncStats.Report; import sts.OpensyncStats.Report;
@@ -126,7 +126,7 @@ public class OpensyncExternalIntegrationCloudTest {
@MockBean(answer = Answers.RETURNS_MOCKS) @MockBean(answer = Answers.RETURNS_MOCKS)
OpensyncCloudGatewayController gatewayController; OpensyncCloudGatewayController gatewayController;
@MockBean @MockBean
MqttStatsPublisher opensyncExternalIntegrationMqttProcessor; OpensyncExternalIntegrationMqttMessageProcessor opensyncExternalIntegrationMqttProcessor;
@Autowired @Autowired
OpensyncExternalIntegrationCloud opensyncExternalIntegrationCloud; OpensyncExternalIntegrationCloud opensyncExternalIntegrationCloud;
@@ -162,6 +162,20 @@ public class OpensyncExternalIntegrationCloudTest {
} }
@Test
public void testGetCustomerEquipment() {
Equipment equipment = new Equipment();
equipment.setDetails(ApElementConfiguration.createWithDefaults());
Mockito.when(
equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.eq("Test_Client_21P10C68818122")))
.thenReturn(equipment);
assertNotNull(opensyncExternalIntegrationCloud.getCustomerEquipment("Test_Client_21P10C68818122"));
assertNull(opensyncExternalIntegrationCloud.getCustomerEquipment("Test_Client_21P10C68818133"));
}
@Test @Test
public void testApConnected() { public void testApConnected() {
@@ -462,6 +476,16 @@ public class OpensyncExternalIntegrationCloudTest {
} }
@Test
public void testExtractApIdFromTopic() {
String topic = "/ap/Test_Client_21P10C68818122/opensync";
assertEquals("Test_Client_21P10C68818122",
OpensyncExternalIntegrationMqttMessageProcessor.extractApIdFromTopic(topic));
}
@Test @Test
public void testProcessMqttMessageStringReport() { public void testProcessMqttMessageStringReport() {
@@ -484,10 +508,10 @@ public class OpensyncExternalIntegrationCloudTest {
Mockito.when(statusServiceInterface.update(ArgumentMatchers.any(Status.class))).thenReturn(bssidStatus); Mockito.when(statusServiceInterface.update(ArgumentMatchers.any(Status.class))).thenReturn(bssidStatus);
com.telecominfraproject.wlan.client.models.Client clientInstance = new com.telecominfraproject.wlan.client.models.Client(); com.telecominfraproject.wlan.client.models.Client clientInstance = new com.telecominfraproject.wlan.client.models.Client();
clientInstance.setMacAddress(MacAddress.valueOf("7C:AB:60:E6:EA:4D")); clientInstance.setMacAddress(new MacAddress("7C:AB:60:E6:EA:4D"));
clientInstance.setDetails(new ClientInfoDetails()); clientInstance.setDetails(new ClientInfoDetails());
com.telecominfraproject.wlan.client.models.Client clientInstance2 = new com.telecominfraproject.wlan.client.models.Client(); com.telecominfraproject.wlan.client.models.Client clientInstance2 = new com.telecominfraproject.wlan.client.models.Client();
clientInstance2.setMacAddress(MacAddress.valueOf("C0:9A:D0:76:A9:69")); clientInstance2.setMacAddress(new MacAddress("C0:9A:D0:76:A9:69"));
clientInstance2.setDetails(new ClientInfoDetails()); clientInstance2.setDetails(new ClientInfoDetails());
Mockito.when( Mockito.when(
clientServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.any(MacAddress.class))) clientServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.any(MacAddress.class)))
@@ -497,10 +521,10 @@ public class OpensyncExternalIntegrationCloudTest {
.thenReturn(clientInstance).thenReturn(clientInstance2); .thenReturn(clientInstance).thenReturn(clientInstance2);
ClientSession clientSession = new ClientSession(); ClientSession clientSession = new ClientSession();
clientSession.setMacAddress(MacAddress.valueOf("7C:AB:60:E6:EA:4D")); clientSession.setMacAddress(new MacAddress("7C:AB:60:E6:EA:4D"));
clientSession.setDetails(new ClientSessionDetails()); clientSession.setDetails(new ClientSessionDetails());
ClientSession clientSession2 = new ClientSession(); ClientSession clientSession2 = new ClientSession();
clientSession2.setMacAddress(MacAddress.valueOf("C0:9A:D0:76:A9:69")); clientSession2.setMacAddress(new MacAddress("C0:9A:D0:76:A9:69"));
clientSession2.setDetails(new ClientSessionDetails()); clientSession2.setDetails(new ClientSessionDetails());
Mockito.when(clientServiceInterface.getSessionOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(), Mockito.when(clientServiceInterface.getSessionOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
ArgumentMatchers.any(MacAddress.class))).thenReturn(clientSession).thenReturn(clientSession2); ArgumentMatchers.any(MacAddress.class))).thenReturn(clientSession).thenReturn(clientSession2);
@@ -588,7 +612,7 @@ public class OpensyncExternalIntegrationCloudTest {
equipment.setProfileId(1); equipment.setProfileId(1);
equipment.setDetails(ApElementConfiguration.createWithDefaults()); equipment.setDetails(ApElementConfiguration.createWithDefaults());
Mockito.when(equipmentServiceInterface.getOrNull(1L)).thenReturn(equipment); Mockito.when(equipmentServiceInterface.getByInventoryIdOrNull(apId)).thenReturn(equipment);
Mockito.when(equipmentServiceInterface.get(equipment.getId())).thenReturn(equipment); Mockito.when(equipmentServiceInterface.get(equipment.getId())).thenReturn(equipment);
Mockito.when(equipmentServiceInterface.update(equipment)).thenReturn(equipment); Mockito.when(equipmentServiceInterface.update(equipment)).thenReturn(equipment);
@@ -620,7 +644,7 @@ public class OpensyncExternalIntegrationCloudTest {
Mockito.verify(session).getCustomerId(); Mockito.verify(session).getCustomerId();
Mockito.verify(session).getEquipmentId(); Mockito.verify(session).getEquipmentId();
Mockito.verify(ovsdbSessionMapInterface).getSession(apId); Mockito.verify(ovsdbSessionMapInterface).getSession(apId);
Mockito.verify(equipmentServiceInterface).getOrNull(1L); Mockito.verify(equipmentServiceInterface).getByInventoryIdOrNull(apId);
Mockito.verify(statusServiceInterface).getOrNull(2, 1L, StatusDataType.CLIENT_DETAILS); Mockito.verify(statusServiceInterface).getOrNull(2, 1L, StatusDataType.CLIENT_DETAILS);
Mockito.verify(statusServiceInterface).getOrNull(2, 1L, StatusDataType.ACTIVE_BSSIDS); Mockito.verify(statusServiceInterface).getOrNull(2, 1L, StatusDataType.ACTIVE_BSSIDS);
@@ -673,7 +697,7 @@ public class OpensyncExternalIntegrationCloudTest {
protocolStatus.setCustomerId(2); protocolStatus.setCustomerId(2);
protocolStatus.setEquipmentId(1L); protocolStatus.setEquipmentId(1L);
EquipmentProtocolStatusData protocolStatusData = new EquipmentProtocolStatusData(); EquipmentProtocolStatusData protocolStatusData = new EquipmentProtocolStatusData();
protocolStatusData.setReportedCC(CountryCode.CA); protocolStatusData.setReportedCC(CountryCode.ca);
protocolStatus.setDetails(protocolStatusData); protocolStatus.setDetails(protocolStatusData);
protocolStatus.setStatusDataType(StatusDataType.PROTOCOL); protocolStatus.setStatusDataType(StatusDataType.PROTOCOL);
@@ -717,7 +741,7 @@ public class OpensyncExternalIntegrationCloudTest {
Mockito.verify(session).getEquipmentId(); Mockito.verify(session).getEquipmentId();
Mockito.verify(ovsdbSessionMapInterface).getSession(apId); Mockito.verify(ovsdbSessionMapInterface).getSession(apId);
Mockito.verify(equipmentServiceInterface, Mockito.times(1)).getByInventoryIdOrNull(apId); Mockito.verify(equipmentServiceInterface, Mockito.times(2)).getByInventoryIdOrNull(apId);
Mockito.verify(statusServiceInterface, Mockito.times(3)).getOrNull(2, 1L, StatusDataType.PROTOCOL); Mockito.verify(statusServiceInterface, Mockito.times(3)).getOrNull(2, 1L, StatusDataType.PROTOCOL);
Mockito.verify(statusServiceInterface, Mockito.never()).update(bssidStatus); Mockito.verify(statusServiceInterface, Mockito.never()).update(bssidStatus);
@@ -790,6 +814,8 @@ public class OpensyncExternalIntegrationCloudTest {
private List<EventReport> getOpensyncStatsEventReportsList() { private List<EventReport> getOpensyncStatsEventReportsList() {
List<ClientAssocEvent> clientAssocEventList = new ArrayList<>();
sts.OpensyncStats.EventReport.ClientAssocEvent.Builder clientAssocBuilder = EventReport.ClientAssocEvent sts.OpensyncStats.EventReport.ClientAssocEvent.Builder clientAssocBuilder = EventReport.ClientAssocEvent
.getDefaultInstance().toBuilder(); .getDefaultInstance().toBuilder();
clientAssocBuilder.setAssocType(AssocType.ASSOC); clientAssocBuilder.setAssocType(AssocType.ASSOC);
@@ -801,7 +827,21 @@ public class OpensyncExternalIntegrationCloudTest {
clientAssocBuilder.setInternalSc(1); clientAssocBuilder.setInternalSc(1);
clientAssocBuilder.setSsid("ssid-3"); clientAssocBuilder.setSsid("ssid-3");
clientAssocBuilder.setStatus(1); clientAssocBuilder.setStatus(1);
clientAssocBuilder.setTimestampMs(System.currentTimeMillis());
sts.OpensyncStats.EventReport.ClientAssocEvent.Builder clientAssocBuilder2 = EventReport.ClientAssocEvent
.getDefaultInstance().toBuilder();
clientAssocBuilder2.setAssocType(AssocType.ASSOC);
clientAssocBuilder2.setBand(RadioBandType.BAND2G);
clientAssocBuilder2.setRssi(-65);
clientAssocBuilder2.setStaMac("7C:AB:60:E6:EA:4D");
clientAssocBuilder2.setStaMacBytes(ByteString.copyFrom("7C:AB:60:E6:EA:4D".getBytes()));
clientAssocBuilder2.setSessionId(1000L);
clientAssocBuilder2.setInternalSc(1);
clientAssocBuilder2.setSsid("ssid-1");
clientAssocBuilder2.setStatus(1);
clientAssocEventList.add(clientAssocBuilder.build());
clientAssocEventList.add(clientAssocBuilder2.build());
List<EventReport> eventReportList = new ArrayList<>(); List<EventReport> eventReportList = new ArrayList<>();
@@ -811,7 +851,7 @@ public class OpensyncExternalIntegrationCloudTest {
clientSessionBuilder.setSessionId(1000L); clientSessionBuilder.setSessionId(1000L);
clientSessionBuilder.setClientAssocEvent(clientAssocBuilder.build()); clientSessionBuilder.addAllClientAssocEvent(clientAssocEventList);
List<sts.OpensyncStats.EventReport.ClientSession> clientSessionList = new ArrayList<>(); List<sts.OpensyncStats.EventReport.ClientSession> clientSessionList = new ArrayList<>();
clientSessionList.add(clientSessionBuilder.build()); clientSessionList.add(clientSessionBuilder.build());

View File

@@ -1,4 +1,4 @@
package com.telecominfraproject.wlan.opensync.external.integration.utils; package com.telecominfraproject.wlan.opensync.external.integration;
import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -39,13 +39,8 @@ import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
import com.telecominfraproject.wlan.core.model.equipment.RadioType; import com.telecominfraproject.wlan.core.model.equipment.RadioType;
import com.telecominfraproject.wlan.customer.service.CustomerServiceInterface; import com.telecominfraproject.wlan.customer.service.CustomerServiceInterface;
import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface; import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface;
import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration;
import com.telecominfraproject.wlan.equipment.models.Equipment;
import com.telecominfraproject.wlan.firmware.FirmwareServiceInterface; import com.telecominfraproject.wlan.firmware.FirmwareServiceInterface;
import com.telecominfraproject.wlan.location.service.LocationServiceInterface; import com.telecominfraproject.wlan.location.service.LocationServiceInterface;
import com.telecominfraproject.wlan.opensync.external.integration.OpensyncExternalIntegrationCloud;
import com.telecominfraproject.wlan.opensync.external.integration.OvsdbSession;
import com.telecominfraproject.wlan.opensync.external.integration.OvsdbSessionMapInterface;
import com.telecominfraproject.wlan.opensync.external.integration.controller.OpensyncCloudGatewayController; import com.telecominfraproject.wlan.opensync.external.integration.controller.OpensyncCloudGatewayController;
import com.telecominfraproject.wlan.profile.ProfileServiceInterface; import com.telecominfraproject.wlan.profile.ProfileServiceInterface;
import com.telecominfraproject.wlan.routing.RoutingServiceInterface; import com.telecominfraproject.wlan.routing.RoutingServiceInterface;
@@ -58,28 +53,26 @@ import com.telecominfraproject.wlan.status.models.Status;
import com.telecominfraproject.wlan.status.models.StatusDataType; import com.telecominfraproject.wlan.status.models.StatusDataType;
import sts.OpensyncStats.AssocType; import sts.OpensyncStats.AssocType;
import sts.OpensyncStats.ChannelSwitchReason;
import sts.OpensyncStats.Client; import sts.OpensyncStats.Client;
import sts.OpensyncStats.ClientReport; import sts.OpensyncStats.ClientReport;
import sts.OpensyncStats.DNSProbeMetric; import sts.OpensyncStats.DNSProbeMetric;
import sts.OpensyncStats.EventReport; import sts.OpensyncStats.EventReport;
import sts.OpensyncStats.EventReport.ChannelSwitchEvent;
import sts.OpensyncStats.EventReport.ClientAssocEvent;
import sts.OpensyncStats.NetworkProbe; import sts.OpensyncStats.NetworkProbe;
import sts.OpensyncStats.RADIUSMetrics; import sts.OpensyncStats.RADIUSMetrics;
import sts.OpensyncStats.RadioBandType; import sts.OpensyncStats.RadioBandType;
import sts.OpensyncStats.Report; import sts.OpensyncStats.Report;
import sts.OpensyncStats.StateUpDown; import sts.OpensyncStats.StateUpDown;
import sts.OpensyncStats.VLANMetrics; import sts.OpensyncStats.VLANMetrics;
import sts.OpensyncStats.EventReport.ClientAssocEvent;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@ActiveProfiles(profiles = { "integration_test", }) @ActiveProfiles(profiles = { "integration_test", })
@SpringBootTest(webEnvironment = WebEnvironment.NONE, classes = MqttStatsPublisherTest.class) @SpringBootTest(webEnvironment = WebEnvironment.NONE, classes = OpensyncExternalIntegrationMqttMessageProcessorTest.class)
@Import(value = { AlarmServiceInterface.class, OpensyncExternalIntegrationCloud.class, @Import(value = { AlarmServiceInterface.class, OpensyncExternalIntegrationCloud.class,
MqttStatsPublisherTest.Config.class, OpensyncExternalIntegrationMqttMessageProcessorTest.Config.class,
}) })
public class MqttStatsPublisherTest { public class OpensyncExternalIntegrationMqttMessageProcessorTest {
@MockBean @MockBean
AlarmServiceInterface alarmServiceInterface; AlarmServiceInterface alarmServiceInterface;
@@ -105,10 +98,9 @@ public class MqttStatsPublisherTest {
FirmwareServiceInterface firmwareServiceInterface; FirmwareServiceInterface firmwareServiceInterface;
@MockBean(answer = Answers.RETURNS_MOCKS) @MockBean(answer = Answers.RETURNS_MOCKS)
OpensyncCloudGatewayController gatewayController; OpensyncCloudGatewayController gatewayController;
@MockBean
RealtimeEventPublisher realtimeEventPublisher;
@Autowired @Autowired
MqttStatsPublisher opensyncExternalIntegrationMqttProcessor; OpensyncExternalIntegrationMqttMessageProcessor opensyncExternalIntegrationMqttProcessor;
MockitoSession mockito; MockitoSession mockito;
@@ -116,8 +108,8 @@ public class MqttStatsPublisherTest {
static class Config { static class Config {
@Bean @Bean
public MqttStatsPublisher mqttStatsPublisher() { public OpensyncExternalIntegrationMqttMessageProcessor opensyncExternalIntegrationMqttMessageProcessor() {
return new MqttStatsPublisher(); return new OpensyncExternalIntegrationMqttMessageProcessor();
} }
} }
@@ -135,12 +127,14 @@ public class MqttStatsPublisherTest {
} }
@Test @Test
public void testExtractApIdFromTopic() { public void testExtractApIdFromTopic() {
String topic = "/ap/Test_Client_21P10C68818122/opensync"; String topic = "/ap/Test_Client_21P10C68818122/opensync";
assertEquals("Test_Client_21P10C68818122", MqttStatsPublisher.extractApIdFromTopic(topic)); assertEquals("Test_Client_21P10C68818122",
OpensyncExternalIntegrationMqttMessageProcessor.extractApIdFromTopic(topic));
} }
@@ -170,20 +164,6 @@ public class MqttStatsPublisherTest {
@Test @Test
public void testProcessMqttMessageStringReport() { public void testProcessMqttMessageStringReport() {
Equipment equipment = new Equipment();
equipment.setDetails(ApElementConfiguration.createWithDefaults());
equipment.setId(1L);
Mockito.when(
equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.eq("Test_Client_21P10C68818122")))
.thenReturn(equipment);
equipment.setProfileId(0L);
Mockito.when(equipmentServiceInterface.getOrNull(1L)).thenReturn(equipment);
Mockito.when(equipmentServiceInterface.get(1L)).thenReturn(equipment);
Report report = Report.newBuilder().setNodeID("21P10C68818122") Report report = Report.newBuilder().setNodeID("21P10C68818122")
.addAllClients(getOpensyncStatsClientReportsList()) .addAllClients(getOpensyncStatsClientReportsList())
@@ -210,10 +190,10 @@ public class MqttStatsPublisherTest {
Mockito.when(statusServiceInterface.update(ArgumentMatchers.any(Status.class))).thenReturn(bssidStatus); Mockito.when(statusServiceInterface.update(ArgumentMatchers.any(Status.class))).thenReturn(bssidStatus);
com.telecominfraproject.wlan.client.models.Client clientInstance = new com.telecominfraproject.wlan.client.models.Client(); com.telecominfraproject.wlan.client.models.Client clientInstance = new com.telecominfraproject.wlan.client.models.Client();
clientInstance.setMacAddress(MacAddress.valueOf("7C:AB:60:E6:EA:4D")); clientInstance.setMacAddress(new MacAddress("7C:AB:60:E6:EA:4D"));
clientInstance.setDetails(new ClientInfoDetails()); clientInstance.setDetails(new ClientInfoDetails());
com.telecominfraproject.wlan.client.models.Client clientInstance2 = new com.telecominfraproject.wlan.client.models.Client(); com.telecominfraproject.wlan.client.models.Client clientInstance2 = new com.telecominfraproject.wlan.client.models.Client();
clientInstance2.setMacAddress(MacAddress.valueOf("C0:9A:D0:76:A9:69")); clientInstance2.setMacAddress(new MacAddress("C0:9A:D0:76:A9:69"));
clientInstance2.setDetails(new ClientInfoDetails()); clientInstance2.setDetails(new ClientInfoDetails());
Mockito.when( Mockito.when(
clientServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.any(MacAddress.class))) clientServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.any(MacAddress.class)))
@@ -223,10 +203,10 @@ public class MqttStatsPublisherTest {
.thenReturn(clientInstance).thenReturn(clientInstance2); .thenReturn(clientInstance).thenReturn(clientInstance2);
ClientSession clientSession = new ClientSession(); ClientSession clientSession = new ClientSession();
clientSession.setMacAddress(MacAddress.valueOf("7C:AB:60:E6:EA:4D")); clientSession.setMacAddress(new MacAddress("7C:AB:60:E6:EA:4D"));
clientSession.setDetails(new ClientSessionDetails()); clientSession.setDetails(new ClientSessionDetails());
ClientSession clientSession2 = new ClientSession(); ClientSession clientSession2 = new ClientSession();
clientSession2.setMacAddress(MacAddress.valueOf("C0:9A:D0:76:A9:69")); clientSession2.setMacAddress(new MacAddress("C0:9A:D0:76:A9:69"));
clientSession2.setDetails(new ClientSessionDetails()); clientSession2.setDetails(new ClientSessionDetails());
Mockito.when(clientServiceInterface.getSessionOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(), Mockito.when(clientServiceInterface.getSessionOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
ArgumentMatchers.any(MacAddress.class))).thenReturn(clientSession).thenReturn(clientSession2); ArgumentMatchers.any(MacAddress.class))).thenReturn(clientSession).thenReturn(clientSession2);
@@ -316,8 +296,12 @@ public class MqttStatsPublisherTest {
bssidList.add(activeBssid3); bssidList.add(activeBssid3);
return bssidList; return bssidList;
} }
private List<EventReport> getOpensyncStatsEventReportsList() { private List<EventReport> getOpensyncStatsEventReportsList() {
List<ClientAssocEvent> clientAssocEventList = new ArrayList<>();
sts.OpensyncStats.EventReport.ClientAssocEvent.Builder clientAssocBuilder = EventReport.ClientAssocEvent sts.OpensyncStats.EventReport.ClientAssocEvent.Builder clientAssocBuilder = EventReport.ClientAssocEvent
.getDefaultInstance().toBuilder(); .getDefaultInstance().toBuilder();
clientAssocBuilder.setAssocType(AssocType.ASSOC); clientAssocBuilder.setAssocType(AssocType.ASSOC);
@@ -329,7 +313,21 @@ public class MqttStatsPublisherTest {
clientAssocBuilder.setInternalSc(1); clientAssocBuilder.setInternalSc(1);
clientAssocBuilder.setSsid("ssid-3"); clientAssocBuilder.setSsid("ssid-3");
clientAssocBuilder.setStatus(1); clientAssocBuilder.setStatus(1);
clientAssocBuilder.setTimestampMs(System.currentTimeMillis());
sts.OpensyncStats.EventReport.ClientAssocEvent.Builder clientAssocBuilder2 = EventReport.ClientAssocEvent
.getDefaultInstance().toBuilder();
clientAssocBuilder2.setAssocType(AssocType.ASSOC);
clientAssocBuilder2.setBand(RadioBandType.BAND2G);
clientAssocBuilder2.setRssi(-65);
clientAssocBuilder2.setStaMac("7C:AB:60:E6:EA:4D");
clientAssocBuilder2.setStaMacBytes(ByteString.copyFrom("7C:AB:60:E6:EA:4D".getBytes()));
clientAssocBuilder2.setSessionId(1000L);
clientAssocBuilder2.setInternalSc(1);
clientAssocBuilder2.setSsid("ssid-1");
clientAssocBuilder2.setStatus(1);
clientAssocEventList.add(clientAssocBuilder.build());
clientAssocEventList.add(clientAssocBuilder2.build());
List<EventReport> eventReportList = new ArrayList<>(); List<EventReport> eventReportList = new ArrayList<>();
@@ -340,25 +338,18 @@ public class MqttStatsPublisherTest {
clientSessionBuilder.setSessionId(1000L); clientSessionBuilder.setSessionId(1000L);
clientSessionBuilder.setClientAssocEvent(clientAssocBuilder.build()); clientSessionBuilder.addAllClientAssocEvent(clientAssocEventList);
List<sts.OpensyncStats.EventReport.ClientSession> clientSessionList = new ArrayList<>(); List<sts.OpensyncStats.EventReport.ClientSession> clientSessionList = new ArrayList<>();
clientSessionList.add(clientSessionBuilder.build()); clientSessionList.add(clientSessionBuilder.build());
sts.OpensyncStats.EventReport.ChannelSwitchEvent.Builder channelSwitchEventBuilder = sts.OpensyncStats.EventReport.ChannelSwitchEvent
.getDefaultInstance().toBuilder();
channelSwitchEventBuilder.setBand(RadioBandType.BAND5GL).setChannel(40)
.setReason(ChannelSwitchReason.high_interference).setTimestampMs(System.currentTimeMillis());
List<ChannelSwitchEvent> channelSwitchEventList = new ArrayList<>();
channelSwitchEventList.add(channelSwitchEventBuilder.build());
eventReportBuilder.addAllClientSession(clientSessionList); eventReportBuilder.addAllClientSession(clientSessionList);
eventReportBuilder.addAllChannelSwitch(channelSwitchEventList);
eventReportList.add(eventReportBuilder.build()); eventReportList.add(eventReportBuilder.build());
return eventReportList; return eventReportList;
} }
private List<ClientReport> getOpensyncStatsClientReportsList() { private List<ClientReport> getOpensyncStatsClientReportsList() {

View File

@@ -1,382 +0,0 @@
package com.telecominfraproject.wlan.opensync.external.integration.utils;
import java.net.InetAddress;
import java.sql.Date;
import java.util.ArrayList;
import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.mockito.MockitoSession;
import org.mockito.quality.Strictness;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.context.annotation.Bean;
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 com.google.protobuf.ByteString;
import com.telecominfraproject.wlan.client.models.events.realtime.ClientAssocEvent;
import com.telecominfraproject.wlan.client.models.events.realtime.ClientAuthEvent;
import com.telecominfraproject.wlan.client.models.events.utils.WlanStatusCode;
import com.telecominfraproject.wlan.cloudeventdispatcher.CloudEventDispatcherInterface;
import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface;
import com.telecominfraproject.wlan.opensync.external.integration.OpensyncExternalIntegrationCloud;
import com.telecominfraproject.wlan.profile.ProfileServiceInterface;
import sts.OpensyncStats.EventReport.DhcpNakEvent;
import sts.OpensyncStats.EventReport.DhcpOfferEvent;
import sts.OpensyncStats.EventReport.DhcpRequestEvent;
import sts.OpensyncStats;
import sts.OpensyncStats.EventReport.DhcpAckEvent;
import sts.OpensyncStats.EventReport.DhcpCommonData;
import sts.OpensyncStats.EventReport.DhcpDeclineEvent;
import sts.OpensyncStats.EventReport.DhcpDiscoverEvent;
import sts.OpensyncStats.EventReport.DhcpInformEvent;
import sts.OpensyncStats.EventReport.DhcpTransaction;
import sts.OpensyncStats.RadioBandType;
import sts.OpensyncStats.Report;
@RunWith(SpringRunner.class)
@ActiveProfiles(profiles = { "integration_test", })
@SpringBootTest(webEnvironment = WebEnvironment.NONE, classes = RealtimeEventPublisherTest.class)
@Import(value = { OpensyncExternalIntegrationCloud.class, RealtimeEventPublisherTest.Config.class,
})
public class RealtimeEventPublisherTest {
@MockBean
private CloudEventDispatcherInterface cloudEventDispatcherInterface;
@MockBean
private EquipmentServiceInterface equipmentServiceInterface;
@MockBean
private ProfileServiceInterface profileServiceInterface;
@Autowired
RealtimeEventPublisher realtimeEventPublisher;
MockitoSession mockito;
@Configuration
static class Config {
@Bean
public RealtimeEventPublisher realtimeEventPublisher() {
return new RealtimeEventPublisher();
}
}
@Before
public void setUp() throws Exception {
mockito = Mockito.mockitoSession().initMocks(this).strictness(Strictness.STRICT_STUBS).startMocking();
}
@After
public void tearDown() throws Exception {
mockito.finishMocking();
}
@Ignore
public void testPublishChannelHopEvents() {
// TODO: implement
}
@Ignore
public void testPublishClientConnectSuccessEvent() {
// TODO: implement
}
@Ignore
public void testPublishClientDisconnectEvent() {
// TODO: implement
}
@Test
public void testPublishClientAuthSystemEvent() throws Exception {
OpensyncStats.EventReport.ClientAuthEvent clientAuthEvent = OpensyncStats.EventReport.ClientAuthEvent
.newBuilder().setBand(RadioBandType.BAND5GL).setSsid("TipWlan-cloud-3-radios")
.setStaMac("c0:9a:d0:76:a9:69").setSessionId(Long.parseUnsignedLong("12377998144488079334"))
.setAuthStatus(WlanStatusCode.WLAN_STATUS_SUCCESS.getId()).setTimestampMs(1610050309).build();
realtimeEventPublisher.publishClientAuthSystemEvent(2, 1L, 0L, clientAuthEvent);
Mockito.verify(cloudEventDispatcherInterface, Mockito.times(1))
.publishEvent(Mockito.any(ClientAuthEvent.class));
}
@Test
public void testPublishClientAssocEvent() throws Exception {
OpensyncStats.EventReport.ClientAssocEvent clientAssocEvent = OpensyncStats.EventReport.ClientAssocEvent
.newBuilder().setBand(RadioBandType.BAND5GL).setRssi(-37).setSsid("TipWlan-cloud-3-radios")
.setStaMac("c0:9a:d0:76:a9:69").setSessionId(Long.parseUnsignedLong("12377998144488079334"))
.setUsing11K(true).setUsing11V(true).setStatus(WlanStatusCode.WLAN_STATUS_SUCCESS.getId())
.setTimestampMs(1610050309).build();
realtimeEventPublisher.publishClientAssocEvent(2, 1L, 0L, clientAssocEvent);
Mockito.verify(cloudEventDispatcherInterface, Mockito.times(1))
.publishEvent(Mockito.any(ClientAssocEvent.class));
}
@Ignore
public void testPublishClientFailureEvent() {
// TODO: implement
}
@Ignore
public void testPublishClientFirstDataEvent() {
// TODO: implement
}
@Ignore
public void testPublishClientIdEvent() {
// TODO: implement
}
@Ignore
public void testPublishClientIpEvent() {
// TODO: implement
}
@Ignore
public void testPublishClientTimeoutEvent() {
// TODO: implement
}
@Test
public void testPublishDhcpTransactionEvents() throws Exception {
long timestamp = System.currentTimeMillis();
List<DhcpTransaction> dhcpTransactionList = new ArrayList<>();
DhcpAckEvent ackEvent = DhcpAckEvent.newBuilder()
.setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.250").getAddress()))
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
.setDeviceMacAddress("c0:9a:d0:76:a9:69")
.setXId(123456789)
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build())
.setGatewayIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
.setPrimaryDns(ByteString.copyFrom(InetAddress.getByName("64.71.255.204").getAddress()))
.setSecondaryDns(ByteString.copyFrom(InetAddress.getByName("64.71.255.198").getAddress()))
.setSubnetMask(ByteString.copyFrom(InetAddress.getByName("255.255.255.0").getAddress()))
.setLeaseTime(172800).setTimeOffset(10).build();
DhcpAckEvent ackEvent2 = DhcpAckEvent.newBuilder()
.setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.65").getAddress()))
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
.setDeviceMacAddress("f6:f0:65:99:e2:33")
.setXId(123456789)
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build())
.setGatewayIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
.setPrimaryDns(ByteString.copyFrom(InetAddress.getByName("64.71.255.204").getAddress()))
.setSecondaryDns(ByteString.copyFrom(InetAddress.getByName("64.71.255.198").getAddress()))
.setSubnetMask(ByteString.copyFrom(InetAddress.getByName("255.255.255.0").getAddress()))
.setLeaseTime(172800).setTimeOffset(10).build();
List<DhcpAckEvent> ackEventList = List.of(ackEvent, ackEvent2);
DhcpNakEvent nakEvent1 = DhcpNakEvent.newBuilder().setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.129").getAddress()))
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
.setDeviceMacAddress("24:f5:a2:ef:2e:53")
.setXId(123456789)
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build()).setFromInternal(true).build();
List<DhcpNakEvent> nakEventList = List.of(nakEvent1);
DhcpOfferEvent offerEvent1 = DhcpOfferEvent.newBuilder().setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.250").getAddress()))
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
.setDeviceMacAddress("c0:9a:d0:76:a9:69")
.setXId(123456789)
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build()).setFromInternal(true).build();
DhcpOfferEvent offerEvent2 = DhcpOfferEvent.newBuilder().setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.65").getAddress()))
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
.setDeviceMacAddress("f6:f0:65:99:e2:33")
.setXId(123456789)
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build()).setFromInternal(true).build();
List<DhcpOfferEvent> offerEventList = List.of(offerEvent1,offerEvent2);
DhcpDiscoverEvent discoverEvent1 = DhcpDiscoverEvent.newBuilder().setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.250").getAddress()))
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
.setDeviceMacAddress("c0:9a:d0:76:a9:69")
.setXId(123456789)
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build()).setHostname("My-iPhone").build();
DhcpDiscoverEvent discoverEvent2 = DhcpDiscoverEvent.newBuilder().setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.65").getAddress()))
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
.setDeviceMacAddress("f6:f0:65:99:e2:33")
.setXId(123456789)
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build()).setHostname("My-iPad").build();
List<DhcpDiscoverEvent> discoverEventList = List.of(discoverEvent1,discoverEvent2);
DhcpRequestEvent requestEvent1 = DhcpRequestEvent.newBuilder().setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.250").getAddress()))
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
.setDeviceMacAddress("c0:9a:d0:76:a9:69")
.setXId(123456789)
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build()).setHostname("My-iPhone").build();
DhcpRequestEvent requestEvent2 = DhcpRequestEvent.newBuilder().setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.65").getAddress()))
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
.setDeviceMacAddress("f6:f0:65:99:e2:33")
.setXId(123456789)
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build()).setHostname("My-iPad").build();
List<DhcpRequestEvent> requestEventList = List.of(requestEvent1,requestEvent2);
DhcpInformEvent informEvent = DhcpInformEvent.newBuilder().setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.250").getAddress()))
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
.setDeviceMacAddress("c0:9a:d0:76:a9:69")
.setXId(123456789)
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build()).build();
List<DhcpInformEvent> informEventList = List.of(informEvent);
DhcpDeclineEvent declineEvent = DhcpDeclineEvent.newBuilder().setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.129").getAddress()))
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
.setDeviceMacAddress("24:f5:a2:ef:2e:53")
.setXId(123456789)
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build()).build();
List<DhcpDeclineEvent> declineEventList = List.of(declineEvent);
DhcpTransaction dhcpTransaction = DhcpTransaction.newBuilder(DhcpTransaction.getDefaultInstance())
.addAllDhcpAckEvent(ackEventList).addAllDhcpNakEvent(nakEventList).addAllDhcpOfferEvent(offerEventList)
.addAllDhcpInformEvent(informEventList).addAllDhcpDeclineEvent(declineEventList)
.addAllDhcpDiscoverEvent(discoverEventList).addAllDhcpRequestEvent(requestEventList).setXId(123456789)
.build();
dhcpTransactionList.add(dhcpTransaction);
realtimeEventPublisher.publishDhcpTransactionEvents(2, 1L, 0L, dhcpTransactionList);
Mockito.verify(cloudEventDispatcherInterface,Mockito.times(1)).publishEventsBulk(Mockito.anyList());
}
@Test
public void testPublishSipCallEvents() throws Exception {
OpensyncStats.VideoVoiceReport.Builder callStartVoiceReportBuilder = OpensyncStats.VideoVoiceReport.newBuilder()
.setCallStart(getDefaultCallStart());
OpensyncStats.VideoVoiceReport.Builder callReportGotPublishVoiceReportBuilder = OpensyncStats.VideoVoiceReport
.newBuilder().setCallReport(getDefaultCallReport(OpensyncStats.CallReport.CallReportReason.GOT_PUBLISH,
121, 1028, 1316, 1888, 298, 2, 100, 200));
OpensyncStats.VideoVoiceReport.Builder callReportRoamedToVoiceReportBuilder = OpensyncStats.VideoVoiceReport
.newBuilder().setCallReport(getDefaultCallReport(OpensyncStats.CallReport.CallReportReason.ROAMED_TO,
123, 1020, 1116, 1345, 223, 0, 102, 203));
OpensyncStats.VideoVoiceReport.Builder callReportRoamedFromVoiceReportBuilder = OpensyncStats.VideoVoiceReport
.newBuilder().setCallReport(getDefaultCallReport(OpensyncStats.CallReport.CallReportReason.ROAMED_FROM,
122, 1029, 1300, 1234, 111, 3, 101, 201));
OpensyncStats.VideoVoiceReport.Builder callStopVoiceReportBuilder = OpensyncStats.VideoVoiceReport.newBuilder()
.setCallStop(getDefaultCallStop());
// Create report with multiple voiceReports in one
Report multipleVoiceReportsInOneReport = Report.newBuilder().addVideoVoiceReport(callStartVoiceReportBuilder)
.addVideoVoiceReport(callReportGotPublishVoiceReportBuilder)
.addVideoVoiceReport(callReportRoamedFromVoiceReportBuilder)
.addVideoVoiceReport(callReportRoamedToVoiceReportBuilder)
.addVideoVoiceReport(callStopVoiceReportBuilder).setNodeID("1").build();
realtimeEventPublisher.publishSipCallEvents(1, 2L, 0L, multipleVoiceReportsInOneReport.getVideoVoiceReportList());
Mockito.verify(cloudEventDispatcherInterface, Mockito.times(1)).publishEventsBulk(Mockito.anyList());
}
private OpensyncStats.CallStart getDefaultCallStart() {
OpensyncStats.CallStart.Builder callStartBuilder = OpensyncStats.CallStart.newBuilder();
callStartBuilder.setBand(RadioBandType.BAND5G);
callStartBuilder.setChannel(40);
callStartBuilder.addCodecs("110 opus/48000/2");
callStartBuilder.addCodecs("102 iLBC/8000");
callStartBuilder.setClientMac(ByteString.copyFrom("C0:9A:D0:76:A9:69".getBytes()));
callStartBuilder.setDeviceInfo("Test Device");
callStartBuilder.setProviderDomain("skype");
callStartBuilder.setSessionId(123L);
callStartBuilder.setWifiSessionId(1234L);
return callStartBuilder.build();
}
private OpensyncStats.CallStop getDefaultCallStop() {
OpensyncStats.CallStop.Builder callStopBuilder = OpensyncStats.CallStop.newBuilder();
callStopBuilder.setBand(RadioBandType.BAND5G);
callStopBuilder.setChannel(40);
callStopBuilder.addCodecs("110 opus/48000/2");
callStopBuilder.addCodecs("102 iLBC/8000");
callStopBuilder.setClientMac(ByteString.copyFrom("C0:9A:D0:76:A9:69".getBytes()));
callStopBuilder.setCallDuration(1230);
callStopBuilder.setProviderDomain("skype");
callStopBuilder.setSessionId(123L);
callStopBuilder.setWifiSessionId(1234L);
callStopBuilder.setReason(OpensyncStats.CallStop.CallStopReason.BYE_OK);
callStopBuilder.addStats(getRtpFlowStats(121, 1380, 1400, 3000, 119, 3, 205, 350));
return callStopBuilder.build();
}
private OpensyncStats.RtpFlowStats getRtpFlowStats(int codec, int jitter, int latency, int totalPackets,
int totalPacketsLost, int mos, int firstRtpSeq, int lastRtpSeq) {
OpensyncStats.RtpFlowStats.Builder rtpFlowStatsBuilder = OpensyncStats.RtpFlowStats.newBuilder();
rtpFlowStatsBuilder.setCodec(codec);
rtpFlowStatsBuilder.setBlockCodecs(ByteString.copyFrom(new byte[] { (byte) 0xe6, 0x1 }));
rtpFlowStatsBuilder.setDirection(OpensyncStats.RtpFlowStats.RtpFlowDirection.RTP_DOWNSTREAM);
rtpFlowStatsBuilder.setRtpFlowType(OpensyncStats.RtpFlowStats.RtpFlowType.RTP_VOICE);
rtpFlowStatsBuilder.setJitter(jitter);
rtpFlowStatsBuilder.setLatency(latency);
rtpFlowStatsBuilder.setTotalPacketsSent(totalPackets);
rtpFlowStatsBuilder.setTotalPacketsLost(totalPacketsLost);
rtpFlowStatsBuilder.setMosx100(mos);
rtpFlowStatsBuilder.setRtpSeqFirst(firstRtpSeq);
rtpFlowStatsBuilder.setRtpSeqLast(lastRtpSeq);
return rtpFlowStatsBuilder.build();
}
private OpensyncStats.CallReport getDefaultCallReport(OpensyncStats.CallReport.CallReportReason reason, int codec,
int jitter, int latency, int totalPackets, int totalPacketsLost, int mos, int firstRtpSeq, int lastRtpSeq) {
OpensyncStats.CallReport.Builder callReportBuilder = OpensyncStats.CallReport.newBuilder();
callReportBuilder.setBand(RadioBandType.BAND5G);
callReportBuilder.setChannel(40);
callReportBuilder.addCodecs("110 opus/48000/2");
callReportBuilder.addCodecs("102 iLBC/8000");
callReportBuilder.setClientMac(ByteString.copyFrom("C0:9A:D0:76:A9:69".getBytes()));
callReportBuilder.setProviderDomain("skype");
callReportBuilder.setSessionId(123L);
callReportBuilder.setWifiSessionId(1234L);
callReportBuilder.setReason(reason);
callReportBuilder.addStats(
getRtpFlowStats(codec, jitter, latency, totalPackets, totalPacketsLost, mos, firstRtpSeq, lastRtpSeq));
return callReportBuilder.build();
}
}

View File

@@ -1,9 +1,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent> <parent>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId> <artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath> <relativePath>../../wlan-cloud-root</relativePath>
</parent> </parent>
<artifactId>opensync-ext-interface</artifactId> <artifactId>opensync-ext-interface</artifactId>
@@ -13,35 +15,43 @@
<dependency> <dependency>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-models</artifactId> <artifactId>base-models</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-opensync-protobuf</artifactId> <artifactId>tip-wlan-opensync-protobuf</artifactId>
<version>1.0.0-SNAPSHOT</version> <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>
<dependency> <dependency>
<artifactId>equipment-models</artifactId> <artifactId>equipment-models</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>profile-models</artifactId> <artifactId>profile-models</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>location-models</artifactId> <artifactId>location-models</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>routing-models</artifactId> <artifactId>routing-models</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <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>
<dependency> <dependency>
<groupId>com.vmware.ovsdb</groupId> <groupId>com.vmware.ovsdb</groupId>

View File

@@ -51,6 +51,4 @@ public interface OpensyncExternalIntegrationInterface {
void dhcpLeasedIpDbTableUpdate(List<Map<String,String>> dhcpAttributes, String apId, RowUpdateOperation rowUpdateOperation); void dhcpLeasedIpDbTableUpdate(List<Map<String,String>> dhcpAttributes, String apId, RowUpdateOperation rowUpdateOperation);
void commandStateDbTableUpdate(List<Map<String,String>> commandStateAttributes, String apId, RowUpdateOperation rowUpdateOperation); void commandStateDbTableUpdate(List<Map<String,String>> commandStateAttributes, String apId, RowUpdateOperation rowUpdateOperation);
void clearEquipmentStatus(String apId);
} }

View File

@@ -21,7 +21,8 @@ public interface OvsdbClientInterface {
void processClientBlocklistChange(String apId, List<MacAddress> blockList); void processClientBlocklistChange(String apId, List<MacAddress> blockList);
String processFirmwareDownload(String apId, String firmwareUrl, String firmwareVersion, String username); String processFirmwareDownload(String apId, String firmwareUrl, String firmwareVersion, String username,
String validationCode);
String closeSession(String apId); String closeSession(String apId);
@@ -31,6 +32,6 @@ public interface OvsdbClientInterface {
String processFactoryResetRequest(String apId); String processFactoryResetRequest(String apId);
String processNewChannelsRequest(String apId, Map<RadioType,Integer> backupChannelMap, Map<RadioType,Integer> primaryChannelMap); String processNewChannelsRequest(String apId, Map<RadioType,Integer> channelMap);
} }

View File

@@ -46,6 +46,13 @@ public class ConnectNodeInfo implements Cloneable {
} }
} }
@Override
public int hashCode() {
return Objects.hash(country, firmwareVersion, ifName, ifType, ipV4Address, lanIfName, lanIfType, lanIpV4Address,
lanMacAddress, macAddress, managerAddr, model, mqttSettings, platformVersion, redirectorAddr, revision,
serialNumber, skuNumber, versionMatrix, wifiRadioStates);
}
@Override @Override
public boolean equals(Object obj) { public boolean equals(Object obj) {
if (this == obj) { if (this == obj) {
@@ -69,13 +76,6 @@ public class ConnectNodeInfo implements Cloneable {
&& Objects.equals(wifiRadioStates, other.wifiRadioStates); && Objects.equals(wifiRadioStates, other.wifiRadioStates);
} }
@Override
public int hashCode() {
return Objects.hash(country, firmwareVersion, ifName, ifType, ipV4Address, lanIfName, lanIfType, lanIpV4Address,
lanMacAddress, macAddress, managerAddr, model, mqttSettings, platformVersion, redirectorAddr, revision,
serialNumber, skuNumber, versionMatrix, wifiRadioStates);
}
@Override @Override
public String toString() { public String toString() {
return "ConnectNodeInfo [mqttSettings=" + mqttSettings + ", versionMatrix=" + versionMatrix return "ConnectNodeInfo [mqttSettings=" + mqttSettings + ", versionMatrix=" + versionMatrix
@@ -87,4 +87,5 @@ public class ConnectNodeInfo implements Cloneable {
+ ", lanIfName=" + lanIfName + ", lanIfType=" + lanIfType + ", lanMacAddress=" + lanMacAddress + "]"; + ", lanIfName=" + lanIfName + ", lanIfType=" + lanIfType + ", lanMacAddress=" + lanMacAddress + "]";
} }
} }

View File

@@ -1,30 +0,0 @@
package com.telecominfraproject.wlan.opensync.external.integration.models;
import java.util.Set;
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
import com.vmware.ovsdb.protocol.operation.notation.Row;
public abstract class OpensyncAPBase extends BaseJsonModel {
private static final long serialVersionUID = -68509242520818671L;
public static <T> T getSingleValueFromSet(Row row, String columnName) {
Set<T> set = row != null ? row.getSetColumn(columnName) : null;
T ret = (set != null) && !set.isEmpty() ? set.iterator().next() : null;
return ret;
}
public OpensyncAPBase() {
}
public <T> Set<T> getSet(Row row, String columnName) {
Set<T> set = row != null ? row.getSetColumn(columnName) : null;
return set;
}
}

View File

@@ -3,13 +3,13 @@ package com.telecominfraproject.wlan.opensync.external.integration.models;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.Set; import java.util.Set;
import com.telecominfraproject.wlan.core.model.entity.CountryCode; import com.telecominfraproject.wlan.core.model.entity.CountryCode;
import com.telecominfraproject.wlan.core.model.equipment.EquipmentType; import com.telecominfraproject.wlan.core.model.equipment.EquipmentType;
import com.telecominfraproject.wlan.core.model.equipment.MacAddress; import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
import com.telecominfraproject.wlan.core.model.equipment.RadioType; import com.telecominfraproject.wlan.core.model.equipment.RadioType;
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration; import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration;
import com.telecominfraproject.wlan.equipment.models.Equipment; import com.telecominfraproject.wlan.equipment.models.Equipment;
import com.telecominfraproject.wlan.equipment.models.StateSetting; import com.telecominfraproject.wlan.equipment.models.StateSetting;
@@ -23,14 +23,10 @@ import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration.Secure
import com.telecominfraproject.wlan.routing.models.EquipmentGatewayRecord; import com.telecominfraproject.wlan.routing.models.EquipmentGatewayRecord;
import com.telecominfraproject.wlan.routing.models.EquipmentRoutingRecord; import com.telecominfraproject.wlan.routing.models.EquipmentRoutingRecord;
public class OpensyncAPConfig extends OpensyncAPBase { public class OpensyncAPConfig extends BaseJsonModel {
private static final long serialVersionUID = 3917975477206236668L; private static final long serialVersionUID = 3917975477206236668L;
public static long getSerialversionuid() {
return serialVersionUID;
}
private Equipment customerEquipment; private Equipment customerEquipment;
private OpensyncAPHotspot20Config hotspotConfig; private OpensyncAPHotspot20Config hotspotConfig;
private Profile apProfile; private Profile apProfile;
@@ -43,205 +39,8 @@ public class OpensyncAPConfig extends OpensyncAPBase {
private EquipmentGatewayRecord equipmentGateway; private EquipmentGatewayRecord equipmentGateway;
private List<Profile> captiveProfiles; private List<Profile> captiveProfiles;
private List<Profile> bonjourGatewayProfiles; private List<Profile> bonjourGatewayProfiles;
private List<MacAddress> blockedClients; private List<MacAddress> blockedClients;
@Override
public OpensyncAPConfig clone() {
OpensyncAPConfig ret = (OpensyncAPConfig) super.clone();
if (customerEquipment != null) {
ret.customerEquipment = customerEquipment.clone();
}
if (hotspotConfig != null) {
ret.hotspotConfig = hotspotConfig.clone();
}
if (equipmentLocation != null) {
ret.equipmentLocation = equipmentLocation.clone();
}
if (ssidProfile != null) {
List<Profile> ssidList = new ArrayList<Profile>();
for (Profile profile : ssidProfile) {
ssidList.add(profile.clone());
}
ret.ssidProfile = ssidList;
}
if (metricsProfile != null) {
List<Profile> metricsList = new ArrayList<Profile>();
for (Profile profile : metricsProfile) {
metricsList.add(profile.clone());
}
ret.metricsProfile = metricsList;
}
if (bonjourGatewayProfiles != null) {
List<Profile> bonjourGatewayProfilesList = new ArrayList<Profile>();
for (Profile profile : bonjourGatewayProfiles) {
bonjourGatewayProfilesList.add(profile.clone());
}
ret.bonjourGatewayProfiles = bonjourGatewayProfilesList;
}
if (apProfile != null) {
ret.apProfile = apProfile.clone();
}
if (rfProfile != null) {
ret.rfProfile = rfProfile.clone();
}
if (equipmentRouting != null) {
ret.equipmentRouting = equipmentRouting.clone();
}
if (equipmentGateway != null) {
ret.equipmentGateway = equipmentGateway.clone();
}
if (radiusProfiles != null) {
ret.radiusProfiles = new ArrayList<>();
for (Profile radiusProfile : this.radiusProfiles) {
ret.radiusProfiles.add(radiusProfile);
}
}
if (captiveProfiles != null) {
ret.captiveProfiles = new ArrayList<>();
for (Profile cpConfig : this.captiveProfiles) {
ret.captiveProfiles.add(cpConfig);
}
}
if (blockedClients != null) {
ret.blockedClients = new ArrayList<MacAddress>();
for (MacAddress blockedClient : this.blockedClients) {
ret.blockedClients.add(blockedClient);
}
}
return ret;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
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);
}
public Profile getApProfile() {
return apProfile;
}
public List<MacAddress> getBlockedClients() {
return blockedClients;
}
public List<Profile> getBonjourGatewayProfiles() {
return bonjourGatewayProfiles;
}
public List<Profile> getCaptiveProfiles() {
return captiveProfiles;
}
public String getCountryCode() {
return Location.getCountryCode(this.equipmentLocation).toString();
}
public Equipment getCustomerEquipment() {
return customerEquipment;
}
public EquipmentGatewayRecord getEquipmentGateway() {
return equipmentGateway;
}
public Location getEquipmentLocation() {
return equipmentLocation;
}
public EquipmentRoutingRecord getEquipmentRouting() {
return equipmentRouting;
}
public OpensyncAPHotspot20Config getHotspotConfig() {
return hotspotConfig;
}
public List<Profile> getMetricsProfiles() {
return metricsProfile;
}
public List<Profile> getRadiusProfiles() {
return radiusProfiles;
}
public Profile getRfProfile() {
return rfProfile;
}
public List<Profile> getSsidProfile() {
return ssidProfile;
}
@Override
public int hashCode() {
return Objects.hash(apProfile, blockedClients, bonjourGatewayProfiles, captiveProfiles, customerEquipment,
equipmentGateway, equipmentLocation, equipmentRouting, hotspotConfig, metricsProfile, radiusProfiles,
rfProfile, ssidProfile);
}
public void setApProfile(Profile apProfile) {
this.apProfile = apProfile;
}
public void setBlockedClients(List<MacAddress> blockedClients) {
this.blockedClients = blockedClients;
}
public void setBonjourGatewayProfiles(List<Profile> bonjourGatewayProfiles) {
this.bonjourGatewayProfiles = bonjourGatewayProfiles;
}
public void setCaptiveProfiles(List<Profile> captiveProfiles) {
this.captiveProfiles = captiveProfiles;
}
public void setCustomerEquipment(Equipment customerEquipment) {
this.customerEquipment = customerEquipment;
}
public void setEquipmentGateway(EquipmentGatewayRecord equipmentGateway) {
this.equipmentGateway = equipmentGateway;
}
public void setEquipmentLocation(Location equipmentLocation) {
this.equipmentLocation = equipmentLocation;
}
public void setEquipmentRouting(EquipmentRoutingRecord equipmentRouting) {
this.equipmentRouting = equipmentRouting;
}
public void setHotspotConfig(OpensyncAPHotspot20Config hotspotConfig) {
this.hotspotConfig = hotspotConfig;
}
public void setMetricsProfiles(List<Profile> metricsProfileList) {
metricsProfile = metricsProfileList;
}
// Handle Legacy Config Support // Handle Legacy Config Support
public void setRadioConfig(OpensyncAPRadioConfig radioConfig) { public void setRadioConfig(OpensyncAPRadioConfig radioConfig) {
@@ -261,21 +60,13 @@ public class OpensyncAPConfig extends OpensyncAPBase {
equipmentLocation = new Location(); equipmentLocation = new Location();
equipmentLocation.setId(1); equipmentLocation.setId(1);
equipmentLocation.setDetails(LocationDetails.createWithDefaults()); equipmentLocation.setDetails(LocationDetails.createWithDefaults());
equipmentLocation.getDetails() ((LocationDetails) equipmentLocation.getDetails())
.setCountryCode(CountryCode.getByName(radioConfig.getCountry().toLowerCase())); .setCountryCode(CountryCode.getByName(radioConfig.getCountry().toLowerCase()));
customerEquipment.setLocationId(equipmentLocation.getId()); customerEquipment.setLocationId(equipmentLocation.getId());
} }
} }
public void setRadiusProfiles(List<Profile> radiusProfiles) {
this.radiusProfiles = radiusProfiles;
}
public void setRfProfile(Profile rfProfile) {
this.rfProfile = rfProfile;
}
// Handle Legacy Config Support // Handle Legacy Config Support
public void setSsidConfigs(List<OpensyncAPSsidConfig> ssidConfigs) { public void setSsidConfigs(List<OpensyncAPSsidConfig> ssidConfigs) {
@@ -297,18 +88,16 @@ public class OpensyncAPConfig extends OpensyncAPBase {
appliedRadios.add(ssidConfig.getRadioType()); appliedRadios.add(ssidConfig.getRadioType());
cfg.setAppliedRadios(appliedRadios); cfg.setAppliedRadios(appliedRadios);
cfg.setSsid(ssidConfig.getSsid()); cfg.setSsid(ssidConfig.getSsid());
if (ssidConfig.getEncryption().equals("WPA-PSK") && ssidConfig.getMode().equals("1")) { if (ssidConfig.getEncryption().equals("WPA-PSK") && ssidConfig.getMode().equals("1"))
cfg.setSecureMode(SecureMode.wpaPSK); cfg.setSecureMode(SecureMode.wpaPSK);
} else { else
cfg.setSecureMode(SecureMode.wpa2PSK); cfg.setSecureMode(SecureMode.wpa2PSK);
}
cfg.setBroadcastSsid(ssidConfig.isBroadcast() ? StateSetting.enabled : StateSetting.disabled); cfg.setBroadcastSsid(ssidConfig.isBroadcast() ? StateSetting.enabled : StateSetting.disabled);
profile.setDetails(cfg); profile.setDetails(cfg);
profile.setId(ssidProfileId); profile.setId(ssidProfileId);
if (this.ssidProfile == null) { if (this.ssidProfile == null)
this.ssidProfile = new ArrayList<Profile>(); this.ssidProfile = new ArrayList<Profile>();
}
this.ssidProfile.add(profile); this.ssidProfile.add(profile);
apProfile.getChildProfileIds().add(ssidProfileId); apProfile.getChildProfileIds().add(ssidProfileId);
ssidProfileId++; ssidProfileId++;
@@ -321,8 +110,176 @@ public class OpensyncAPConfig extends OpensyncAPBase {
} }
public EquipmentGatewayRecord getEquipmentGateway() {
return equipmentGateway;
}
public void setEquipmentGateway(EquipmentGatewayRecord equipmentGateway) {
this.equipmentGateway = equipmentGateway;
}
public EquipmentRoutingRecord getEquipmentRouting() {
return equipmentRouting;
}
public void setEquipmentRouting(EquipmentRoutingRecord equipmentRouting) {
this.equipmentRouting = equipmentRouting;
}
public Equipment getCustomerEquipment() {
return customerEquipment;
}
public void setCustomerEquipment(Equipment customerEquipment) {
this.customerEquipment = customerEquipment;
}
public OpensyncAPHotspot20Config getHotspotConfig() {
return hotspotConfig;
}
public void setHotspotConfig(OpensyncAPHotspot20Config hotspotConfig) {
this.hotspotConfig = hotspotConfig;
}
public Profile getApProfile() {
return apProfile;
}
public void setApProfile(Profile apProfile) {
this.apProfile = apProfile;
}
public Profile getRfProfile() {
return rfProfile;
}
public void setRfProfile(Profile rfProfile) {
this.rfProfile = rfProfile;
}
public List<Profile> getSsidProfile() {
return ssidProfile;
}
public void setSsidProfile(List<Profile> ssidProfile) { public void setSsidProfile(List<Profile> ssidProfile) {
this.ssidProfile = ssidProfile; this.ssidProfile = ssidProfile;
} }
public List<Profile> getBonjourGatewayProfiles() {
return bonjourGatewayProfiles;
}
public void setBonjourGatewayProfiles(List<Profile> bonjourGatewayProfiles) {
this.bonjourGatewayProfiles = bonjourGatewayProfiles;
}
public Location getEquipmentLocation() {
return equipmentLocation;
}
public void setEquipmentLocation(Location equipmentLocation) {
this.equipmentLocation = equipmentLocation;
}
public String getCountryCode() {
return Location.getCountryCode(this.equipmentLocation).toString();
}
public static long getSerialversionuid() {
return serialVersionUID;
}
@Override
public OpensyncAPConfig clone() {
OpensyncAPConfig ret = (OpensyncAPConfig) super.clone();
if (customerEquipment != null)
ret.customerEquipment = customerEquipment.clone();
if (hotspotConfig != null)
ret.hotspotConfig = hotspotConfig.clone();
if (equipmentLocation != null)
ret.equipmentLocation = equipmentLocation.clone();
if (ssidProfile != null) {
List<Profile> ssidList = new ArrayList<Profile>();
for (Profile profile : ssidProfile) {
ssidList.add(profile.clone());
}
ret.ssidProfile = ssidList;
}
if (metricsProfile != null) {
List<Profile> metricsList = new ArrayList<Profile>();
for (Profile profile : metricsProfile) {
metricsList.add(profile.clone());
}
ret.metricsProfile = metricsList;
}
if (bonjourGatewayProfiles != null) {
List<Profile> bonjourGatewayProfilesList = new ArrayList<Profile>();
for (Profile profile : bonjourGatewayProfiles) {
bonjourGatewayProfilesList.add(profile.clone());
}
ret.bonjourGatewayProfiles = bonjourGatewayProfilesList;
}
if (apProfile != null)
ret.apProfile = apProfile.clone();
if (rfProfile != null)
ret.rfProfile = rfProfile.clone();
if (equipmentRouting != null)
ret.equipmentRouting = equipmentRouting.clone();
if (equipmentGateway != null)
ret.equipmentGateway = equipmentGateway.clone();
if (radiusProfiles != null) {
ret.radiusProfiles = new ArrayList<>();
for (Profile radiusProfile : this.radiusProfiles) {
ret.radiusProfiles.add(radiusProfile);
}
}
if (captiveProfiles != null) {
ret.captiveProfiles = new ArrayList<>();
for (Profile cpConfig : this.captiveProfiles) {
ret.captiveProfiles.add(cpConfig);
}
}
if (blockedClients != null) {
ret.blockedClients = new ArrayList<MacAddress>();
for (MacAddress blockedClient : this.blockedClients) {
ret.blockedClients.add(blockedClient);
}
}
return ret;
}
public List<Profile> getRadiusProfiles() {
return radiusProfiles;
}
public void setRadiusProfiles(List<Profile> radiusProfiles) {
this.radiusProfiles = radiusProfiles;
}
public List<Profile> getCaptiveProfiles() {
return captiveProfiles;
}
public void setCaptiveProfiles(List<Profile> captiveProfiles) {
this.captiveProfiles = captiveProfiles;
}
public List<MacAddress> getBlockedClients() {
return blockedClients;
}
public void setBlockedClients(List<MacAddress> blockedClients) {
this.blockedClients = blockedClients;
}
public void setMetricsProfiles(List<Profile> metricsProfileList) {
metricsProfile = metricsProfileList;
}
public List<Profile> getMetricsProfiles() {
return metricsProfile;
}
} }

View File

@@ -4,9 +4,10 @@ import java.util.HashSet;
import java.util.Objects; import java.util.Objects;
import java.util.Set; import java.util.Set;
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
import com.telecominfraproject.wlan.profile.models.Profile; import com.telecominfraproject.wlan.profile.models.Profile;
public class OpensyncAPHotspot20Config extends OpensyncAPBase { public class OpensyncAPHotspot20Config extends BaseJsonModel {
private static final long serialVersionUID = -8495473152523219578L; private static final long serialVersionUID = -8495473152523219578L;
@@ -19,6 +20,40 @@ public class OpensyncAPHotspot20Config extends OpensyncAPBase {
private Set<Profile> hotspot20VenueSet; private Set<Profile> hotspot20VenueSet;
private Set<Profile> hotspot20ProviderSet; private Set<Profile> hotspot20ProviderSet;
public Set<Profile> getHotspot20ProfileSet() {
return hotspot20ProfileSet;
}
public void setHotspot20ProfileSet(Set<Profile> hotspot20ProfileSet) {
this.hotspot20ProfileSet = hotspot20ProfileSet;
}
public Set<Profile> getHotspot20OperatorSet() {
return hotspot20OperatorSet;
}
public void setHotspot20OperatorSet(Set<Profile> hotspot20OperatorSet) {
this.hotspot20OperatorSet = hotspot20OperatorSet;
}
public Set<Profile> getHotspot20VenueSet() {
return hotspot20VenueSet;
}
public void setHotspot20VenueSet(Set<Profile> hotspot20VenueSet) {
this.hotspot20VenueSet = hotspot20VenueSet;
}
public Set<Profile> getHotspot20ProviderSet() {
return hotspot20ProviderSet;
}
public void setHotspot20ProviderSet(Set<Profile> hotspot20ProviderSet) {
this.hotspot20ProviderSet = hotspot20ProviderSet;
}
@Override @Override
public OpensyncAPHotspot20Config clone() { public OpensyncAPHotspot20Config clone() {
OpensyncAPHotspot20Config ret = (OpensyncAPHotspot20Config) super.clone(); OpensyncAPHotspot20Config ret = (OpensyncAPHotspot20Config) super.clone();
@@ -42,15 +77,17 @@ public class OpensyncAPHotspot20Config extends OpensyncAPBase {
return ret; return ret;
} }
@Override
public int hashCode() {
return Objects.hash(hotspot20OperatorSet, hotspot20ProfileSet, hotspot20ProviderSet, hotspot20VenueSet);
}
@Override @Override
public boolean equals(Object obj) { public boolean equals(Object obj) {
if (this == obj) { if (this == obj) {
return true; return true;
} }
if (obj == null) { if (!(obj instanceof OpensyncAPHotspot20Config)) {
return false;
}
if (getClass() != obj.getClass()) {
return false; return false;
} }
OpensyncAPHotspot20Config other = (OpensyncAPHotspot20Config) obj; OpensyncAPHotspot20Config other = (OpensyncAPHotspot20Config) obj;
@@ -60,41 +97,4 @@ public class OpensyncAPHotspot20Config extends OpensyncAPBase {
&& Objects.equals(hotspot20VenueSet, other.hotspot20VenueSet); && Objects.equals(hotspot20VenueSet, other.hotspot20VenueSet);
} }
public Set<Profile> getHotspot20OperatorSet() {
return hotspot20OperatorSet;
}
public Set<Profile> getHotspot20ProfileSet() {
return hotspot20ProfileSet;
}
public Set<Profile> getHotspot20ProviderSet() {
return hotspot20ProviderSet;
}
public Set<Profile> getHotspot20VenueSet() {
return hotspot20VenueSet;
}
@Override
public int hashCode() {
return Objects.hash(hotspot20OperatorSet, hotspot20ProfileSet, hotspot20ProviderSet, hotspot20VenueSet);
}
public void setHotspot20OperatorSet(Set<Profile> hotspot20OperatorSet) {
this.hotspot20OperatorSet = hotspot20OperatorSet;
}
public void setHotspot20ProfileSet(Set<Profile> hotspot20ProfileSet) {
this.hotspot20ProfileSet = hotspot20ProfileSet;
}
public void setHotspot20ProviderSet(Set<Profile> hotspot20ProviderSet) {
this.hotspot20ProviderSet = hotspot20ProviderSet;
}
public void setHotspot20VenueSet(Set<Profile> hotspot20VenueSet) {
this.hotspot20VenueSet = hotspot20VenueSet;
}
} }

View File

@@ -2,479 +2,210 @@ package com.telecominfraproject.wlan.opensync.external.integration.models;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Objects;
import com.vmware.ovsdb.protocol.operation.notation.Row; import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
import com.vmware.ovsdb.protocol.operation.notation.Uuid; import com.vmware.ovsdb.protocol.operation.notation.Uuid;
import com.vmware.ovsdb.protocol.operation.notation.Value;
public class OpensyncAPInetState extends OpensyncAPBase { public class OpensyncAPInetState extends BaseJsonModel {
private static final long serialVersionUID = 1707053648715030173L;
public static long getSerialversionuid() { private static final long serialVersionUID = 1707053648715030173L;
return serialVersionUID;
}
public String ifName; public String ifName;
public Map<String, String> dhcpd; public String dhcpd;
public String unpnpMode; public String unpnpMode;
public String ifType; public String ifType;
public String softwdsMacAddr; public String softwdsMacAddr;
public boolean enabled; public boolean enabled;
public boolean sofwdsWrap; public boolean sofwdsWrap;
public int vlanId; public int vlanId;
public String netmask; public String netmask;
public boolean nat; public boolean nat;
public String greRemoteInetAddr; public String greRemoteInetAddr;
public String ifUuid; public String ifUuid;
public String inetAddr; public String inetAddr;
public String hwAddr; public String hwAddr;
public int mtw; public int mtw;
public boolean network; public boolean network;
public Map<String, String> dns; public Map<String, String> dns;
public String parentIfName; public String parentIfName;
public String greIfName; public String greIfName;
public String broadcast; public String broadcast;
public Map<String, String> dhcpc; public Map<String, String> dhcpc;
public String gateway; public String gateway;
public String ipAssignScheme; public String ipAssignScheme;
public String inetConfig; public String inetConfig;
public Uuid _uuid; public Uuid _uuid;
public Uuid version; public Uuid version;
public String greLocalInetAddr;
public String greRemoteMacAddr;
public OpensyncAPInetState() {
public OpensyncAPInetState() {
super();
dns = new HashMap<>(); dns = new HashMap<>();
dhcpc = new HashMap<>(); dhcpc = new HashMap<>();
} }
public OpensyncAPInetState(Row row) {
dns = new HashMap<>();
dhcpc = new HashMap<>();
Map<String, Value> map = row.getColumns();
if ((map.get("NAT") != null)
&& map.get("NAT").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setNat(row.getBooleanColumn("NAT"));
}
if ((map.get("enabled") != null)
&& map.get("enabled").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setEnabled(row.getBooleanColumn("enabled"));
}
if ((map.get("if_name") != null)
&& map.get("if_name").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setIfName(row.getStringColumn("if_name"));
}
if ((map.get("if_type") != null)
&& map.get("if_type").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setIfType(row.getStringColumn("if_type"));
}
if (map.containsKey("dhcpc")) {
this.setDhcpc(row.getMapColumn("dhcpc"));
}
if (map.containsKey("dhcpd")) {
this.setDhcpd(row.getMapColumn("dhcpd"));
}
if (map.containsKey("dns")) {
this.setDns(row.getMapColumn("dns"));
}
if (map.get("inet_addr") != null
&& map.get("inet_addr").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setInetAddr(row.getStringColumn("inet_addr"));
}
if (map.containsKey("netmask")) {
this.setNetmask(getSingleValueFromSet(row, "netmask"));
}
if (map.get("vlan_id") != null
&& map.get("vlan_id").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setVlanId(row.getIntegerColumn("vlan_id").intValue());
}
if (map.get("gre_ifname") != null
&& map.get("gre_ifname").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setGreIfName(row.getStringColumn("gre_ifname"));
}
if (map.get("gre_remote_inet_addr") != null && map.get("gre_remote_inet_addr").getClass()
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setGreRemoteInetAddr(row.getStringColumn("gre_remote_inet_addr"));
}
if (map.get("gre_local_inet_addr") != null && map.get("gre_local_inet_addr").getClass()
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setGreLocalInetAddr(row.getStringColumn("gre_local_inet_addr"));
}
if (map.get("gre_remote_mac_addr") != null && map.get("gre_remote_mac_addr").getClass()
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setGreRemoteMacAddr(row.getStringColumn("gre_remote_mac_addr"));
}
if ((map.get("ip_assign_scheme") != null) && map.get("ip_assign_scheme").getClass()
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setIpAssignScheme(row.getStringColumn("ip_assign_scheme"));
}
if ((map.get("network") != null)
&& map.get("network").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setNetwork(row.getBooleanColumn("network"));
}
if ((map.get("hwaddr") != null)
&& map.get("hwaddr").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setHwAddr(row.getStringColumn("hwaddr"));
}
if ((map.get("_version") != null)
&& map.get("_version").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setVersion(row.getUuidColumn("_version"));
}
if ((map.get("_uuid") != null)
&& map.get("_uuid").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setVersion(row.getUuidColumn("_uuid"));
}
}
@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 (!Objects.equals(_uuid, other._uuid)) {
return false;
}
if (!Objects.equals(broadcast, other.broadcast)) {
return false;
}
if (!Objects.equals(dhcpc, other.dhcpc)) {
return false;
}
if (!Objects.equals(dhcpd, other.dhcpd)) {
return false;
}
if (!Objects.equals(dns, other.dns)) {
return false;
}
if (enabled != other.enabled) {
return false;
}
if (!Objects.equals(gateway, other.gateway)) {
return false;
}
if (!Objects.equals(greIfName, other.greIfName)) {
return false;
}
if (!Objects.equals(greLocalInetAddr, other.greLocalInetAddr)) {
return false;
}
if (!Objects.equals(greRemoteInetAddr, other.greRemoteInetAddr)) {
return false;
}
if (!Objects.equals(hwAddr, other.hwAddr)) {
return false;
}
if (!Objects.equals(ifName, other.ifName)) {
return false;
}
if (!Objects.equals(ifType, other.ifType)) {
return false;
}
if (!Objects.equals(ifUuid, other.ifUuid)) {
return false;
}
if (!Objects.equals(inetAddr, other.inetAddr)) {
return false;
}
if (!Objects.equals(inetConfig, other.inetConfig)) {
return false;
}
if (!Objects.equals(ipAssignScheme, other.ipAssignScheme)) {
return false;
}
if (mtw != other.mtw) {
return false;
}
if (nat != other.nat) {
return false;
}
if (!Objects.equals(netmask, other.netmask)) {
return false;
}
if (network != other.network) {
return false;
}
if (!Objects.equals(parentIfName, other.parentIfName)) {
return false;
}
if (!Objects.equals(greRemoteMacAddr, other.greRemoteMacAddr)) {
return false;
}
if (!Objects.equals(softwdsMacAddr, other.softwdsMacAddr)) {
return false;
}
if (sofwdsWrap != other.sofwdsWrap) {
return false;
}
if (!Objects.equals(unpnpMode, other.unpnpMode)) {
return false;
}
if (!Objects.equals(version, other.version)) {
return false;
}
if (vlanId != other.vlanId) {
return false;
}
return true;
}
public Uuid get_uuid() {
return _uuid;
}
public String getBroadcast() {
return broadcast;
}
public Map<String, String> getDhcpc() {
return dhcpc;
}
public Map<String, String> getDhcpd() {
return dhcpd;
}
public Map<String, String> getDns() {
return dns;
}
public String getGateway() {
return gateway;
}
public String getGreIfName() {
return greIfName;
}
public String getGreLocalInetAddr() {
return greLocalInetAddr;
}
public String getGreRemoteInetAddr() {
return greRemoteInetAddr;
}
public String getGreRemoteMacAddr() {
return this.greRemoteMacAddr;
}
public String getHwAddr() {
return hwAddr;
}
public String getIfName() { public String getIfName() {
return ifName; return ifName;
} }
public void setIfName(String ifName) {
this.ifName = ifName;
}
public String getDhcpd() {
return dhcpd;
}
public void setDhcpd(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 String getIfType() {
return ifType;
}
public String getIfUuid() {
return ifUuid;
}
public String getInetAddr() {
return inetAddr;
}
public String getInetConfig() {
return inetConfig;
}
public String getIpAssignScheme() {
return ipAssignScheme;
}
public int getMtw() {
return mtw;
}
public String getNetmask() {
return netmask;
}
public String getParentIfName() {
return parentIfName;
}
public String getSoftwdsMacAddr() {
return softwdsMacAddr;
}
public String getUnpnpMode() {
return unpnpMode;
}
public Uuid getVersion() {
return version;
}
public int getVlanId() {
return vlanId;
}
@Override
public int hashCode() {
return Objects.hash(_uuid, broadcast, dhcpc, dhcpd, dns, enabled, gateway, greIfName, greLocalInetAddr, greRemoteInetAddr,
hwAddr, ifName, ifType, ifUuid, inetAddr, inetConfig, ipAssignScheme, mtw, nat, netmask, network,
parentIfName, greRemoteMacAddr, softwdsMacAddr, sofwdsWrap, unpnpMode, version, vlanId);
}
public boolean isEnabled() {
return enabled;
}
public boolean isNat() {
return nat;
}
public boolean isNetwork() {
return network;
}
public boolean isSofwdsWrap() {
return sofwdsWrap;
}
public void set_uuid(Uuid _uuid) {
this._uuid = _uuid;
}
public void setBroadcast(String broadcast) {
this.broadcast = broadcast;
}
public void setDhcpc(Map<String, String> dhcpc) {
this.dhcpc = dhcpc;
}
public void setDhcpd(Map<String, String> dhcpd) {
this.dhcpd = dhcpd;
}
public void setDns(Map<String, String> dns) {
this.dns = dns;
}
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
public void setGateway(String gateway) {
this.gateway = gateway;
}
public void setGreIfName(String greIfName) {
this.greIfName = greIfName;
}
public void setGreLocalInetAddr(String greLocalInetAddr) {
this.greLocalInetAddr = greLocalInetAddr;
}
public void setGreRemoteInetAddr(String greRemoteInetAddr) {
this.greRemoteInetAddr = greRemoteInetAddr;
}
public void setGreRemoteMacAddr(String greRemoteMacAddr) {
this.greRemoteMacAddr = greRemoteMacAddr;
}
public void setHwAddr(String hwAddr) {
this.hwAddr = hwAddr;
}
public void setIfName(String ifName) {
this.ifName = ifName;
}
public void setIfType(String ifType) {
this.ifType = ifType;
}
public void setIfUuid(String ifUuid) {
this.ifUuid = ifUuid;
}
public void setInetAddr(String inetAddr) {
this.inetAddr = inetAddr;
}
public void setInetConfig(String inetConfig) {
this.inetConfig = inetConfig;
}
public void setIpAssignScheme(String ipAssignScheme) {
this.ipAssignScheme = ipAssignScheme;
}
public void setMtw(int mtw) {
this.mtw = mtw;
}
public void setNat(boolean nat) {
this.nat = nat;
}
public void setNetmask(String netmask) {
this.netmask = netmask;
}
public void setNetwork(boolean network) {
this.network = network;
}
public void setParentIfName(String parentIfName) {
this.parentIfName = parentIfName;
}
public void setSoftwdsMacAddr(String softwdsMacAddr) {
this.softwdsMacAddr = softwdsMacAddr;
}
public void setSofwdsWrap(boolean sofwdsWrap) {
this.sofwdsWrap = sofwdsWrap;
}
public void setUnpnpMode(String unpnpMode) {
this.unpnpMode = unpnpMode;
}
public void setVersion(Uuid version) {
this.version = version;
}
public void setVlanId(int vlanId) {
this.vlanId = vlanId;
}
@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

@@ -1,6 +1,8 @@
package com.telecominfraproject.wlan.opensync.external.integration.models; package com.telecominfraproject.wlan.opensync.external.integration.models;
public class OpensyncAPRadioConfig extends OpensyncAPBase { import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
public class OpensyncAPRadioConfig extends BaseJsonModel {
private static final long serialVersionUID = 5683558403622855381L; private static final long serialVersionUID = 5683558403622855381L;
@@ -9,40 +11,40 @@ public class OpensyncAPRadioConfig extends OpensyncAPBase {
private int radioChannel5LG; private int radioChannel5LG;
private int radioChannel5HG; private int radioChannel5HG;
@Override
public OpensyncAPRadioConfig clone() {
return (OpensyncAPRadioConfig) super.clone();
}
public String getCountry() {
return country;
}
public int getRadioChannel24G() { public int getRadioChannel24G() {
return radioChannel24G; return radioChannel24G;
} }
public int getRadioChannel5HG() {
return radioChannel5HG;
}
public int getRadioChannel5LG() {
return radioChannel5LG;
}
public void setCountry(String country) {
this.country = country;
}
public void setRadioChannel24G(int radioChannel24G) { public void setRadioChannel24G(int radioChannel24G) {
this.radioChannel24G = radioChannel24G; this.radioChannel24G = radioChannel24G;
} }
public void setRadioChannel5HG(int radioChannel5HG) { public int getRadioChannel5LG() {
this.radioChannel5HG = radioChannel5HG; return radioChannel5LG;
} }
public void setRadioChannel5LG(int radioChannel5LG) { public void setRadioChannel5LG(int radioChannel5LG) {
this.radioChannel5LG = radioChannel5LG; this.radioChannel5LG = radioChannel5LG;
} }
public int getRadioChannel5HG() {
return radioChannel5HG;
}
public void setRadioChannel5HG(int radioChannel5HG) {
this.radioChannel5HG = radioChannel5HG;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
@Override
public OpensyncAPRadioConfig clone() {
return (OpensyncAPRadioConfig)super.clone();
}
} }

View File

@@ -3,28 +3,25 @@
*/ */
package com.telecominfraproject.wlan.opensync.external.integration.models; package com.telecominfraproject.wlan.opensync.external.integration.models;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import com.telecominfraproject.wlan.core.model.equipment.RadioType; import com.telecominfraproject.wlan.core.model.equipment.RadioType;
import com.vmware.ovsdb.protocol.operation.notation.Row; import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
import com.vmware.ovsdb.protocol.operation.notation.Uuid; import com.vmware.ovsdb.protocol.operation.notation.Uuid;
import com.vmware.ovsdb.protocol.operation.notation.Value;
/** /**
* @author mikehansen * @author mikehansen
* *
*/ */
public class OpensyncAPRadioState extends OpensyncAPBase { public class OpensyncAPRadioState extends BaseJsonModel {
private static final long serialVersionUID = 5003143778489404219L; private static final long serialVersionUID = 5003143778489404219L;
public static long getSerialversionuid() {
return serialVersionUID;
}
public int temperatureControl; public int temperatureControl;
public boolean thermalDowngraded; public boolean thermalDowngraded;
public boolean dfsDemo; public boolean dfsDemo;
@@ -51,15 +48,10 @@ public class OpensyncAPRadioState extends OpensyncAPBase {
public Map<String, String> hwParams; public Map<String, String> hwParams;
public RadioType freqBand; public RadioType freqBand;
public int thermalIntegration; public int thermalIntegration;
public Set<Uuid> vifStates; public Set<Uuid> vifStates;
public String channelMode;
public Uuid _uuid;
public Uuid version;
public OpensyncAPRadioState() { public OpensyncAPRadioState() {
super();
allowedChannels = new HashSet<>(); allowedChannels = new HashSet<>();
hwConfig = new HashMap<>(); hwConfig = new HashMap<>();
channels = new HashMap<>(); channels = new HashMap<>();
@@ -67,334 +59,252 @@ public class OpensyncAPRadioState extends OpensyncAPBase {
vifStates = new HashSet<>(); vifStates = new HashSet<>();
} }
public OpensyncAPRadioState(Row row) { public String channelMode;
this(); public Uuid _uuid;
public Uuid version;
Map<String, Value> map = row.getColumns();
if ((map.get("mac") != null)
&& map.get("mac").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setMac(row.getStringColumn("mac"));
}
if ((map.get("channel") != null)
&& map.get("channel").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setChannel(row.getIntegerColumn("channel").intValue());
}
if ((map.get("freq_band") != null)
&& map.get("freq_band").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
String frequencyBand = row.getStringColumn("freq_band");
switch (frequencyBand) {
case "2.4G":
this.setFreqBand(RadioType.is2dot4GHz);
break;
case "5G":
this.setFreqBand(RadioType.is5GHz);
break;
case "5GL":
this.setFreqBand(RadioType.is5GHzL);
break;
case "5GU":
this.setFreqBand(RadioType.is5GHzU);
break;
default:
this.setFreqBand(RadioType.UNSUPPORTED);
}
}
if ((map.get("if_name") != null)
&& map.get("if_name").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setIfName(row.getStringColumn("if_name"));
}
if ((map.get("channel_mode") != null)
&& map.get("channel_mode").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setChannelMode(row.getStringColumn("channel_mode"));
}
if ((map.get("country") != null)
&& map.get("country").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setCountry(row.getStringColumn("country").toUpperCase());
}
if ((map.get("enabled") != null)
&& map.get("enabled").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setEnabled(row.getBooleanColumn("enabled"));
}
if ((map.get("ht_mode") != null)
&& map.get("ht_mode").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setHtMode(row.getStringColumn("ht_mode"));
}
if ((map.get("tx_power") != null)
&& map.get("tx_power").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setTxPower(row.getIntegerColumn("tx_power").intValue());
}
if ((map.get("hw_config") != null)
&& map.get("hw_config").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Map.class)) {
this.setHwConfig(row.getMapColumn("hw_config"));
}
if ((map.get("_version") != null)
&& map.get("_version").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setVersion(row.getUuidColumn("_version"));
}
if ((map.get("_uuid") != null)
&& map.get("_uuid").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setVersion(row.getUuidColumn("_uuid"));
}
if (map.get("allowed_channels") != null) {
Set<Long> allowedChannels = getSet(row, "allowed_channels");
Set<Integer> allowed = new HashSet<>();
for (Long channel : allowedChannels) {
allowed.add(channel.intValue());
}
this.setAllowedChannels(allowed);
}
if (map.get("channels") != null) {
Map<String, String> channels = row.getMapColumn("channels");
this.setChannels(channels);
}
Set<Uuid> vifStates = row.getSetColumn("vif_states");
this.setVifStates(vifStates);
}
public Uuid get_uuid() {
return _uuid;
}
public Set<Integer> getAllowedChannels() {
return allowedChannels;
}
public int getBcnInt() {
return bcnInt;
}
public int getChannel() {
return channel;
}
public String getChannelMode() {
return channelMode;
}
public Map<String, String> getChannels() {
return channels;
}
public int getChannelSync() {
return channelSync;
}
public String getCountry() {
return country;
}
public RadioType getFreqBand() {
return freqBand;
}
public String getHtMode() {
return htMode;
}
public Map<String, String> getHwConfig() {
return hwConfig;
}
public String getHwMode() {
return hwMode;
}
public Map<String, String> getHwParams() {
return hwParams;
}
public int getHwType() {
return hwType;
}
public String getIfName() {
return ifName;
}
public String getMac() {
return mac;
}
public String getRadar() {
return radar;
}
public int getTemperatureControl() { public int getTemperatureControl() {
return temperatureControl; return temperatureControl;
} }
public int getThermalDowngradeTemp() {
return thermalDowngradeTemp;
}
public int getThermalIntegration() {
return thermalIntegration;
}
public int getThermalShutdown() {
return thermalShutdown;
}
public int getThermalTxChainmask() {
return thermalTxChainmask;
}
public int getThermalUpgradeTemp() {
return thermalUpgradeTemp;
}
public int getTxChainmask() {
return txChainmask;
}
public int getTxPower() {
return txPower;
}
public Uuid getVersion() {
return version;
}
public Set<Uuid> getVifStates() {
return vifStates;
}
public boolean isDfsDemo() {
return dfsDemo;
}
public boolean isEnabled() {
return enabled;
}
public boolean isThermalDowngraded() {
return thermalDowngraded;
}
public void set_uuid(Uuid _uuid) {
this._uuid = _uuid;
}
public void setAllowedChannels(Set<Integer> allowedChannels) {
this.allowedChannels = allowedChannels;
}
public void setBcnInt(int bcnInt) {
this.bcnInt = bcnInt;
}
public void setChannel(int channel) {
this.channel = channel;
}
public void setChannelMode(String channelMode) {
this.channelMode = channelMode;
}
public void setChannels(Map<String, String> channels) {
this.channels = channels;
}
public void setChannelSync(int channelSync) {
this.channelSync = channelSync;
}
public void setCountry(String country) {
this.country = country;
}
public void setDfsDemo(boolean dfsDemo) {
this.dfsDemo = dfsDemo;
}
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
public void setFreqBand(RadioType freqBand) {
this.freqBand = freqBand;
}
public void setHtMode(String htMode) {
this.htMode = htMode;
}
public void setHwConfig(Map<String, String> hwConfig) {
this.hwConfig = hwConfig;
}
public void setHwMode(String hwMode) {
this.hwMode = hwMode;
}
public void setHwParams(Map<String, String> hwParams) {
this.hwParams = hwParams;
}
public void setHwType(int hwType) {
this.hwType = hwType;
}
public void setIfName(String ifName) {
this.ifName = ifName;
}
public void setMac(String mac) {
this.mac = mac;
}
public void setRadar(String radar) {
this.radar = radar;
}
public void setTemperatureControl(int temperatureControl) { public void setTemperatureControl(int temperatureControl) {
this.temperatureControl = temperatureControl; this.temperatureControl = temperatureControl;
} }
public boolean isThermalDowngraded() {
return thermalDowngraded;
}
public void setThermalDowngraded(boolean thermalDowngraded) { public void setThermalDowngraded(boolean thermalDowngraded) {
this.thermalDowngraded = thermalDowngraded; this.thermalDowngraded = thermalDowngraded;
} }
public void setThermalDowngradeTemp(int thermalDowngradeTemp) { public boolean isDfsDemo() {
this.thermalDowngradeTemp = thermalDowngradeTemp; return dfsDemo;
} }
public void setThermalIntegration(int thermalIntegration) { public void setDfsDemo(boolean dfsDemo) {
this.thermalIntegration = thermalIntegration; this.dfsDemo = dfsDemo;
} }
public void setThermalShutdown(int thermalShutdown) { public String getIfName() {
this.thermalShutdown = thermalShutdown; return ifName;
} }
public void setThermalTxChainmask(int thermalTxChainmask) { public void setIfName(String ifName) {
this.thermalTxChainmask = thermalTxChainmask; this.ifName = ifName;
} }
public void setThermalUpgradeTemp(int thermalUpgradeTemp) { public String getMac() {
this.thermalUpgradeTemp = thermalUpgradeTemp; return mac;
} }
public void setTxChainmask(int txChainmask) { public void setMac(String mac) {
this.txChainmask = txChainmask; this.mac = mac;
} }
public void setTxPower(int txPower) { public Set<Uuid> getVifStates() {
this.txPower = txPower; return vifStates;
}
public void setVersion(Uuid version) {
this.version = version;
} }
public void setVifStates(Set<Uuid> vifStates) { public void setVifStates(Set<Uuid> vifStates) {
this.vifStates = vifStates; this.vifStates = vifStates;
} }
public int getBcnInt() {
return bcnInt;
}
public void setBcnInt(int bcnInt) {
this.bcnInt = bcnInt;
}
public int getThermalTxChainmask() {
return thermalTxChainmask;
}
public void setThermalTxChainmask(int thermalTxChainmask) {
this.thermalTxChainmask = thermalTxChainmask;
}
public Set<Integer> getAllowedChannels() {
return allowedChannels;
}
public void setAllowedChannels(Set<Integer> allowedChannels) {
this.allowedChannels = allowedChannels;
}
public int getThermalShutdown() {
return thermalShutdown;
}
public void setThermalShutdown(int thermalShutdown) {
this.thermalShutdown = thermalShutdown;
}
public int getChannelSync() {
return channelSync;
}
public void setChannelSync(int channelSync) {
this.channelSync = channelSync;
}
public int getHwType() {
return hwType;
}
public void setHwType(int hwType) {
this.hwType = hwType;
}
public int getTxChainmask() {
return txChainmask;
}
public void setTxChainmask(int txChainmask) {
this.txChainmask = txChainmask;
}
public String getRadar() {
return radar;
}
public void setRadar(String radar) {
this.radar = radar;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public Map<String, String> getHwConfig() {
return hwConfig;
}
public void setHwConfig(Map<String, String> hwConfig) {
this.hwConfig = hwConfig;
}
public int getChannel() {
return channel;
}
public void setChannel(int channel) {
this.channel = channel;
}
public int getTxPower() {
return txPower;
}
public void setTxPower(int txPower) {
this.txPower = txPower;
}
public String getHtMode() {
return htMode;
}
public void setHtMode(String htMode) {
this.htMode = htMode;
}
public int getThermalDowngradeTemp() {
return thermalDowngradeTemp;
}
public void setThermalDowngradeTemp(int thermalDowngradeTemp) {
this.thermalDowngradeTemp = thermalDowngradeTemp;
}
public String getHwMode() {
return hwMode;
}
public void setHwMode(String hwMode) {
this.hwMode = hwMode;
}
public boolean isEnabled() {
return enabled;
}
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
public Map<String, String> getChannels() {
return channels;
}
public void setChannels(Map<String, String> channels) {
this.channels = channels;
}
public int getThermalUpgradeTemp() {
return thermalUpgradeTemp;
}
public void setThermalUpgradeTemp(int thermalUpgradeTemp) {
this.thermalUpgradeTemp = thermalUpgradeTemp;
}
public Map<String, String> getHwParams() {
return hwParams;
}
public void setHwParams(Map<String, String> hwParams) {
this.hwParams = hwParams;
}
public RadioType getFreqBand() {
return freqBand;
}
public void setFreqBand(RadioType freqBand) {
this.freqBand = freqBand;
}
public int getThermalIntegration() {
return thermalIntegration;
}
public void setThermalIntegration(int thermalIntegration) {
this.thermalIntegration = thermalIntegration;
}
public String getChannelMode() {
return channelMode;
}
public void setChannelMode(String channelMode) {
this.channelMode = channelMode;
}
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;
}
} }

View File

@@ -1,8 +1,9 @@
package com.telecominfraproject.wlan.opensync.external.integration.models; package com.telecominfraproject.wlan.opensync.external.integration.models;
import com.telecominfraproject.wlan.core.model.equipment.RadioType; import com.telecominfraproject.wlan.core.model.equipment.RadioType;
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
public class OpensyncAPSsidConfig extends OpensyncAPBase { public class OpensyncAPSsidConfig extends BaseJsonModel {
private static final long serialVersionUID = -8540144450360788799L; private static final long serialVersionUID = -8540144450360788799L;
@@ -13,29 +14,44 @@ public class OpensyncAPSsidConfig extends OpensyncAPBase {
private String mode; private String mode;
private boolean broadcast; private boolean broadcast;
@Override public RadioType getRadioType() {
public OpensyncAPSsidConfig clone() { return radioType;
return (OpensyncAPSsidConfig) super.clone(); }
public void setRadioType(RadioType radioType) {
this.radioType = radioType;
}
public String getSsid() {
return ssid;
}
public void setSsid(String ssid) {
this.ssid = ssid;
} }
public String getEncryption() { public String getEncryption() {
return encryption; return encryption;
} }
public void setEncryption(String encryption) {
this.encryption = encryption;
}
public String getKey() { public String getKey() {
return key; return key;
} }
public void setKey(String key) {
this.key = key;
}
public String getMode() { public String getMode() {
return mode; return mode;
} }
public RadioType getRadioType() { public void setMode(String mode) {
return radioType; this.mode = mode;
}
public String getSsid() {
return ssid;
} }
public boolean isBroadcast() { public boolean isBroadcast() {
@@ -46,24 +62,9 @@ public class OpensyncAPSsidConfig extends OpensyncAPBase {
this.broadcast = broadcast; this.broadcast = broadcast;
} }
public void setEncryption(String encryption) { @Override
this.encryption = encryption; public OpensyncAPSsidConfig clone() {
} return (OpensyncAPSsidConfig)super.clone();
public void setKey(String key) {
this.key = key;
}
public void setMode(String mode) {
this.mode = mode;
}
public void setRadioType(RadioType radioType) {
this.radioType = radioType;
}
public void setSsid(String ssid) {
this.ssid = ssid;
} }
} }

View File

@@ -6,18 +6,13 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import com.vmware.ovsdb.protocol.operation.notation.Row; import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
import com.vmware.ovsdb.protocol.operation.notation.Uuid; import com.vmware.ovsdb.protocol.operation.notation.Uuid;
import com.vmware.ovsdb.protocol.operation.notation.Value;
public class OpensyncAPVIFState extends OpensyncAPBase { public class OpensyncAPVIFState extends BaseJsonModel {
private static final long serialVersionUID = -4916251246542770881L; private static final long serialVersionUID = -4916251246542770881L;
public static long getSerialversionuid() {
return serialVersionUID;
}
public String ifName; public String ifName;
public int vifRadioIdx; public int vifRadioIdx;
public String parent; public String parent;
@@ -29,8 +24,8 @@ public class OpensyncAPVIFState extends OpensyncAPBase {
public String ssid; public String ssid;
public Map<String, String> security; public Map<String, String> security;
public String macList; public String macList;
public List<Uuid> associatedClients; public List<Uuid> associatedClients;
public boolean enabled; public boolean enabled;
public int vlanId; public int vlanId;
public int btm; public int btm;
@@ -45,321 +40,232 @@ public class OpensyncAPVIFState extends OpensyncAPBase {
public boolean dynamicBeacon; public boolean dynamicBeacon;
public int channel; public int channel;
public Uuid _uuid; public Uuid _uuid;
public Uuid version; public Uuid version;
public OpensyncAPVIFState() {
security = new HashMap<>();
associatedClients = new ArrayList<>();
}
public OpensyncAPVIFState(Row row) {
Map<String, Value> map = row.getColumns();
if ((map.get("mac") != null)
&& map.get("mac").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setMac(row.getStringColumn("mac"));
}
if ((map.get("bridge") != null)
&& map.get("bridge").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setBridge(row.getStringColumn("bridge"));
}
if ((map.get("btm") != null)
&& map.get("btm").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setBtm(row.getIntegerColumn("btm").intValue());
}
if ((map.get("channel") != null)
&& map.get("channel").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setChannel(row.getIntegerColumn("channel").intValue());
}
if ((map.get("enabled") != null)
&& map.get("enabled").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setEnabled(row.getBooleanColumn("enabled"));
}
Long ftPsk = getSingleValueFromSet(row, "ft_psk");
if (ftPsk != null) {
this.setFtPsk(ftPsk.intValue());
}
Long ftMobilityDomain = getSingleValueFromSet(row, "ft_mobility_domain");
if (ftMobilityDomain != null) {
this.setFtMobilityDomain(ftMobilityDomain.intValue());
}
if ((map.get("group_rekey") != null)
&& map.get("group_rekey").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setGroupRekey(row.getIntegerColumn("group_rekey").intValue());
}
if ((map.get("if_name") != null)
&& map.get("if_name").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setIfName(row.getStringColumn("if_name"));
}
if ((map.get("mode") != null)
&& map.get("mode").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setMode(row.getStringColumn("mode"));
}
if ((map.get("rrm") != null)
&& map.get("rrm").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setRrm(row.getIntegerColumn("rrm").intValue());
}
if ((map.get("ssid") != null)
&& map.get("ssid").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setSsid(row.getStringColumn("ssid"));
}
if ((map.get("ssid_broadcast") != null) && map.get("ssid_broadcast").getClass()
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setSsidBroadcast(row.getStringColumn("ssid_broadcast"));
}
if ((map.get("uapsd_enable") != null)
&& map.get("uapsd_enable").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setUapsdEnable(row.getBooleanColumn("uapsd_enable"));
}
if ((map.get("vif_radio_idx") != null) && map.get("vif_radio_idx").getClass()
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setVifRadioIdx(row.getIntegerColumn("vif_radio_idx").intValue());
}
List<Uuid> associatedClientsList = new ArrayList<>();
Set<Uuid> clients = row.getSetColumn("associated_clients");
associatedClientsList.addAll(clients);
this.setAssociatedClients(associatedClientsList);
if (map.get("security") != null) {
this.setSecurity(row.getMapColumn("security"));
}
if ((map.get("_version") != null)
&& map.get("_version").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setVersion(row.getUuidColumn("_version"));
}
if ((map.get("_uuid") != null)
&& map.get("_uuid").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setVersion(row.getUuidColumn("_uuid"));
}
}
public Uuid get_uuid() {
return _uuid;
}
public List<Uuid> getAssociatedClients() {
return associatedClients;
}
public String getBridge() {
return bridge;
}
public int getBtm() {
return btm;
}
public int getChannel() {
return channel;
}
public int getFtMobilityDomain() {
return ftMobilityDomain;
}
public int getFtPsk() {
return ftPsk;
}
public int getGroupRekey() {
return groupRekey;
}
public String getIfName() { public String getIfName() {
return ifName; return ifName;
} }
public String getMac() { public OpensyncAPVIFState() {
return mac; super();
} security = new HashMap<>();
associatedClients = new ArrayList<>();
public String getMacList() {
return macList;
}
public String getMinHwMode() {
return minHwMode;
}
public String getMode() {
return mode;
}
public String getParent() {
return parent;
}
public int getRrm() {
return rrm;
}
public Map<String, String> getSecurity() {
return security;
}
public String getSsid() {
return ssid;
}
public String getSsidBroadcast() {
return ssidBroadcast;
}
public String getState() {
return state;
}
public Uuid getVersion() {
return version;
}
public int getVifRadioIdx() {
return vifRadioIdx;
}
public int getVlanId() {
return vlanId;
}
public boolean isApBridge() {
return apBridge;
}
public boolean isDynamicBeacon() {
return dynamicBeacon;
}
public boolean isEnabled() {
return enabled;
}
public boolean isUapsdEnable() {
return uapsdEnable;
}
public boolean isWds() {
return wds;
}
public void set_uuid(Uuid _uuid) {
this._uuid = _uuid;
}
public void setApBridge(boolean apBridge) {
this.apBridge = apBridge;
}
public void setAssociatedClients(List<Uuid> list) {
this.associatedClients = list;
}
public void setBridge(String bridge) {
this.bridge = bridge;
}
public void setBtm(int btm) {
this.btm = btm;
}
public void setChannel(int channel) {
this.channel = channel;
}
public void setDynamicBeacon(boolean dynamicBeacon) {
this.dynamicBeacon = dynamicBeacon;
}
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
public void setFtMobilityDomain(int ftMobilityDomain) {
this.ftMobilityDomain = ftMobilityDomain;
}
public void setFtPsk(int ftPsk) {
this.ftPsk = ftPsk;
}
public void setGroupRekey(int groupRekey) {
this.groupRekey = groupRekey;
} }
public void setIfName(String ifName) { public void setIfName(String ifName) {
this.ifName = ifName; this.ifName = ifName;
} }
public void setMac(String mac) { public int getVifRadioIdx() {
this.mac = mac; return vifRadioIdx;
}
public void setMacList(String macList) {
this.macList = macList;
}
public void setMinHwMode(String minHwMode) {
this.minHwMode = minHwMode;
}
public void setMode(String mode) {
this.mode = mode;
}
public void setParent(String parent) {
this.parent = parent;
}
public void setRrm(int rrm) {
this.rrm = rrm;
}
public void setSecurity(Map<String, String> security) {
this.security = security;
}
public void setSsid(String ssid) {
this.ssid = ssid;
}
public void setSsidBroadcast(String ssidBroadcast) {
this.ssidBroadcast = ssidBroadcast;
}
public void setState(String state) {
this.state = state;
}
public void setUapsdEnable(boolean uapsdEnable) {
this.uapsdEnable = uapsdEnable;
}
public void setVersion(Uuid version) {
this.version = version;
} }
public void setVifRadioIdx(int vifRadioIdx) { public void setVifRadioIdx(int vifRadioIdx) {
this.vifRadioIdx = vifRadioIdx; this.vifRadioIdx = vifRadioIdx;
} }
public void setVlanId(int vlanId) { public String getParent() {
this.vlanId = vlanId; return parent;
}
public void setParent(String parent) {
this.parent = parent;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getMac() {
return mac;
}
public void setMac(String mac) {
this.mac = mac;
}
public boolean isApBridge() {
return apBridge;
}
public void setApBridge(boolean apBridge) {
this.apBridge = apBridge;
}
public boolean isUapsdEnable() {
return uapsdEnable;
}
public void setUapsdEnable(boolean uapsdEnable) {
this.uapsdEnable = uapsdEnable;
}
public boolean isWds() {
return wds;
} }
public void setWds(boolean wds) { public void setWds(boolean wds) {
this.wds = wds; this.wds = wds;
} }
public String getSsid() {
return ssid;
}
public void setSsid(String ssid) {
this.ssid = ssid;
}
public Map<String, String> getSecurity() {
return security;
}
public void setSecurity(Map<String, String> security) {
this.security = security;
}
public String getMacList() {
return macList;
}
public void setMacList(String macList) {
this.macList = macList;
}
public List<Uuid> getAssociatedClients() {
return associatedClients;
}
public void setAssociatedClients(List<Uuid> list) {
this.associatedClients = list;
}
public boolean isEnabled() {
return enabled;
}
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
public int getVlanId() {
return vlanId;
}
public void setVlanId(int vlanId) {
this.vlanId = vlanId;
}
public int getBtm() {
return btm;
}
public void setBtm(int btm) {
this.btm = btm;
}
public String getMinHwMode() {
return minHwMode;
}
public void setMinHwMode(String minHwMode) {
this.minHwMode = minHwMode;
}
public String getSsidBroadcast() {
return ssidBroadcast;
}
public void setSsidBroadcast(String ssidBroadcast) {
this.ssidBroadcast = ssidBroadcast;
}
public String getMode() {
return mode;
}
public void setMode(String mode) {
this.mode = mode;
}
public String getBridge() {
return bridge;
}
public void setBridge(String bridge) {
this.bridge = bridge;
}
public int getGroupRekey() {
return groupRekey;
}
public void setGroupRekey(int groupRekey) {
this.groupRekey = groupRekey;
}
public int getFtMobilityDomain() {
return ftMobilityDomain;
}
public void setFtMobilityDomain(int ftMobilityDomain) {
this.ftMobilityDomain = ftMobilityDomain;
}
public int getFtPsk() {
return ftPsk;
}
public void setFtPsk(int ftPsk) {
this.ftPsk = ftPsk;
}
public int getRrm() {
return rrm;
}
public void setRrm(int rrm) {
this.rrm = rrm;
}
public boolean isDynamicBeacon() {
return dynamicBeacon;
}
public void setDynamicBeacon(boolean dynamicBeacon) {
this.dynamicBeacon = dynamicBeacon;
}
public int getChannel() {
return channel;
}
public void setChannel(int channel) {
this.channel = channel;
}
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;
}
} }

View File

@@ -6,22 +6,17 @@ package com.telecominfraproject.wlan.opensync.external.integration.models;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import com.vmware.ovsdb.protocol.operation.notation.Row; import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
import com.vmware.ovsdb.protocol.operation.notation.Uuid; import com.vmware.ovsdb.protocol.operation.notation.Uuid;
import com.vmware.ovsdb.protocol.operation.notation.Value;
/** /**
* @author mikehansen * @author mikehansen
* *
*/ */
public class OpensyncAWLANNode extends OpensyncAPBase { public class OpensyncAWLANNode extends BaseJsonModel {
private static final long serialVersionUID = -6172956297643126710L; private static final long serialVersionUID = -6172956297643126710L;
public static long getSerialversionuid() {
return serialVersionUID;
}
public Map<Object, Object> mqttSettings; public Map<Object, Object> mqttSettings;
public String model; public String model;
public String skuNumber; public String skuNumber;
@@ -46,10 +41,10 @@ public class OpensyncAWLANNode extends OpensyncAPBase {
public String managerAddr; public String managerAddr;
public boolean factoryReset; public boolean factoryReset;
public Uuid _uuid; public Uuid _uuid;
public Uuid version; public Uuid version;
public OpensyncAWLANNode() { public OpensyncAWLANNode() {
super();
mqttSettings = new HashMap<>(); mqttSettings = new HashMap<>();
versionMatrix = new HashMap<>(); versionMatrix = new HashMap<>();
ledConfig = new HashMap<>(); ledConfig = new HashMap<>();
@@ -57,308 +52,208 @@ public class OpensyncAWLANNode extends OpensyncAPBase {
mqttTopics = new HashMap<>(); mqttTopics = new HashMap<>();
} }
public OpensyncAWLANNode(Row row) {
this();
Map<String, Value> map = row.getColumns();
if (map.get("mqtt_settings") != null) {
this.setMqttSettings(row.getMapColumn("mqtt_settings"));
}
if (map.get("mqtt_headers") != null) {
this.setMqttHeaders(row.getMapColumn("mqtt_headers"));
}
if (map.get("mqtt_topics") != null) {
this.setMqttHeaders(row.getMapColumn("mqtt_topics"));
}
if ((map.get("model") != null)
&& map.get("model").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setModel(row.getStringColumn("model"));
}
if ((map.get("sku_number") != null)
&& map.get("sku_number").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setSkuNumber(row.getStringColumn("sku_number"));
}
if ((map.get("id") != null)
&& map.get("id").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setId(row.getStringColumn("id"));
}
if (map.get("version_matrix") != null) {
this.setVersionMatrix(row.getMapColumn("version_matrix"));
}
if ((map.get("firmware_version") != null) && map.get("firmware_version").getClass()
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setFirmwareVersion(row.getStringColumn("firmware_version"));
}
if ((map.get("firmware_url") != null)
&& map.get("firmware_url").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setFirmwareUrl(row.getStringColumn("firmware_url"));
}
if ((map.get("_uuid") != null)
&& map.get("_uuid").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setVersion(row.getUuidColumn("_uuid"));
}
if ((map.get("upgrade_dl_timer") != null) && map.get("upgrade_dl_timer").getClass()
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setUpgradeDlTimer(row.getIntegerColumn("upgrade_dl_timer").intValue());
}
if ((map.get("platform_version") != null) && map.get("platform_version").getClass()
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setPlatformVersion(row.getStringColumn("platform_version"));
}
if ((map.get("firmware_pass") != null) && map.get("firmware_pass").getClass()
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setFirmwarePass(row.getStringColumn("firmware_pass"));
}
if ((map.get("upgrade_timer") != null) && map.get("upgrade_timer").getClass()
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setUpgradeTimer(row.getIntegerColumn("upgrade_timer").intValue());
}
if ((map.get("max_backoff") != null)
&& map.get("max_backoff").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setMaxBackoff(row.getIntegerColumn("max_backoff").intValue());
}
if (map.get("led_config") != null) {
this.setLedConfig(row.getMapColumn("led_config"));
}
if ((map.get("redirector_addr") != null) && map.get("redirector_addr").getClass()
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setRedirectorAddr(row.getStringColumn("redirector_addr"));
}
if ((map.get("serial_number") != null) && map.get("serial_number").getClass()
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setSerialNumber(row.getStringColumn("serial_number"));
}
if ((map.get("_version") != null)
&& map.get("_version").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setVersion(row.getUuidColumn("_version"));
}
this.setUpgradeStatus(row.getIntegerColumn("upgrade_status").intValue());
if ((map.get("device_mode") != null)
&& map.get("device_mode").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setDeviceMode(row.getStringColumn("device_mode"));
}
if ((map.get("min_backoff") != null)
&& map.get("min_backoff").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setMinBackoff(row.getIntegerColumn("min_backoff").intValue());
}
if ((map.get("revision") != null)
&& map.get("revision").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setRevision(row.getStringColumn("revision"));
}
if ((map.get("manager_addr") != null)
&& map.get("manager_addr").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setManagerAddr(row.getStringColumn("manager_addr"));
}
if ((map.get("factory_reset") != null) && map.get("factory_reset").getClass()
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setFactoryReset(row.getBooleanColumn("factory_reset"));
}
}
public Uuid get_uuid() {
return _uuid;
}
public String getDeviceMode() {
return deviceMode;
}
public String getFirmwarePass() {
return firmwarePass;
}
public String getFirmwareUrl() {
return firmwareUrl;
}
public String getFirmwareVersion() {
return firmwareVersion;
}
public String getId() {
return id;
}
public Map<String, String> getLedConfig() {
return ledConfig;
}
public String getManagerAddr() {
return managerAddr;
}
public int getMaxBackoff() {
return maxBackoff;
}
public int getMinBackoff() {
return minBackoff;
}
public String getModel() {
return model;
}
public Map<String, String> getMqttHeaders() {
return mqttHeaders;
}
public Map<Object, Object> getMqttSettings() { public Map<Object, Object> getMqttSettings() {
return mqttSettings; return mqttSettings;
} }
public Map<String, String> getMqttTopics() {
return mqttTopics;
}
public String getPlatformVersion() {
return platformVersion;
}
public String getRedirectorAddr() {
return redirectorAddr;
}
public String getRevision() {
return revision;
}
public String getSerialNumber() {
return serialNumber;
}
public String getSkuNumber() {
return skuNumber;
}
public int getUpgradeDlTimer() {
return upgradeDlTimer;
}
public int getUpgradeStatus() {
return upgradeStatus;
}
public int getUpgradeTimer() {
return upgradeTimer;
}
public Uuid getVersion() {
return version;
}
public Map<String, String> getVersionMatrix() {
return versionMatrix;
}
public boolean isFactoryReset() {
return factoryReset;
}
public void set_uuid(Uuid _uuid) {
this._uuid = _uuid;
}
public void setDeviceMode(String deviceMode) {
this.deviceMode = deviceMode;
}
public void setFactoryReset(boolean factoryReset) {
this.factoryReset = factoryReset;
}
public void setFirmwarePass(String firmwarePass) {
this.firmwarePass = firmwarePass;
}
public void setFirmwareUrl(String firmwareUrl) {
this.firmwareUrl = firmwareUrl;
}
public void setFirmwareVersion(String firmwareVersion) {
this.firmwareVersion = firmwareVersion;
}
public void setId(String id) {
this.id = id;
}
public void setLedConfig(Map<String, String> ledConfig) {
this.ledConfig = ledConfig;
}
public void setManagerAddr(String managerAddr) {
this.managerAddr = managerAddr;
}
public void setMaxBackoff(int maxBackoff) {
this.maxBackoff = maxBackoff;
}
public void setMinBackoff(int minBackoff) {
this.minBackoff = minBackoff;
}
public void setModel(String model) {
this.model = model;
}
public void setMqttHeaders(Map<String, String> mqttHeaders) {
this.mqttHeaders = mqttHeaders;
}
public void setMqttSettings(Map<Object, Object> map) { public void setMqttSettings(Map<Object, Object> map) {
this.mqttSettings = map; this.mqttSettings = map;
} }
public void setMqttTopics(Map<String, String> mqttTopics) { public String getModel() {
this.mqttTopics = mqttTopics; return model;
} }
public void setPlatformVersion(String platformVersion) { public void setModel(String model) {
this.platformVersion = platformVersion; this.model = model;
} }
public void setRedirectorAddr(String redirectorAddr) { public String getSkuNumber() {
this.redirectorAddr = redirectorAddr; return skuNumber;
}
public void setRevision(String revision) {
this.revision = revision;
}
public void setSerialNumber(String serialNumber) {
this.serialNumber = serialNumber;
} }
public void setSkuNumber(String skuNumber) { public void setSkuNumber(String skuNumber) {
this.skuNumber = skuNumber; this.skuNumber = skuNumber;
} }
public void setUpgradeDlTimer(int upgradeDlTimer) { public String getId() {
this.upgradeDlTimer = upgradeDlTimer; return id;
} }
public void setUpgradeStatus(int upgradeStatus) { public void setId(String id) {
this.upgradeStatus = upgradeStatus; this.id = id;
} }
public void setUpgradeTimer(int upgradeTimer) { public Map<String, String> getVersionMatrix() {
this.upgradeTimer = upgradeTimer; return versionMatrix;
}
public void setVersion(Uuid version) {
this.version = version;
} }
public void setVersionMatrix(Map<String, String> versionMatrix) { public void setVersionMatrix(Map<String, String> versionMatrix) {
this.versionMatrix = versionMatrix; this.versionMatrix = versionMatrix;
} }
public String getFirmwareVersion() {
return firmwareVersion;
}
public void setFirmwareVersion(String firmwareVersion) {
this.firmwareVersion = firmwareVersion;
}
public String getFirmwareUrl() {
return firmwareUrl;
}
public void setFirmwareUrl(String firmwareUrl) {
this.firmwareUrl = firmwareUrl;
}
public int getUpgradeDlTimer() {
return upgradeDlTimer;
}
public void setUpgradeDlTimer(int upgradeDlTimer) {
this.upgradeDlTimer = upgradeDlTimer;
}
public String getPlatformVersion() {
return platformVersion;
}
public void setPlatformVersion(String platformVersion) {
this.platformVersion = platformVersion;
}
public String getFirmwarePass() {
return firmwarePass;
}
public void setFirmwarePass(String firmwarePass) {
this.firmwarePass = firmwarePass;
}
public int getUpgradeTimer() {
return upgradeTimer;
}
public void setUpgradeTimer(int upgradeTimer) {
this.upgradeTimer = upgradeTimer;
}
public int getMaxBackoff() {
return maxBackoff;
}
public void setMaxBackoff(int maxBackoff) {
this.maxBackoff = maxBackoff;
}
public Map<String, String> getLedConfig() {
return ledConfig;
}
public void setLedConfig(Map<String, String> ledConfig) {
this.ledConfig = ledConfig;
}
public String getRedirectorAddr() {
return redirectorAddr;
}
public void setRedirectorAddr(String redirectorAddr) {
this.redirectorAddr = redirectorAddr;
}
public Map<String, String> getMqttHeaders() {
return mqttHeaders;
}
public void setMqttHeaders(Map<String, String> mqttHeaders) {
this.mqttHeaders = mqttHeaders;
}
public String getSerialNumber() {
return serialNumber;
}
public void setSerialNumber(String serialNumber) {
this.serialNumber = serialNumber;
}
public int getUpgradeStatus() {
return upgradeStatus;
}
public void setUpgradeStatus(int upgradeStatus) {
this.upgradeStatus = upgradeStatus;
}
public String getDeviceMode() {
return deviceMode;
}
public void setDeviceMode(String deviceMode) {
this.deviceMode = deviceMode;
}
public int getMinBackoff() {
return minBackoff;
}
public void setMinBackoff(int minBackoff) {
this.minBackoff = minBackoff;
}
public Map<String, String> getMqttTopics() {
return mqttTopics;
}
public void setMqttTopics(Map<String, String> mqttTopics) {
this.mqttTopics = mqttTopics;
}
public String getRevision() {
return revision;
}
public void setRevision(String revision) {
this.revision = revision;
}
public String getManagerAddr() {
return managerAddr;
}
public void setManagerAddr(String managerAddr) {
this.managerAddr = managerAddr;
}
public boolean isFactoryReset() {
return factoryReset;
}
public void setFactoryReset(boolean factoryReset) {
this.factoryReset = factoryReset;
}
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;
}
} }

View File

@@ -4,25 +4,19 @@
package com.telecominfraproject.wlan.opensync.external.integration.models; package com.telecominfraproject.wlan.opensync.external.integration.models;
import java.util.HashSet; import java.util.HashSet;
import java.util.Map;
import java.util.Set; import java.util.Set;
import com.vmware.ovsdb.protocol.operation.notation.Row; import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
import com.vmware.ovsdb.protocol.operation.notation.Uuid; import com.vmware.ovsdb.protocol.operation.notation.Uuid;
import com.vmware.ovsdb.protocol.operation.notation.Value;
/** /**
* @author mikehansen * @author mikehansen
* *
*/ */
public class OpensyncWifiAssociatedClients extends OpensyncAPBase { public class OpensyncWifiAssociatedClients extends BaseJsonModel {
private static final long serialVersionUID = -7088651136971662138L; private static final long serialVersionUID = -7088651136971662138L;
public static long getSerialversionuid() {
return serialVersionUID;
}
public String keyId; public String keyId;
public String mac; public String mac;
public String state; public String state;
@@ -31,105 +25,83 @@ public class OpensyncWifiAssociatedClients extends OpensyncAPBase {
public String kick; public String kick;
public String oftag; public String oftag;
public Uuid _uuid; public Uuid _uuid;
public Uuid version; public Uuid version;
public OpensyncWifiAssociatedClients() { public OpensyncWifiAssociatedClients() {
super();
capabilities = new HashSet<>(); capabilities = new HashSet<>();
} }
public OpensyncWifiAssociatedClients(Row row) {
this();
Map<String, Value> map = row.getColumns();
if ((map.get("mac") != null)
&& map.get("mac").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setMac(row.getStringColumn("mac"));
}
if (row.getSetColumn("capabilities") != null) {
this.setCapabilities(row.getSetColumn("capabilities"));
}
if ((map.get("state") != null)
&& map.get("state").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setState(row.getStringColumn("state"));
}
if ((map.get("_version") != null)
&& map.get("_version").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setVersion(row.getUuidColumn("_version"));
}
if ((map.get("_uuid") != null)
&& map.get("_uuid").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
this.setVersion(row.getUuidColumn("_uuid"));
}
}
public Uuid get_uuid() {
return _uuid;
}
public Set<String> getCapabilities() {
return capabilities;
}
public String getKeyId() { public String getKeyId() {
return keyId; return keyId;
} }
public String getKick() { public void setKeyId(String keyId) {
return kick; this.keyId = keyId;
} }
public String getMac() { public String getMac() {
return mac; return mac;
} }
public String getOftag() { public void setMac(String mac) {
return oftag; this.mac = mac;
} }
public String getState() { public String getState() {
return state; return state;
} }
public int getUapsd() { public void setState(String state) {
return uapsd; this.state = state;
} }
public Uuid getVersion() { public Set<String> getCapabilities() {
return version; return capabilities;
}
public void set_uuid(Uuid _uuid) {
this._uuid = _uuid;
} }
public void setCapabilities(Set<String> set) { public void setCapabilities(Set<String> set) {
this.capabilities = set; this.capabilities = set;
} }
public void setKeyId(String keyId) { public int getUapsd() {
this.keyId = keyId; return uapsd;
}
public void setUapsd(int uapsd) {
this.uapsd = uapsd;
}
public String getKick() {
return kick;
} }
public void setKick(String kick) { public void setKick(String kick) {
this.kick = kick; this.kick = kick;
} }
public void setMac(String mac) { public String getOftag() {
this.mac = mac; return oftag;
} }
public void setOftag(String oftag) { public void setOftag(String oftag) {
this.oftag = oftag; this.oftag = oftag;
} }
public void setState(String state) { public static long getSerialversionuid() {
this.state = state; return serialVersionUID;
} }
public void setUapsd(int uapsd) { public Uuid get_uuid() {
this.uapsd = uapsd; return _uuid;
}
public void set_uuid(Uuid _uuid) {
this._uuid = _uuid;
}
public Uuid getVersion() {
return version;
} }
public void setVersion(Uuid version) { public void setVersion(Uuid version) {

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId> <artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath> <relativePath>../../wlan-cloud-root</relativePath>
</parent> </parent>
<artifactId>opensync-ext-static</artifactId> <artifactId>opensync-ext-static</artifactId>
@@ -12,8 +12,8 @@
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<artifactId>opensync-gateway</artifactId> <artifactId>opensync-ext-interface</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -2,6 +2,7 @@ package com.telecominfraproject.wlan.opensync.external.integration;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -17,6 +18,7 @@ import com.telecominfraproject.wlan.equipment.models.Equipment;
import com.telecominfraproject.wlan.location.models.Location; import com.telecominfraproject.wlan.location.models.Location;
import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo; import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo;
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPConfig; import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPConfig;
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPHotspot20Config;
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPInetState; 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.OpensyncAPRadioState;
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPVIFState; import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPVIFState;
@@ -45,9 +47,30 @@ public class OpensyncExternalIntegrationSimple implements OpensyncExternalIntegr
@Value("${tip.wlan.ovsdb.ssidProfileFileName:/app/config/ProfileSsid.json}") @Value("${tip.wlan.ovsdb.ssidProfileFileName:/app/config/ProfileSsid.json}")
private String ssidProfileFileName; private String ssidProfileFileName;
@Value("${tip.wlan.ovsdb.metricsProfileFileName:/app/config/ProfileMetrics.json}")
private String metricsProfileFileName;
@Value("${tip.wlan.ovsdb.venueProfileFileName:/app/config/ProfileVenue.json}")
private String venueProfileFileName;
@Value("${tip.wlan.ovsdb.operatorProfileFileName:/app/config/ProfileOperator.json}")
private String operatorProfileFileName;
@Value("${tip.wlan.ovsdb.hotspot20ProfileFileName:/app/config/ProfileHotspot20.json}")
private String hotspot20ProfileFileName;
@Value("${tip.wlan.ovsdb.idProviderProfileFileName:/app/config/ProfileIdProvider.json}")
private String idProviderProfileFileName;
@Value("${tip.wlan.ovsdb.radiusProfileFileName:/app/config/ProfileRadius.json}") @Value("${tip.wlan.ovsdb.radiusProfileFileName:/app/config/ProfileRadius.json}")
private String radiusProfileFileName; private String radiusProfileFileName;
@Value("${tip.wlan.ovsdb.captiveProfileFileName:/app/config/ProfileCaptive.json}")
private String captiveProfileFileName;
@Value("${tip.wlan.ovsdb.bonjourProfileFileName:/app/config/ProfileBonjour.json}")
private String bonjourProfileFileName;
@Value("${tip.wlan.ovsdb.locationFileName:/app/config/LocationBuildingExample.json}") @Value("${tip.wlan.ovsdb.locationFileName:/app/config/LocationBuildingExample.json}")
private String locationFileName; private String locationFileName;
@@ -62,6 +85,7 @@ public class OpensyncExternalIntegrationSimple implements OpensyncExternalIntegr
serialNumber = connectNodeInfo.serialNumber; serialNumber = connectNodeInfo.serialNumber;
LOG.info("AP {} got connected to the gateway", apId); LOG.info("AP {} got connected to the gateway", apId);
LOG.info("ConnectNodeInfo {}", connectNodeInfo); LOG.info("ConnectNodeInfo {}", connectNodeInfo);
} }
public void apDisconnected(String apId) { public void apDisconnected(String apId) {
@@ -71,42 +95,97 @@ public class OpensyncExternalIntegrationSimple implements OpensyncExternalIntegr
public OpensyncAPConfig getApConfig(String apId) { public OpensyncAPConfig getApConfig(String apId) {
LOG.info("Retrieving config for AP {}", apId); LOG.info("Retrieving config for AP {}", apId);
OpensyncAPConfig ret = null; OpensyncAPConfig ret = null;
try { try {
Equipment equipment = Equipment.fromFile(customerEquipmentFileName, Equipment.class); Equipment equipment = Equipment.fromFile(customerEquipmentFileName, Equipment.class);
equipment.setInventoryId(apId); equipment.setInventoryId(apId);
equipment.setName(apId); equipment.setName(apId);
equipment.setSerial(serialNumber); equipment.setSerial(serialNumber);
com.telecominfraproject.wlan.profile.models.Profile apProfile = com.telecominfraproject.wlan.profile.models.Profile com.telecominfraproject.wlan.profile.models.Profile apProfile = com.telecominfraproject.wlan.profile.models.Profile
.fromFile(apProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class); .fromFile(apProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
com.telecominfraproject.wlan.profile.models.Profile rfProfile = com.telecominfraproject.wlan.profile.models.Profile com.telecominfraproject.wlan.profile.models.Profile rfProfile = com.telecominfraproject.wlan.profile.models.Profile
.fromFile(rfProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class); .fromFile(rfProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
apProfile.getChildProfileIds().add(rfProfile.getId()); apProfile.getChildProfileIds().add(rfProfile.getId());
List<com.telecominfraproject.wlan.profile.models.Profile> ssidProfiles = com.telecominfraproject.wlan.profile.models.Profile List<com.telecominfraproject.wlan.profile.models.Profile> ssidProfiles = com.telecominfraproject.wlan.profile.models.Profile
.listFromFile(ssidProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class); .listFromFile(ssidProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
List<com.telecominfraproject.wlan.profile.models.Profile> hotspot20Profiles = com.telecominfraproject.wlan.profile.models.Profile
.listFromFile(hotspot20ProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
List<com.telecominfraproject.wlan.profile.models.Profile> operatorProfiles = com.telecominfraproject.wlan.profile.models.Profile
.listFromFile(operatorProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
List<com.telecominfraproject.wlan.profile.models.Profile> venueProfiles = com.telecominfraproject.wlan.profile.models.Profile
.listFromFile(venueProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
List<com.telecominfraproject.wlan.profile.models.Profile> providerProfiles = com.telecominfraproject.wlan.profile.models.Profile
.listFromFile(idProviderProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
ssidProfiles.stream().forEach(p -> apProfile.getChildProfileIds().add(p.getId())); ssidProfiles.stream().forEach(p -> apProfile.getChildProfileIds().add(p.getId()));
List<com.telecominfraproject.wlan.profile.models.Profile> metricsProfiles = com.telecominfraproject.wlan.profile.models.Profile
.listFromFile(metricsProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
List<com.telecominfraproject.wlan.profile.models.Profile> radiusProfiles = com.telecominfraproject.wlan.profile.models.Profile
.listFromFile(radiusProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
List<com.telecominfraproject.wlan.profile.models.Profile> captiveProfiles = null;
File captiveFile = new File(captiveProfileFileName);
if (captiveFile.exists()) {
captiveProfiles = com.telecominfraproject.wlan.profile.models.Profile.listFromFile(
captiveProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
} else {
LOG.info("Captive file is not provided");
}
List<com.telecominfraproject.wlan.profile.models.Profile> bonjourProfiles = null;
File bonjourFile = new File(bonjourProfileFileName);
if (bonjourFile.exists()) {
bonjourProfiles = com.telecominfraproject.wlan.profile.models.Profile.listFromFile(
bonjourProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
} else {
LOG.info("Bonjour file is not provided");
}
equipment.setProfileId(apProfile.getId()); equipment.setProfileId(apProfile.getId());
Location location = Location.fromFile(locationFileName, Location.class); Location location = Location.fromFile(locationFileName, Location.class);
equipment.setLocationId(location.getId()); equipment.setLocationId(location.getId());
OpensyncAPHotspot20Config hotspotConfig = new OpensyncAPHotspot20Config();
hotspotConfig.setHotspot20ProfileSet(
new HashSet<com.telecominfraproject.wlan.profile.models.Profile>(hotspot20Profiles));
hotspotConfig.setHotspot20OperatorSet(
new HashSet<com.telecominfraproject.wlan.profile.models.Profile>(operatorProfiles));
hotspotConfig.setHotspot20VenueSet(
new HashSet<com.telecominfraproject.wlan.profile.models.Profile>(venueProfiles));
hotspotConfig.setHotspot20ProviderSet(
new HashSet<com.telecominfraproject.wlan.profile.models.Profile>(providerProfiles));
ret = new OpensyncAPConfig(); ret = new OpensyncAPConfig();
ret.setCustomerEquipment(equipment); ret.setCustomerEquipment(equipment);
ret.setApProfile(apProfile); ret.setApProfile(apProfile);
ret.setRfProfile(rfProfile); ret.setRfProfile(rfProfile);
ret.setMetricsProfiles(metricsProfiles);
ret.setSsidProfile(ssidProfiles); ret.setSsidProfile(ssidProfiles);
File radiusFile = new File(radiusProfileFileName); ret.setRadiusProfiles(radiusProfiles);
if (radiusFile.exists()) {
List<com.telecominfraproject.wlan.profile.models.Profile> radiusProfiles = com.telecominfraproject.wlan.profile.models.Profile
.listFromFile(radiusProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
ret.setRadiusProfiles(radiusProfiles);
} else {
LOG.debug("No radius file present at {}", radiusFile.getAbsolutePath());
}
ret.setEquipmentLocation(location); ret.setEquipmentLocation(location);
ret.setCaptiveProfiles(captiveProfiles);
ret.setBonjourGatewayProfiles(bonjourProfiles);
ret.setHotspotConfig(hotspotConfig);
} catch (IOException e) { } catch (IOException e) {
LOG.error("Cannot read config file", e); LOG.error("Cannot read config file", e);
} }
LOG.debug("Config content : {}", ret); LOG.debug("Config content : {}", ret);
return ret; return ret;
} }
@@ -196,10 +275,4 @@ public class OpensyncExternalIntegrationSimple implements OpensyncExternalIntegr
} }
@Override
public void clearEquipmentStatus(String apId) {
LOG.info("Received clearEquipmentStatus for ap {}",apId);
}
} }

View File

@@ -1,472 +1,224 @@
{ {
"model_type": "Equipment", "model_type": "Equipment",
"id": 1, "id": 51,
"customerId": 2, "customerId": 2,
"profileId": 8, "profileId": 5,
"locationId": 8, "locationId": 8,
"equipmentType": "AP",
"inventoryId": "Test_Client_21P10C68818122",
"name": "Test_Client_21P10C68818122",
"details": {
"model_type": "ApElementConfiguration",
"equipmentModel": "EA8300-CA",
"elementConfigVersion": "AP-V1",
"equipmentType": "AP", "equipmentType": "AP",
"inventoryId": "Open_AP_21P10C68818122", "deviceMode": "standaloneAP",
"name": "Open_AP_21P10C68818122", "gettingIP": "dhcp",
"details": { "staticIP": null,
"model_type": "ApElementConfiguration", "staticIpMaskCidr": null,
"equipmentModel": "EA8300-CA", "staticIpGw": null,
"elementConfigVersion": "AP-V1", "gettingDNS": "dhcp",
"equipmentType": "AP", "staticDnsIp1": null,
"deviceMode": "standaloneAP", "staticDnsIp2": null,
"gettingIP": "dhcp", "peerInfoList": [],
"staticIP": null, "deviceName": "Default Device Name",
"staticIpMaskCidr": null, "locationData": null,
"staticIpGw": null, "locallyConfiguredMgmtVlan": 0,
"gettingDNS": "dhcp", "locallyConfigured": false,
"staticDnsIp1": null, "deploymentType": "CEILING",
"staticDnsIp2": null, "syntheticClientEnabled": null,
"peerInfoList": [], "frameReportThrottleEnabled": true,
"deviceName": "Open_AP_21P10C68818122", "antennaType": "OMNI",
"locationData": null, "costSavingEventsEnabled": true,
"locallyConfiguredMgmtVlan": 0, "forwardMode": "BRIDGE",
"locallyConfigured": false, "radioMap": {
"deploymentType": "CEILING", "is2dot4GHz": {
"syntheticClientEnabled": null, "model_type": "ElementRadioConfiguration",
"frameReportThrottleEnabled": true, "radioType": "is2dot4GHz",
"antennaType": "OMNI", "channelNumber": 6,
"costSavingEventsEnabled": true, "manualChannelNumber": 6,
"forwardMode": "BRIDGE", "backupChannelNumber": 11,
"radioMap": { "bannedChannels": [],
"is5GHzU": { "allowedChannels": [],
"model_type": "ElementRadioConfiguration", "rxCellSizeDb": {
"radioType": "is5GHzU", "model_type": "SourceSelectionValue",
"channelNumber": 149, "source": "auto",
"manualChannelNumber": 149, "value": -90
"backupChannelNumber": 157,
"manualBackupChannelNumber": 157,
"rxCellSizeDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"eirpTxPower": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": 18
},
"perimeterDetectionEnabled": true,
"bestAPSteerType": "both",
"deauthAttackDetection": null,
"allowedChannelsPowerLevels": [
{
"model_type": "ChannelPowerLevel",
"channelNumber": 161,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 100,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 132,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 165,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 104,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 136,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 108,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 140,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 112,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 144,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 116,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 149,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 153,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 157,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
}
]
},
"is2dot4GHz": {
"model_type": "ElementRadioConfiguration",
"radioType": "is2dot4GHz",
"channelNumber": 6,
"manualChannelNumber": 6,
"backupChannelNumber": 11,
"manualBackupChannelNumber": 11,
"rxCellSizeDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"eirpTxPower": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": 18
},
"perimeterDetectionEnabled": true,
"bestAPSteerType": "both",
"deauthAttackDetection": null,
"allowedChannelsPowerLevels": [
{
"model_type": "ChannelPowerLevel",
"channelNumber": 1,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 2,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 3,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 4,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 5,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 6,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 7,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 8,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 9,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 10,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 11,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
}
]
},
"is5GHzL": {
"model_type": "ElementRadioConfiguration",
"radioType": "is5GHzL",
"channelNumber": 36,
"manualChannelNumber": 36,
"backupChannelNumber": 44,
"manualBackupChannelNumber": 44,
"rxCellSizeDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"eirpTxPower": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": 18
},
"perimeterDetectionEnabled": true,
"bestAPSteerType": "both",
"deauthAttackDetection": null,
"allowedChannelsPowerLevels": [
{
"model_type": "ChannelPowerLevel",
"channelNumber": 52,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 36,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 56,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 40,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 60,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 44,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 64,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 48,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
}
]
}
}, },
"advancedRadioMap": { "probeResponseThresholdDb": {
"is2dot4GHz": { "model_type": "SourceSelectionValue",
"model_type": "RadioConfiguration", "source": "auto",
"radioType": "is2dot4GHz", "value": -90
"radioAdminState": "enabled", },
"fragmentationThresholdBytes": 2346, "clientDisconnectThresholdDb": {
"uapsdState": "enabled", "model_type": "SourceSelectionValue",
"stationIsolation": "disabled", "source": "auto",
"multicastRate": { "value": -90
"model_type": "SourceSelectionMulticast", },
"source": "profile", "eirpTxPower": {
"value": "auto" "model_type": "SourceSelectionValue",
}, "source": "auto",
"managementRate": { "value": 32
"model_type": "SourceSelectionManagement", },
"source": "profile", "perimeterDetectionEnabled": true,
"value": "auto" "bestAPSteerType": "both",
}, "deauthAttackDetection": null,
"bestApSettings": { "allowedChannelsPowerLevels": [],
"model_type": "SourceSelectionSteering", "activeChannel": 6
"source": "manual", },
"value": { "is5GHzU": {
"model_type": "RadioBestApSettings", "model_type": "ElementRadioConfiguration",
"mlComputed": true, "radioType": "is5GHzU",
"dropInSnrPercentage": 20, "channelNumber": 149,
"minLoadFactor": 50 "manualChannelNumber": 149,
} "backupChannelNumber": 154,
}, "bannedChannels": [],
"legacyBSSRate": "enabled", "allowedChannels": [],
"dtimPeriod": 2, "rxCellSizeDb": {
"deauthAttackDetection": null "model_type": "SourceSelectionValue",
}, "source": "auto",
"is5GHzU": { "value": -90
"model_type": "RadioConfiguration", },
"radioType": "is5GHzU", "probeResponseThresholdDb": {
"radioAdminState": "enabled", "model_type": "SourceSelectionValue",
"fragmentationThresholdBytes": 2346, "source": "auto",
"uapsdState": "enabled", "value": -90
"stationIsolation": "disabled", },
"multicastRate": { "clientDisconnectThresholdDb": {
"model_type": "SourceSelectionMulticast", "model_type": "SourceSelectionValue",
"source": "profile", "source": "auto",
"value": "auto" "value": -90
}, },
"managementRate": { "eirpTxPower": {
"model_type": "SourceSelectionManagement", "model_type": "SourceSelectionValue",
"source": "profile", "source": "auto",
"value": "auto" "value": 32
}, },
"bestApSettings": { "perimeterDetectionEnabled": true,
"model_type": "SourceSelectionSteering", "bestAPSteerType": "both",
"source": "manual", "deauthAttackDetection": null,
"value": { "allowedChannelsPowerLevels": [],
"model_type": "RadioBestApSettings", "activeChannel": 149
"mlComputed": true, },
"dropInSnrPercentage": 30, "is5GHzL": {
"minLoadFactor": 40 "model_type": "ElementRadioConfiguration",
} "radioType": "is5GHzL",
}, "channelNumber": 36,
"legacyBSSRate": "enabled", "manualChannelNumber": 36,
"dtimPeriod": 2, "backupChannelNumber": 44,
"deauthAttackDetection": null "bannedChannels": [],
}, "allowedChannels": [],
"is5GHzL": { "rxCellSizeDb": {
"model_type": "RadioConfiguration", "model_type": "SourceSelectionValue",
"radioType": "is5GHzL", "source": "auto",
"radioAdminState": "enabled", "value": -90
"fragmentationThresholdBytes": 2346, },
"uapsdState": "enabled", "probeResponseThresholdDb": {
"stationIsolation": "disabled", "model_type": "SourceSelectionValue",
"multicastRate": { "source": "auto",
"model_type": "SourceSelectionMulticast", "value": -90
"source": "profile", },
"value": "auto" "clientDisconnectThresholdDb": {
}, "model_type": "SourceSelectionValue",
"managementRate": { "source": "auto",
"model_type": "SourceSelectionManagement", "value": -90
"source": "profile", },
"value": "auto" "eirpTxPower": {
}, "model_type": "SourceSelectionValue",
"bestApSettings": { "source": "auto",
"model_type": "SourceSelectionSteering", "value": 32
"source": "manual", },
"value": { "perimeterDetectionEnabled": true,
"model_type": "RadioBestApSettings", "bestAPSteerType": "both",
"mlComputed": true, "deauthAttackDetection": null,
"dropInSnrPercentage": 30, "allowedChannelsPowerLevels": [],
"minLoadFactor": 40 "activeChannel": 36
} }
},
"legacyBSSRate": "enabled",
"dtimPeriod": 2,
"deauthAttackDetection": null
}
}
}, },
"latitude": null, "advancedRadioMap": {
"longitude": null, "is2dot4GHz": {
"baseMacAddress": { "model_type": "RadioConfiguration",
"model_type": "MacAddress", "radioType": "is2dot4GHz",
"address": "JPWi7y5T", "radioAdminState": "enabled",
"addressAsString": "24:f5:a2:ef:2e:53" "fragmentationThresholdBytes": 2346,
}, "wmmState": "enabled",
"serial": "21P10C68818122", "uapsdState": "enabled",
"createdTimestamp": 1612285288821, "stationIsolation": "disabled",
"lastModifiedTimestamp": 1612285293922 "managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
},
"is5GHzU": {
"model_type": "RadioConfiguration",
"radioType": "is5GHzU",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
},
"is5GHzL": {
"model_type": "RadioConfiguration",
"radioType": "is5GHzL",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
}
}
},
"latitude": null,
"longitude": null,
"serial": "21P10C68818122",
"createdTimestamp": 1591653239821,
"lastModifiedTimestamp": 1591653241398
} }

View File

@@ -1,61 +1,67 @@
{ {
"model_type": "Location", "model_type" : "Location",
"id": 8, "id" : 8,
"parentId": 0, "parentId" : 0,
"locationType": "SITE", "locationType" : "SITE",
"customerId": 2, "customerId" : 2,
"name": "Ottawa", "name" : "Ottawa",
"details": { "details" : {
"model_type": "LocationDetails", "model_type" : "LocationDetails",
"countryCode": "CA", "countryCode" : "ca",
"dailyActivityDetails": { "maintenanceWindow" : null,
"SUNDAY": { "rrmEnabled" : true,
"model_type": "LocationActivityDetails", "dailyRebalancingDetails" : {
"busyTime": "13:30", "SUNDAY" : {
"quietTime": "3:00", "model_type" : "LocationActivityDetails",
"timezone": "US/Eastern" "busyTime" : "13:30",
}, "quietTime" : "3:30",
"MONDAY": { "timezone" : "US/Eastern",
"model_type": "LocationActivityDetails", "lastBusySnapshot" : 0
"busyTime": "13:30", },
"quietTime": "3:00", "MONDAY" : {
"timezone": "US/Eastern" "model_type" : "LocationActivityDetails",
}, "busyTime" : "13:30",
"TUESDAY": { "quietTime" : "3:30",
"model_type": "LocationActivityDetails", "timezone" : "US/Eastern",
"busyTime": "13:30", "lastBusySnapshot" : 0
"quietTime": "3:00", },
"timezone": "US/Eastern" "TUESDAY" : {
}, "model_type" : "LocationActivityDetails",
"WEDNESDAY": { "busyTime" : "13:30",
"model_type": "LocationActivityDetails", "quietTime" : "3:30",
"busyTime": "13:30", "timezone" : "US/Eastern",
"quietTime": "3:00", "lastBusySnapshot" : 0
"timezone": "US/Eastern" },
}, "WEDNESDAY" : {
"THURSDAY": { "model_type" : "LocationActivityDetails",
"model_type": "LocationActivityDetails", "busyTime" : "13:30",
"busyTime": "13:30", "quietTime" : "3:30",
"quietTime": "3:00", "timezone" : "US/Eastern",
"timezone": "US/Eastern" "lastBusySnapshot" : 0
}, },
"FRIDAY": { "THURSDAY" : {
"model_type": "LocationActivityDetails", "model_type" : "LocationActivityDetails",
"busyTime": "13:30", "busyTime" : "13:30",
"quietTime": "3:00", "quietTime" : "3:30",
"timezone": "US/Eastern" "timezone" : "US/Eastern",
}, "lastBusySnapshot" : 0
"SATURDAY": { },
"model_type": "LocationActivityDetails", "FRIDAY" : {
"busyTime": "13:30", "model_type" : "LocationActivityDetails",
"quietTime": "3:00", "busyTime" : "13:30",
"timezone": "US/Eastern" "quietTime" : "3:30",
} "timezone" : "US/Eastern",
}, "lastBusySnapshot" : 0
"maintenanceWindow": null, },
"rrmEnabled": true, "SATURDAY" : {
"timezone": "US/Eastern" "model_type" : "LocationActivityDetails",
}, "busyTime" : "13:30",
"createdTimestamp": 1612285243534, "quietTime" : "3:30",
"lastModifiedTimestamp": 1612285243534 "timezone" : "US/Eastern",
"lastBusySnapshot" : 0
}
}
},
"createdTimestamp" : 1590607043540,
"lastModifiedTimestamp" : 1590607043540
} }

View File

@@ -1,6 +1,6 @@
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 8, "id": 17,
"customerId": 2, "customerId": 2,
"profileType": "equipment_ap", "profileType": "equipment_ap",
"name": "ApProfile-3-radios", "name": "ApProfile-3-radios",
@@ -37,22 +37,14 @@
"bestAPSteerType": "both" "bestAPSteerType": "both"
} }
}, },
"greTunnelConfigurations": [
{
"model_type": "GreTunnelConfiguration",
"greTunnelName": "gre1",
"greRemoteInetAddr": "192.168.1.101",
"vlanIdsInGreTunnel": [
100
]
}
],
"profileType": "equipment_ap" "profileType": "equipment_ap"
}, },
"createdTimestamp": 1612285248925, "createdTimestamp": 1602182806348,
"lastModifiedTimestamp": 1612285628377, "lastModifiedTimestamp": 1602182806348,
"childProfileIds": [ "childProfileIds": [
2, 2,
4 5,
11,
13
] ]
} }

View File

@@ -0,0 +1,29 @@
[
{
"model_type": "Profile",
"id": 100,
"customerId": 2,
"profileType": "bonjour",
"name": "Bonjour-gateway",
"details": {
"model_type": "BonjourGatewayProfile",
"profileDescription": "Bonjour Gateway Configuration for Design Testing",
"profileType": "bonjour",
"bonjourServices": [
{
"model_type": "BonjourServiceSet",
"vlanId": 1,
"supportAllServices": false,
"serviceNames": [
"AirPort",
"SFTP",
"SSH"
]
}
]
},
"createdTimestamp": 1599234550774,
"lastModifiedTimestamp": 1599234550774,
"childProfileIds": []
}
]

View File

@@ -1,58 +1,135 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 5, "id": 14,
"customerId": 2, "customerId": 2,
"profileType": "captive_portal", "profileType": "captive_portal",
"name": "Captive-portal", "name": "Captive-portal",
"details": { "details": {
"model_type": "CaptivePortalConfiguration", "model_type": "CaptivePortalConfiguration",
"name": "Default", "name": "Captive-portal",
"browserTitle": "Captive-portal", "browserTitle": "Access the network as Guest",
"headerContent": "Captive Portal", "headerContent": "Captive Portal",
"userAcceptancePolicy": "Please agree to the following terms for using this network:", "userAcceptancePolicy": "Use this network at your own risk. No warranty of any kind.",
"successPageMarkdownText": "You are now authorized and connected to the network.", "successPageMarkdownText": "Welcome to the network",
"redirectURL": "https://www.google.com", "redirectURL": "",
"externalCaptivePortalURL": null, "externalCaptivePortalURL": null,
"sessionTimeoutInMinutes": 10, "sessionTimeoutInMinutes": 60,
"logoFile": { "logoFile": null,
"model_type": "ManagedFileInfo", "backgroundFile": null,
"md5checksum": null, "walledGardenAllowlist": [],
"lastModifiedTimestamp": null, "usernamePasswordFile": {
"apExportUrl": "/filestore/tip-logo-mobile", "model_type": "ManagedFileInfo",
"fileCategory": "CaptivePortalLogo", "md5checksum": null,
"fileType": "PNG", "lastModifiedTimestamp": null,
"altSlot": false "apExportUrl": "userList",
}, "fileCategory": "UsernamePasswordList",
"backgroundFile": { "fileType": "TEXT",
"model_type": "ManagedFileInfo", "altSlot": true
"md5checksum": null, },
"lastModifiedTimestamp": null, "authenticationType": "guest",
"apExportUrl": "/filestore/tip-logo", "radiusAuthMethod": "CHAP",
"fileCategory": "CaptivePortalBackground", "maxUsersWithSameCredentials": 42,
"fileType": "PNG", "externalPolicyFile": null,
"altSlot": false "backgroundPosition": "left_top",
}, "backgroundRepeat": "no_repeat",
"walledGardenAllowlist": [ "radiusServiceName": null,
], "expiryType": "unlimited",
"usernamePasswordFile": null, "userList": [
"authenticationType": "guest", {
"radiusAuthMethod": "CHAP", "model_type": "TimedAccessUserRecord",
"maxUsersWithSameCredentials": 3, "username": "customer",
"externalPolicyFile": null, "password": "testing123",
"backgroundPosition": "left_top", "activationTime": 1602183994956,
"backgroundRepeat": "no_repeat", "expirationTime": 1602212794956,
"radiusServiceId": 0, "numDevices": 1,
"expiryType": "time_limited", "userDetails": {
"userList": [ "model_type": "TimedAccessUserDetails",
], "firstName": "Pac",
"macAllowList": [ "lastName": "Man",
], "passwordNeedsReset": false
"profileType": "captive_portal" },
"userMacAddresses": [
{
"model_type": "MacAddress",
"address": "fKtg5upO",
"addressAsString": "7c:ab:60:e6:ea:4e"
}
],
"lastModifiedTimestamp": 0
},
{
"model_type": "TimedAccessUserRecord",
"username": "customer",
"password": "testing123",
"activationTime": 1602183994957,
"expirationTime": 1602187594957,
"numDevices": 0,
"userDetails": {
"model_type": "TimedAccessUserDetails",
"firstName": "Q",
"lastName": "Bert",
"passwordNeedsReset": false
},
"userMacAddresses": [
{
"model_type": "MacAddress",
"address": "wJrQdqho",
"addressAsString": "c0:9a:d0:76:a8:68"
}
],
"lastModifiedTimestamp": 0
},
{
"model_type": "TimedAccessUserRecord",
"username": "customer2",
"password": "testing1234",
"activationTime": 1602183994957,
"expirationTime": 1602788794957,
"numDevices": 1,
"userDetails": {
"model_type": "TimedAccessUserDetails",
"firstName": "Duke",
"lastName": "Nukem",
"passwordNeedsReset": false
},
"userMacAddresses": [
{
"model_type": "MacAddress",
"address": "fKtg5upN",
"addressAsString": "7c:ab:60:e6:ea:4d"
}
],
"lastModifiedTimestamp": 0
},
{
"model_type": "TimedAccessUserRecord",
"username": "customer2",
"password": "testing1234",
"activationTime": 1602183994957,
"expirationTime": 1602270394957,
"numDevices": 0,
"userDetails": {
"model_type": "TimedAccessUserDetails",
"firstName": "Missile",
"lastName": "Commander",
"passwordNeedsReset": false
},
"userMacAddresses": [
{
"model_type": "MacAddress",
"address": "wJrQdqhj",
"addressAsString": "c0:9a:d0:76:a8:63"
}
],
"lastModifiedTimestamp": 0
}
],
"macAllowList": [],
"profileType": "captive_portal"
}, },
"createdTimestamp": 1611857459118, "createdTimestamp": 1602183994959,
"lastModifiedTimestamp": 1611857459118, "lastModifiedTimestamp": 1602183994959,
"childProfileIds": [ "childProfileIds": []
] }
}
] ]

View File

@@ -0,0 +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
},
"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": 1602182806040,
"lastModifiedTimestamp": 1602182806040,
"childProfileIds": [
6,
7,
8,
9
]
}
]

View File

@@ -0,0 +1,256 @@
[
{
"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": []
}
]

View File

@@ -0,0 +1,298 @@
[
{
"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": []
}
]

View File

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

View File

@@ -0,0 +1,34 @@
[
{
"model_type": "Profile",
"id": 1,
"customerId": 2,
"profileType": "radius",
"name": "Radius-Profile",
"details": {
"model_type": "RadiusProfile",
"subnetConfiguration": null,
"serviceRegionMap": {
"Ottawa": {
"model_type": "RadiusServiceRegion",
"serverMap": {
"Radius-Profile": [
{
"model_type": "RadiusServer",
"ipAddress": "192.168.0.1",
"secret": "testing123",
"authPort": 1812,
"timeout": null
}
]
},
"regionName": "Ottawa"
}
},
"profileType": "radius"
},
"createdTimestamp": 1601961451668,
"lastModifiedTimestamp": 1601961451668,
"childProfileIds": []
}
]

View File

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

View File

@@ -1,75 +1,134 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 2, "id": 5,
"customerId": 2, "customerId": 2,
"profileType": "ssid", "profileType": "ssid",
"name": "TipWlan-cloud-3-radios", "name": "TipWlan-cloud-hotspot-access",
"details": { "details": {
"model_type": "SsidConfiguration", "model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-3-radios", "ssid": "TipWlan-cloud-hotspot-access",
"appliedRadios": [ "appliedRadios": [
"is5GHzU", "is5GHzU",
"is2dot4GHz", "is5GHzL",
"is5GHzL" "is2dot4GHz"
], ],
"ssidAdminState": "enabled", "ssidAdminState": "enabled",
"secureMode": "wpa2OnlyPSK", "secureMode": "wpa2PSK",
"vlanId": 1, "vlanId": 1,
"keyStr": "openwifi", "keyStr": "testing123",
"broadcastSsid": "enabled", "broadcastSsid": "enabled",
"keyRefresh": 0, "keyRefresh": 0,
"noLocalSubnets": false, "noLocalSubnets": false,
"radiusServiceId": 0, "radiusServiceName": null,
"radiusAcountingServiceInterval": 60, "captivePortalId": null,
"captivePortalId": null, "bandwidthLimitDown": 0,
"bandwidthLimitDown": 0, "bandwidthLimitUp": 0,
"bandwidthLimitUp": 0, "clientBandwidthLimitDown": 0,
"clientBandwidthLimitDown": 0, "clientBandwidthLimitUp": 0,
"clientBandwidthLimitUp": 0, "videoTrafficOnly": false,
"videoTrafficOnly": false, "radioBasedConfigs": {
"radioBasedConfigs": { "is5GHz": {
"is5GHzU": { "model_type": "RadioBasedSsidConfiguration",
"model_type": "RadioBasedSsidConfiguration", "enable80211r": null,
"enable80211r": null, "enable80211k": null,
"enable80211k": null, "enable80211v": null
"enable80211v": null },
}, "is2dot4GHz": {
"is2dot4GHz": { "model_type": "RadioBasedSsidConfiguration",
"model_type": "RadioBasedSsidConfiguration", "enable80211r": null,
"enable80211r": null, "enable80211k": null,
"enable80211k": null, "enable80211v": null
"enable80211v": null },
}, "is5GHzU": {
"is5GHz": { "model_type": "RadioBasedSsidConfiguration",
"model_type": "RadioBasedSsidConfiguration", "enable80211r": null,
"enable80211r": null, "enable80211k": null,
"enable80211k": null, "enable80211v": null
"enable80211v": null },
}, "is5GHzL": {
"is5GHzL": { "model_type": "RadioBasedSsidConfiguration",
"model_type": "RadioBasedSsidConfiguration", "enable80211r": null,
"enable80211r": null, "enable80211k": null,
"enable80211k": null, "enable80211v": null
"enable80211v": null }
} },
}, "bonjourGatewayProfileId": null,
"bonjourGatewayProfileId": null, "enable80211w": null,
"enable80211w": null, "wepConfig": null,
"wepConfig": null, "forwardMode": null,
"forwardMode": "BRIDGE", "profileType": "ssid"
"profileType": "ssid", },
"radiusClientConfiguration": { "createdTimestamp": 1602113058718,
"model_type": "RadiusNasConfiguration", "lastModifiedTimestamp": 1602113059547,
"nasClientId": "DEFAULT", "childProfileIds": [
"nasClientIp": "WAN_IP", 10
"userDefinedNasId": null, ]
"userDefinedNasIp": null, },
"operatorId": null {
} "model_type": "Profile",
}, "id": 11,
"createdTimestamp": 1612285248638, "customerId": 2,
"lastModifiedTimestamp": 1612285248638, "profileType": "ssid",
"childProfileIds": [] "name": "TipWlan-cloud-3-radios",
} "details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-3-radios",
"appliedRadios": [
"is5GHzL",
"is2dot4GHz",
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "open",
"vlanId": 1,
"keyStr": null,
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
"clientBandwidthLimitDown": 0,
"clientBandwidthLimitUp": 0,
"videoTrafficOnly": false,
"radioBasedConfigs": {
"is5GHz": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is2dot4GHz": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is5GHzU": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is5GHzL": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
}
},
"bonjourGatewayProfileId": null,
"enable80211w": null,
"wepConfig": null,
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602183994766,
"lastModifiedTimestamp": 1602183994766,
"childProfileIds": [
10
]
}
] ]

View File

@@ -0,0 +1,42 @@
[
{
"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": []
}
]

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId> <artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath> <relativePath>../../wlan-cloud-root</relativePath>
</parent> </parent>
<artifactId>opensync-gateway-build</artifactId> <artifactId>opensync-gateway-build</artifactId>
@@ -20,10 +20,10 @@
<modules> <modules>
<module>../opensync-ext-interface</module> <module>../opensync-ext-interface</module>
<module>../opensync-gateway</module>
<module>../opensync-ext-static</module> <module>../opensync-ext-static</module>
<module>../opensync-gateway-static-process</module>
<module>../opensync-ext-cloud</module> <module>../opensync-ext-cloud</module>
<module>../opensync-gateway</module>
<module>../opensync-gateway-static-process</module>
<module>../opensync-gateway-cloud-process</module> <module>../opensync-gateway-cloud-process</module>
</modules> </modules>
</profile> </profile>

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId> <artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath> <relativePath>../../wlan-cloud-root</relativePath>
</parent> </parent>
<artifactId>opensync-gateway-cloud-docker</artifactId> <artifactId>opensync-gateway-cloud-docker</artifactId>
@@ -22,7 +22,7 @@
<dependency> <dependency>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<artifactId>opensync-gateway-cloud-process</artifactId> <artifactId>opensync-gateway-cloud-process</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -20,11 +20,6 @@ SSC_SERVER_HOST="${SSC_SERVER}"
ALL_IN_ONE_HOST="${INTEGRATED_SERVER}" ALL_IN_ONE_HOST="${INTEGRATED_SERVER}"
FILE_STORE_DIRECTORY="${FILE_STORE_DIRECTORY_INTERNAL:=/tmp/filestore}" FILE_STORE_DIRECTORY="${FILE_STORE_DIRECTORY_INTERNAL:=/tmp/filestore}"
FILE_STORE_EXTERNAL_URL="${FILE_STORE_URL}" 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=" "
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.managerAddr=$OVSDB_MANAGER_HOST" OVSDB_PROPS+=" -Dtip.wlan.ovsdb.managerAddr=$OVSDB_MANAGER_HOST"
@@ -38,8 +33,6 @@ OVSDB_PROPS+=" -Dtip.wlan.ovsdb.configFileName=/app/opensync/config_2_ssids.json
MQTT_PROPS=" " MQTT_PROPS=" "
MQTT_PROPS+=" -Dtip.wlan.mqttBroker.address.internal=$MQTT_BROKER_HOST_INTERNAL" 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.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" MQTT_PROPS+=" -Dtip.wlan.mqttBroker.listenPort=1883"
LOGBACK_CONFIG_FILE="${LOGBACK_CONFIG_FILE:=/app/opensync/logback.xml}" LOGBACK_CONFIG_FILE="${LOGBACK_CONFIG_FILE:=/app/opensync/logback.xml}"
@@ -113,16 +106,9 @@ FILE_STORE_PROPS=" "
FILE_STORE_PROPS+=" -Dtip.wlan.fileStoreDirectory=$FILE_STORE_DIRECTORY" FILE_STORE_PROPS+=" -Dtip.wlan.fileStoreDirectory=$FILE_STORE_DIRECTORY"
FILE_STORE_PROPS+=" -Dtip.wlan.externalFileStoreURL=$FILE_STORE_EXTERNAL_URL" FILE_STORE_PROPS+=" -Dtip.wlan.externalFileStoreURL=$FILE_STORE_EXTERNAL_URL"
REMOTE_DEBUG_PORT=${REMOTE_DEBUG_PORT:-'5005'} REMOTE_DEBUG_PORT=5005
if [ "x$REMOTE_DEBUG_ENABLE" == "xtrue" ] REMOTE_DEBUG=" -agentlib:jdwp=transport=dt_socket,server=y,address=*:$REMOTE_DEBUG_PORT,suspend=n"
then
REMOTE_DEBUG=" -agentlib:jdwp=transport=dt_socket,server=y,address=*:$REMOTE_DEBUG_PORT,suspend=n"
else
REMOTE_DEBUG=" "
fi
JVM_EXTRA_PROPS=" ${JVM_MEM_OPTIONS:- } " export ALL_PROPS="$PROFILES $SSL_PROPS $CLIENT_MQTT_SSL_PROPS $OVSDB_PROPS $MQTT_PROPS $LOGGING_PROPS $RESTAPI_PROPS $SPRING_EXTRA_PROPS $HOST_PROPS $PROV_PROPS $FILE_STORE_PROPS $REMOTE_DEBUG"
export ALL_PROPS="$JVM_EXTRA_PROPS $PROFILES $SSL_PROPS $CLIENT_MQTT_SSL_PROPS $OVSDB_PROPS $MQTT_PROPS $LOGGING_PROPS $RESTAPI_PROPS $SPRING_EXTRA_PROPS $HOST_PROPS $PROV_PROPS $FILE_STORE_PROPS $REMOTE_DEBUG"
java $ALL_PROPS -jar app.jar java $ALL_PROPS -jar app.jar

View File

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

View File

@@ -1,9 +1,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent> <parent>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId> <artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath> <relativePath>../../wlan-cloud-root</relativePath>
</parent> </parent>
<artifactId>opensync-gateway-cloud-process</artifactId> <artifactId>opensync-gateway-cloud-process</artifactId>
@@ -16,99 +18,99 @@
<dependencies> <dependencies>
<!-- <dependency> <groupId>com.telecominfraproject.wlan</groupId> <artifactId>opensync-gateway</artifactId> <!-- <dependency> <groupId>com.telecominfraproject.wlan</groupId> <artifactId>opensync-gateway</artifactId>
<version>0.0.1-SNAPSHOT</version> </dependency> --> <version>${tip-wlan-cloud.release.version}</version> </dependency> -->
<dependency> <dependency>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<artifactId>opensync-ext-cloud</artifactId> <artifactId>opensync-ext-cloud</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>filestore-service</artifactId> <artifactId>filestore-service</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>customer-service-remote</artifactId> <artifactId>customer-service-remote</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>location-service-remote</artifactId> <artifactId>location-service-remote</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>equipment-service-remote</artifactId> <artifactId>equipment-service-remote</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>profile-service-remote</artifactId> <artifactId>profile-service-remote</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>portal-user-service-remote</artifactId> <artifactId>portal-user-service-remote</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>service-metric-service-remote</artifactId> <artifactId>service-metric-service-remote</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>system-event-service-remote</artifactId> <artifactId>system-event-service-remote</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>alarm-service-remote</artifactId> <artifactId>alarm-service-remote</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>status-service-remote</artifactId> <artifactId>status-service-remote</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>client-service-remote</artifactId> <artifactId>client-service-remote</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>routing-service-remote</artifactId> <artifactId>routing-service-remote</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>firmware-service-remote</artifactId> <artifactId>firmware-service-remote</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>manufacturer-service-remote</artifactId> <artifactId>manufacturer-service-remote</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>cloud-event-dispatcher-remote</artifactId> <artifactId>cloud-event-dispatcher-remote</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -136,7 +136,7 @@ tip.wlan.manufacturerServiceBaseUrl=https://localhost:9092
tip.wlan.portalUserServiceBaseUrl=https://localhost:9092 tip.wlan.portalUserServiceBaseUrl=https://localhost:9092
tip.wlan.fileStoreDirectory=/tmp/tip-wlan-filestore tip.wlan.fileStoreDirectory=/tmp/tip-wlan-filestore
tip.wlan.externalFileStoreURL=localhost:9096 tip.wlan.externalFileStoreURL=https://localhost:9096
#server.session-timeout= # session timeout in seconds #server.session-timeout= # session timeout in seconds
#server.tomcat.max-threads = 0 # number of threads in protocol handler #server.tomcat.max-threads = 0 # number of threads in protocol handler

View File

@@ -7,7 +7,6 @@
<listEntry value="1"/> <listEntry value="1"/>
</listAttribute> </listAttribute>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/> <booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/> <booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/> <booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
<listAttribute key="org.eclipse.jdt.launching.CLASSPATH"> <listAttribute key="org.eclipse.jdt.launching.CLASSPATH">

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId> <artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath> <relativePath>../../wlan-cloud-root</relativePath>
</parent> </parent>
<artifactId>opensync-gateway-static-docker</artifactId> <artifactId>opensync-gateway-static-docker</artifactId>
@@ -22,7 +22,7 @@
<dependency> <dependency>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<artifactId>opensync-gateway-static-process</artifactId> <artifactId>opensync-gateway-static-process</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
</dependencies> </dependencies>
@@ -34,7 +34,7 @@
<artifactId>docker-maven-plugin</artifactId> <artifactId>docker-maven-plugin</artifactId>
<version>${docker.fabric.version}</version> <version>${docker.fabric.version}</version>
<configuration> <configuration>
<verbose>false</verbose> <verbose>true</verbose>
<apiVersion>1.23</apiVersion> <apiVersion>1.23</apiVersion>
<images> <images>
<image> <image>

View File

@@ -1,472 +1,224 @@
{ {
"model_type": "Equipment", "model_type": "Equipment",
"id": 1, "id": 51,
"customerId": 2, "customerId": 2,
"profileId": 8, "profileId": 5,
"locationId": 8, "locationId": 8,
"equipmentType": "AP",
"inventoryId": "Test_Client_21P10C68818122",
"name": "Test_Client_21P10C68818122",
"details": {
"model_type": "ApElementConfiguration",
"equipmentModel": "EA8300-CA",
"elementConfigVersion": "AP-V1",
"equipmentType": "AP", "equipmentType": "AP",
"inventoryId": "Open_AP_21P10C68818122", "deviceMode": "standaloneAP",
"name": "Open_AP_21P10C68818122", "gettingIP": "dhcp",
"details": { "staticIP": null,
"model_type": "ApElementConfiguration", "staticIpMaskCidr": null,
"equipmentModel": "EA8300-CA", "staticIpGw": null,
"elementConfigVersion": "AP-V1", "gettingDNS": "dhcp",
"equipmentType": "AP", "staticDnsIp1": null,
"deviceMode": "standaloneAP", "staticDnsIp2": null,
"gettingIP": "dhcp", "peerInfoList": [],
"staticIP": null, "deviceName": "Default Device Name",
"staticIpMaskCidr": null, "locationData": null,
"staticIpGw": null, "locallyConfiguredMgmtVlan": 0,
"gettingDNS": "dhcp", "locallyConfigured": false,
"staticDnsIp1": null, "deploymentType": "CEILING",
"staticDnsIp2": null, "syntheticClientEnabled": null,
"peerInfoList": [], "frameReportThrottleEnabled": true,
"deviceName": "Open_AP_21P10C68818122", "antennaType": "OMNI",
"locationData": null, "costSavingEventsEnabled": true,
"locallyConfiguredMgmtVlan": 0, "forwardMode": "BRIDGE",
"locallyConfigured": false, "radioMap": {
"deploymentType": "CEILING", "is2dot4GHz": {
"syntheticClientEnabled": null, "model_type": "ElementRadioConfiguration",
"frameReportThrottleEnabled": true, "radioType": "is2dot4GHz",
"antennaType": "OMNI", "channelNumber": 6,
"costSavingEventsEnabled": true, "manualChannelNumber": 6,
"forwardMode": "BRIDGE", "backupChannelNumber": 11,
"radioMap": { "bannedChannels": [],
"is5GHzU": { "allowedChannels": [],
"model_type": "ElementRadioConfiguration", "rxCellSizeDb": {
"radioType": "is5GHzU", "model_type": "SourceSelectionValue",
"channelNumber": 149, "source": "auto",
"manualChannelNumber": 149, "value": -90
"backupChannelNumber": 157,
"manualBackupChannelNumber": 157,
"rxCellSizeDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"eirpTxPower": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": 18
},
"perimeterDetectionEnabled": true,
"bestAPSteerType": "both",
"deauthAttackDetection": null,
"allowedChannelsPowerLevels": [
{
"model_type": "ChannelPowerLevel",
"channelNumber": 161,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 100,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 132,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 165,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 104,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 136,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 108,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 140,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 112,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 144,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 116,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 149,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 153,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 157,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
}
]
},
"is2dot4GHz": {
"model_type": "ElementRadioConfiguration",
"radioType": "is2dot4GHz",
"channelNumber": 6,
"manualChannelNumber": 6,
"backupChannelNumber": 11,
"manualBackupChannelNumber": 11,
"rxCellSizeDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"eirpTxPower": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": 18
},
"perimeterDetectionEnabled": true,
"bestAPSteerType": "both",
"deauthAttackDetection": null,
"allowedChannelsPowerLevels": [
{
"model_type": "ChannelPowerLevel",
"channelNumber": 1,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 2,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 3,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 4,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 5,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 6,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 7,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 8,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 9,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 10,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 11,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
}
]
},
"is5GHzL": {
"model_type": "ElementRadioConfiguration",
"radioType": "is5GHzL",
"channelNumber": 36,
"manualChannelNumber": 36,
"backupChannelNumber": 44,
"manualBackupChannelNumber": 44,
"rxCellSizeDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"eirpTxPower": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": 18
},
"perimeterDetectionEnabled": true,
"bestAPSteerType": "both",
"deauthAttackDetection": null,
"allowedChannelsPowerLevels": [
{
"model_type": "ChannelPowerLevel",
"channelNumber": 52,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 36,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 56,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 40,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 60,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 44,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 64,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 48,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
}
]
}
}, },
"advancedRadioMap": { "probeResponseThresholdDb": {
"is2dot4GHz": { "model_type": "SourceSelectionValue",
"model_type": "RadioConfiguration", "source": "auto",
"radioType": "is2dot4GHz", "value": -90
"radioAdminState": "enabled", },
"fragmentationThresholdBytes": 2346, "clientDisconnectThresholdDb": {
"uapsdState": "enabled", "model_type": "SourceSelectionValue",
"stationIsolation": "disabled", "source": "auto",
"multicastRate": { "value": -90
"model_type": "SourceSelectionMulticast", },
"source": "profile", "eirpTxPower": {
"value": "auto" "model_type": "SourceSelectionValue",
}, "source": "auto",
"managementRate": { "value": 32
"model_type": "SourceSelectionManagement", },
"source": "profile", "perimeterDetectionEnabled": true,
"value": "auto" "bestAPSteerType": "both",
}, "deauthAttackDetection": null,
"bestApSettings": { "allowedChannelsPowerLevels": [],
"model_type": "SourceSelectionSteering", "activeChannel": 6
"source": "manual", },
"value": { "is5GHzU": {
"model_type": "RadioBestApSettings", "model_type": "ElementRadioConfiguration",
"mlComputed": true, "radioType": "is5GHzU",
"dropInSnrPercentage": 20, "channelNumber": 149,
"minLoadFactor": 50 "manualChannelNumber": 149,
} "backupChannelNumber": 154,
}, "bannedChannels": [],
"legacyBSSRate": "enabled", "allowedChannels": [],
"dtimPeriod": 2, "rxCellSizeDb": {
"deauthAttackDetection": null "model_type": "SourceSelectionValue",
}, "source": "auto",
"is5GHzU": { "value": -90
"model_type": "RadioConfiguration", },
"radioType": "is5GHzU", "probeResponseThresholdDb": {
"radioAdminState": "enabled", "model_type": "SourceSelectionValue",
"fragmentationThresholdBytes": 2346, "source": "auto",
"uapsdState": "enabled", "value": -90
"stationIsolation": "disabled", },
"multicastRate": { "clientDisconnectThresholdDb": {
"model_type": "SourceSelectionMulticast", "model_type": "SourceSelectionValue",
"source": "profile", "source": "auto",
"value": "auto" "value": -90
}, },
"managementRate": { "eirpTxPower": {
"model_type": "SourceSelectionManagement", "model_type": "SourceSelectionValue",
"source": "profile", "source": "auto",
"value": "auto" "value": 32
}, },
"bestApSettings": { "perimeterDetectionEnabled": true,
"model_type": "SourceSelectionSteering", "bestAPSteerType": "both",
"source": "manual", "deauthAttackDetection": null,
"value": { "allowedChannelsPowerLevels": [],
"model_type": "RadioBestApSettings", "activeChannel": 149
"mlComputed": true, },
"dropInSnrPercentage": 30, "is5GHzL": {
"minLoadFactor": 40 "model_type": "ElementRadioConfiguration",
} "radioType": "is5GHzL",
}, "channelNumber": 36,
"legacyBSSRate": "enabled", "manualChannelNumber": 36,
"dtimPeriod": 2, "backupChannelNumber": 44,
"deauthAttackDetection": null "bannedChannels": [],
}, "allowedChannels": [],
"is5GHzL": { "rxCellSizeDb": {
"model_type": "RadioConfiguration", "model_type": "SourceSelectionValue",
"radioType": "is5GHzL", "source": "auto",
"radioAdminState": "enabled", "value": -90
"fragmentationThresholdBytes": 2346, },
"uapsdState": "enabled", "probeResponseThresholdDb": {
"stationIsolation": "disabled", "model_type": "SourceSelectionValue",
"multicastRate": { "source": "auto",
"model_type": "SourceSelectionMulticast", "value": -90
"source": "profile", },
"value": "auto" "clientDisconnectThresholdDb": {
}, "model_type": "SourceSelectionValue",
"managementRate": { "source": "auto",
"model_type": "SourceSelectionManagement", "value": -90
"source": "profile", },
"value": "auto" "eirpTxPower": {
}, "model_type": "SourceSelectionValue",
"bestApSettings": { "source": "auto",
"model_type": "SourceSelectionSteering", "value": 32
"source": "manual", },
"value": { "perimeterDetectionEnabled": true,
"model_type": "RadioBestApSettings", "bestAPSteerType": "both",
"mlComputed": true, "deauthAttackDetection": null,
"dropInSnrPercentage": 30, "allowedChannelsPowerLevels": [],
"minLoadFactor": 40 "activeChannel": 36
} }
},
"legacyBSSRate": "enabled",
"dtimPeriod": 2,
"deauthAttackDetection": null
}
}
}, },
"latitude": null, "advancedRadioMap": {
"longitude": null, "is2dot4GHz": {
"baseMacAddress": { "model_type": "RadioConfiguration",
"model_type": "MacAddress", "radioType": "is2dot4GHz",
"address": "JPWi7y5T", "radioAdminState": "enabled",
"addressAsString": "24:f5:a2:ef:2e:53" "fragmentationThresholdBytes": 2346,
}, "wmmState": "enabled",
"serial": "21P10C68818122", "uapsdState": "enabled",
"createdTimestamp": 1612285288821, "stationIsolation": "disabled",
"lastModifiedTimestamp": 1612285293922 "managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
},
"is5GHzU": {
"model_type": "RadioConfiguration",
"radioType": "is5GHzU",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
},
"is5GHzL": {
"model_type": "RadioConfiguration",
"radioType": "is5GHzL",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
}
}
},
"latitude": null,
"longitude": null,
"serial": "21P10C68818122",
"createdTimestamp": 1591653239821,
"lastModifiedTimestamp": 1591653241398
} }

View File

@@ -1,61 +1,67 @@
{ {
"model_type": "Location", "model_type" : "Location",
"id": 8, "id" : 8,
"parentId": 0, "parentId" : 0,
"locationType": "SITE", "locationType" : "SITE",
"customerId": 2, "customerId" : 2,
"name": "Ottawa", "name" : "Ottawa",
"details": { "details" : {
"model_type": "LocationDetails", "model_type" : "LocationDetails",
"countryCode": "CA", "countryCode" : "ca",
"dailyActivityDetails": { "maintenanceWindow" : null,
"SUNDAY": { "rrmEnabled" : true,
"model_type": "LocationActivityDetails", "dailyRebalancingDetails" : {
"busyTime": "13:30", "SUNDAY" : {
"quietTime": "3:00", "model_type" : "LocationActivityDetails",
"timezone": "US/Eastern" "busyTime" : "13:30",
}, "quietTime" : "3:30",
"MONDAY": { "timezone" : "US/Eastern",
"model_type": "LocationActivityDetails", "lastBusySnapshot" : 0
"busyTime": "13:30", },
"quietTime": "3:00", "MONDAY" : {
"timezone": "US/Eastern" "model_type" : "LocationActivityDetails",
}, "busyTime" : "13:30",
"TUESDAY": { "quietTime" : "3:30",
"model_type": "LocationActivityDetails", "timezone" : "US/Eastern",
"busyTime": "13:30", "lastBusySnapshot" : 0
"quietTime": "3:00", },
"timezone": "US/Eastern" "TUESDAY" : {
}, "model_type" : "LocationActivityDetails",
"WEDNESDAY": { "busyTime" : "13:30",
"model_type": "LocationActivityDetails", "quietTime" : "3:30",
"busyTime": "13:30", "timezone" : "US/Eastern",
"quietTime": "3:00", "lastBusySnapshot" : 0
"timezone": "US/Eastern" },
}, "WEDNESDAY" : {
"THURSDAY": { "model_type" : "LocationActivityDetails",
"model_type": "LocationActivityDetails", "busyTime" : "13:30",
"busyTime": "13:30", "quietTime" : "3:30",
"quietTime": "3:00", "timezone" : "US/Eastern",
"timezone": "US/Eastern" "lastBusySnapshot" : 0
}, },
"FRIDAY": { "THURSDAY" : {
"model_type": "LocationActivityDetails", "model_type" : "LocationActivityDetails",
"busyTime": "13:30", "busyTime" : "13:30",
"quietTime": "3:00", "quietTime" : "3:30",
"timezone": "US/Eastern" "timezone" : "US/Eastern",
}, "lastBusySnapshot" : 0
"SATURDAY": { },
"model_type": "LocationActivityDetails", "FRIDAY" : {
"busyTime": "13:30", "model_type" : "LocationActivityDetails",
"quietTime": "3:00", "busyTime" : "13:30",
"timezone": "US/Eastern" "quietTime" : "3:30",
} "timezone" : "US/Eastern",
}, "lastBusySnapshot" : 0
"maintenanceWindow": null, },
"rrmEnabled": true, "SATURDAY" : {
"timezone": "US/Eastern" "model_type" : "LocationActivityDetails",
}, "busyTime" : "13:30",
"createdTimestamp": 1612285243534, "quietTime" : "3:30",
"lastModifiedTimestamp": 1612285243534 "timezone" : "US/Eastern",
"lastBusySnapshot" : 0
}
}
},
"createdTimestamp" : 1590607043540,
"lastModifiedTimestamp" : 1590607043540
} }

View File

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

View File

@@ -1,6 +1,6 @@
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 8, "id": 17,
"customerId": 2, "customerId": 2,
"profileType": "equipment_ap", "profileType": "equipment_ap",
"name": "ApProfile-3-radios", "name": "ApProfile-3-radios",
@@ -37,22 +37,14 @@
"bestAPSteerType": "both" "bestAPSteerType": "both"
} }
}, },
"greTunnelConfigurations": [
{
"model_type": "GreTunnelConfiguration",
"greTunnelName": "gre1",
"greRemoteInetAddr": "192.168.1.101",
"vlanIdsInGreTunnel": [
100
]
}
],
"profileType": "equipment_ap" "profileType": "equipment_ap"
}, },
"createdTimestamp": 1612285248925, "createdTimestamp": 1602182806348,
"lastModifiedTimestamp": 1612285628377, "lastModifiedTimestamp": 1602182806348,
"childProfileIds": [ "childProfileIds": [
2, 2,
4 5,
11,
13
] ]
} }

View File

@@ -1,58 +1,135 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 5, "id": 14,
"customerId": 2, "customerId": 2,
"profileType": "captive_portal", "profileType": "captive_portal",
"name": "Captive-portal", "name": "Captive-portal",
"details": { "details": {
"model_type": "CaptivePortalConfiguration", "model_type": "CaptivePortalConfiguration",
"name": "Default", "name": "Captive-portal",
"browserTitle": "Captive-portal", "browserTitle": "Access the network as Guest",
"headerContent": "Captive Portal", "headerContent": "Captive Portal",
"userAcceptancePolicy": "Please agree to the following terms for using this network:", "userAcceptancePolicy": "Use this network at your own risk. No warranty of any kind.",
"successPageMarkdownText": "You are now authorized and connected to the network.", "successPageMarkdownText": "Welcome to the network",
"redirectURL": "https://www.google.com", "redirectURL": "",
"externalCaptivePortalURL": null, "externalCaptivePortalURL": null,
"sessionTimeoutInMinutes": 10, "sessionTimeoutInMinutes": 60,
"logoFile": { "logoFile": null,
"model_type": "ManagedFileInfo", "backgroundFile": null,
"md5checksum": null, "walledGardenAllowlist": [],
"lastModifiedTimestamp": null, "usernamePasswordFile": {
"apExportUrl": "/filestore/tip-logo-mobile", "model_type": "ManagedFileInfo",
"fileCategory": "CaptivePortalLogo", "md5checksum": null,
"fileType": "PNG", "lastModifiedTimestamp": null,
"altSlot": false "apExportUrl": "userList",
}, "fileCategory": "UsernamePasswordList",
"backgroundFile": { "fileType": "TEXT",
"model_type": "ManagedFileInfo", "altSlot": true
"md5checksum": null, },
"lastModifiedTimestamp": null, "authenticationType": "guest",
"apExportUrl": "/filestore/tip-logo", "radiusAuthMethod": "CHAP",
"fileCategory": "CaptivePortalBackground", "maxUsersWithSameCredentials": 42,
"fileType": "PNG", "externalPolicyFile": null,
"altSlot": false "backgroundPosition": "left_top",
}, "backgroundRepeat": "no_repeat",
"walledGardenAllowlist": [ "radiusServiceName": null,
], "expiryType": "unlimited",
"usernamePasswordFile": null, "userList": [
"authenticationType": "guest", {
"radiusAuthMethod": "CHAP", "model_type": "TimedAccessUserRecord",
"maxUsersWithSameCredentials": 3, "username": "customer",
"externalPolicyFile": null, "password": "testing123",
"backgroundPosition": "left_top", "activationTime": 1602183994956,
"backgroundRepeat": "no_repeat", "expirationTime": 1602212794956,
"radiusServiceId": 0, "numDevices": 1,
"expiryType": "time_limited", "userDetails": {
"userList": [ "model_type": "TimedAccessUserDetails",
], "firstName": "Pac",
"macAllowList": [ "lastName": "Man",
], "passwordNeedsReset": false
"profileType": "captive_portal" },
"userMacAddresses": [
{
"model_type": "MacAddress",
"address": "fKtg5upO",
"addressAsString": "7c:ab:60:e6:ea:4e"
}
],
"lastModifiedTimestamp": 0
},
{
"model_type": "TimedAccessUserRecord",
"username": "customer",
"password": "testing123",
"activationTime": 1602183994957,
"expirationTime": 1602187594957,
"numDevices": 0,
"userDetails": {
"model_type": "TimedAccessUserDetails",
"firstName": "Q",
"lastName": "Bert",
"passwordNeedsReset": false
},
"userMacAddresses": [
{
"model_type": "MacAddress",
"address": "wJrQdqho",
"addressAsString": "c0:9a:d0:76:a8:68"
}
],
"lastModifiedTimestamp": 0
},
{
"model_type": "TimedAccessUserRecord",
"username": "customer2",
"password": "testing1234",
"activationTime": 1602183994957,
"expirationTime": 1602788794957,
"numDevices": 1,
"userDetails": {
"model_type": "TimedAccessUserDetails",
"firstName": "Duke",
"lastName": "Nukem",
"passwordNeedsReset": false
},
"userMacAddresses": [
{
"model_type": "MacAddress",
"address": "fKtg5upN",
"addressAsString": "7c:ab:60:e6:ea:4d"
}
],
"lastModifiedTimestamp": 0
},
{
"model_type": "TimedAccessUserRecord",
"username": "customer2",
"password": "testing1234",
"activationTime": 1602183994957,
"expirationTime": 1602270394957,
"numDevices": 0,
"userDetails": {
"model_type": "TimedAccessUserDetails",
"firstName": "Missile",
"lastName": "Commander",
"passwordNeedsReset": false
},
"userMacAddresses": [
{
"model_type": "MacAddress",
"address": "wJrQdqhj",
"addressAsString": "c0:9a:d0:76:a8:63"
}
],
"lastModifiedTimestamp": 0
}
],
"macAllowList": [],
"profileType": "captive_portal"
}, },
"createdTimestamp": 1611857459118, "createdTimestamp": 1602183994959,
"lastModifiedTimestamp": 1611857459118, "lastModifiedTimestamp": 1602183994959,
"childProfileIds": [ "childProfileIds": []
] }
}
] ]

View File

@@ -1,16 +1,16 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 37, "id": 10,
"customerId": 2, "customerId": 2,
"profileType": "passpoint", "profileType": "hotspot_2pt0",
"name": "hotspot20-profile-2021-01-21T21:28:59.171Z", "name": "TipWlan-Hotspot20-Config",
"details": { "details": {
"model_type": "PasspointProfile", "model_type": "Hotspot2Profile",
"enableInterworkingAndHs20": true, "enableInterworkingAndHs20": true,
"hessid": null, "hessid": null,
"passpointAccessNetworkType": "free_public_network", "accessNetworkType": "free_public_network",
"passpointNetworkAuthenticationType": "acceptance_of_terms_and_conditions", "networkAuthenticationType": "acceptance_of_terms_and_conditions",
"additionalStepsRequiredForAccess": 0, "additionalStepsRequiredForAccess": 0,
"deauthRequestTimeout": 0, "deauthRequestTimeout": 0,
"operatingClass": 0, "operatingClass": 0,
@@ -29,7 +29,7 @@
"internetConnectivity": true, "internetConnectivity": true,
"connectionCapabilitySet": [ "connectionCapabilitySet": [
{ {
"model_type": "PasspointConnectionCapability", "model_type": "ConnectionCapability",
"connectionCapabilitiesPortNumber": 8888, "connectionCapabilitiesPortNumber": 8888,
"connectionCapabilitiesIpProtocol": "TCP", "connectionCapabilitiesIpProtocol": "TCP",
"connectionCapabilitiesStatus": "open" "connectionCapabilitiesStatus": "open"
@@ -45,27 +45,28 @@
"disableDownstreamGroupAddressedForwarding": false, "disableDownstreamGroupAddressedForwarding": false,
"enable2pt4GHz": true, "enable2pt4GHz": true,
"enable5GHz": true, "enable5GHz": true,
"associatedAccessSsidProfileIds": [ "associatedAccessSsidNames": [
32 "TipWlan-cloud-hotspot-access"
], ],
"osuSsidProfileId": 31, "osuSsidName": "TipWlan-cloud-3-radios",
"passpointOperatorProfileId": 34, "operatorProfileName": "TipWlan-Hotspot20-Operator",
"passpointVenueProfileId": 33, "venueProfileName": "TipWlan-Hotspot20-Venue",
"passpointOsuProviderProfileIds": [ "idProviderProfileNames": [
35, "TipWlan-Hotspot20-OSU-Provider-2",
36 "TipWlan-Hotspot20-OSU-Provider"
], ],
"accessNetworkType": "free_public_network", "profileType": "hotspot_2pt0",
"networkAuthenticationType": "acceptance_of_terms_and_conditions", "associatedSsids": [
"profileType": "passpoint" "TipWlan-cloud-hotspot-access"
]
}, },
"createdTimestamp": 0, "createdTimestamp": 1602182806040,
"lastModifiedTimestamp": 1611264539331, "lastModifiedTimestamp": 1602182806040,
"childProfileIds": [ "childProfileIds": [
33, 6,
34, 7,
35, 8,
36 9
] ]
} }
] ]

View File

@@ -1,263 +1,256 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 35, "id": 8,
"customerId": 2, "customerId": 2,
"profileType": "passpoint_osu_id_provider", "profileType": "id_provider",
"name": "provider1-profile-2021-01-21T21:28:59.057Z", "name": "TipWlan-Hotspot20-OSU-Provider",
"details": { "details": {
"model_type": "PasspointOsuProviderProfile", "model_type": "Hotspot20IdProviderProfile",
"mccMncList": [ "domainName": "rogers.com",
{ "mccMncList": [
"model_type": "PasspointMccMnc", {
"mcc": 302, "model_type": "MccMnc",
"mnc": 720, "mcc": 302,
"iso": "ca", "mnc": 720,
"country": "Canada", "iso": "ca",
"countryCode": 1, "country": "Canada",
"network": "Rogers AT&T Wireless", "countryCode": 1,
"mccMncPairing": "302,720" "network": "Rogers AT&T Wireless",
} "mccMncPairing": "302,720"
], }
"naiRealmList": [ ],
{ "naiRealmList": [
"model_type": "PasspointNaiRealmInformation", {
"naiRealms": [ "model_type": "NaiRealmInformation",
"rogers.com" "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"
], ],
"encoding": 0, "EAP-TLS with certificate": [
"eapMethods": [ "Credential Type:Certificate"
"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": [ ],
{ "osuIconList": [
"model_type": "PasspointOsuIcon", {
"iconWidth": 32, "model_type": "OsuIcon",
"iconHeight": 32, "iconWidth": 32,
"languageCode": "eng", "iconHeight": 32,
"iconLocale": "en_CA", "languageCode": "eng",
"iconName": "icon32eng", "iconLocale": "en_CA",
"filePath": "/tmp/icon32eng.png", "iconName": "icon32eng",
"imageUrl": "https://localhost:9096/icon32eng.png", "filePath": "/tmp/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" "imageUrl": "https://localhost:9096/icon32eng.png",
}, "hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
{ },
"model_type": "PasspointOsuIcon", {
"iconWidth": 32, "model_type": "OsuIcon",
"iconHeight": 32, "iconWidth": 32,
"languageCode": "fra", "iconHeight": 32,
"iconLocale": "fr_CA", "languageCode": "fra",
"iconName": "icon32fra", "iconLocale": "fr_CA",
"filePath": "/tmp/icon32fra.png", "iconName": "icon32fra",
"imageUrl": "https://localhost:9096/icon32fra.png", "filePath": "/tmp/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" "imageUrl": "https://localhost:9096/icon32fra.png",
}, "hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
{ },
"model_type": "PasspointOsuIcon", {
"iconWidth": 32, "model_type": "OsuIcon",
"iconHeight": 32, "iconWidth": 32,
"languageCode": "eng", "iconHeight": 32,
"iconLocale": "en_US", "languageCode": "eng",
"iconName": "icon32usa", "iconLocale": "en_US",
"filePath": "/tmp/icon32usa.png", "iconName": "icon32usa",
"imageUrl": "https://localhost:9096/icon32usa.png", "filePath": "/tmp/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/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": [ "osuServerUri": "https://example.com/osu/rogers/",
{ "osuFriendlyName": [
"model_type": "PasspointDuple", {
"locale": "eng", "model_type": "Hotspot20Duple",
"dupleIso3Language": "eng", "locale": "en_CA",
"dupleName": "Example provider rogers", "dupleIso3Language": "eng",
"defaultDupleSeparator": ":", "dupleName": "Example provider rogers",
"asDuple": "eng:Example provider rogers" "defaultDupleSeparator": ":",
}, "asDuple": "eng:Example provider rogers"
{ },
"model_type": "PasspointDuple", {
"locale": "fra", "model_type": "Hotspot20Duple",
"dupleIso3Language": "fra", "locale": "fr_CA",
"dupleName": "Exemple de fournisseur rogers", "dupleIso3Language": "fra",
"defaultDupleSeparator": ":", "dupleName": "Exemple de fournisseur rogers",
"asDuple": "fra:Exemple de fournisseur rogers" "defaultDupleSeparator": ":",
} "asDuple": "fra:Exemple de fournisseur rogers"
], }
"osuNaiStandalone": "anonymous@rogers.com", ],
"osuNaiShared": "anonymous@rogers.com", "osuNaiStandalone": "anonymous@rogers.com",
"osuMethodList": [ "osuNaiShared": "anonymous@rogers.com",
1, "osuMethodList": [
0 1,
], 0
"osuServiceDescription": [ ],
{ "osuServiceDescription": [
"model_type": "PasspointDuple", {
"locale": "eng", "model_type": "Hotspot20Duple",
"dupleIso3Language": "eng", "locale": "en_CA",
"dupleName": "Example services rogers", "dupleIso3Language": "eng",
"defaultDupleSeparator": ":", "dupleName": "Example services rogers",
"asDuple": "eng:Example services rogers" "defaultDupleSeparator": ":",
}, "asDuple": "eng:Example services rogers"
{ },
"model_type": "PasspointDuple", {
"locale": "fra", "model_type": "Hotspot20Duple",
"dupleIso3Language": "fra", "locale": "fr_CA",
"dupleName": "Exemples de services rogers", "dupleIso3Language": "fra",
"defaultDupleSeparator": ":", "dupleName": "Exemples de services rogers",
"asDuple": "fra:Exemples de services rogers" "defaultDupleSeparator": ":",
} "asDuple": "fra:Exemples de services rogers"
], }
"roamingOi": [ ],
"BAA2D00100", "profileType": "id_provider"
"BAA2D00000"
],
"profileType": "passpoint_osu_id_provider"
},
"createdTimestamp": 1611264539070,
"lastModifiedTimestamp": 1611264539070,
"childProfileIds": []
}, },
{ "createdTimestamp": 1602182805654,
"model_type": "Profile", "lastModifiedTimestamp": 1602182805654,
"id": 36, "childProfileIds": []
"customerId": 2, },
"profileType": "passpoint_osu_id_provider", {
"name": "provider2-profile-2021-01-21T21:28:59.118Z", "model_type": "Profile",
"details": { "id": 9,
"model_type": "PasspointOsuProviderProfile", "customerId": 2,
"mccMncList": [ "profileType": "id_provider",
{ "name": "TipWlan-Hotspot20-OSU-Provider-2",
"model_type": "PasspointMccMnc", "details": {
"mcc": 302, "model_type": "Hotspot20IdProviderProfile",
"mnc": 220, "domainName": "telus.com",
"iso": "ca", "mccMncList": [
"country": "Canada", {
"countryCode": 1, "model_type": "MccMnc",
"network": "Telus Mobility", "mcc": 302,
"mccMncPairing": "302,220" "mnc": 220,
} "iso": "ca",
], "country": "Canada",
"naiRealmList": [ "countryCode": 1,
{ "network": "Telus Mobility",
"model_type": "PasspointNaiRealmInformation", "mccMncPairing": "302,220"
"naiRealms": [ }
"telus.com" ],
"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"
], ],
"encoding": 0, "EAP-TLS with certificate": [
"eapMethods": [ "Credential Type:Certificate"
"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": [ ],
{ "osuIconList": [
"model_type": "PasspointOsuIcon", {
"iconWidth": 32, "model_type": "OsuIcon",
"iconHeight": 32, "iconWidth": 32,
"languageCode": "eng", "iconHeight": 32,
"iconLocale": "en_CA", "languageCode": "eng",
"iconName": "icon32eng", "iconLocale": "en_CA",
"filePath": "/tmp/icon32eng.png", "iconName": "icon32eng",
"imageUrl": "https://localhost:9096/icon32eng.png", "filePath": "/tmp/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" "imageUrl": "https://localhost:9096/icon32eng.png",
}, "hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
{ },
"model_type": "PasspointOsuIcon", {
"iconWidth": 32, "model_type": "OsuIcon",
"iconHeight": 32, "iconWidth": 32,
"languageCode": "fra", "iconHeight": 32,
"iconLocale": "fr_CA", "languageCode": "fra",
"iconName": "icon32fra", "iconLocale": "fr_CA",
"filePath": "/tmp/icon32fra.png", "iconName": "icon32fra",
"imageUrl": "https://localhost:9096/icon32fra.png", "filePath": "/tmp/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" "imageUrl": "https://localhost:9096/icon32fra.png",
}, "hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
{ },
"model_type": "PasspointOsuIcon", {
"iconWidth": 32, "model_type": "OsuIcon",
"iconHeight": 32, "iconWidth": 32,
"languageCode": "eng", "iconHeight": 32,
"iconLocale": "en_US", "languageCode": "eng",
"iconName": "icon32usa", "iconLocale": "en_US",
"filePath": "/tmp/icon32usa.png", "iconName": "icon32usa",
"imageUrl": "https://localhost:9096/icon32usa.png", "filePath": "/tmp/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/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": [ "osuServerUri": "https://example.com/osu/telus/",
{ "osuFriendlyName": [
"model_type": "PasspointDuple", {
"locale": "eng", "model_type": "Hotspot20Duple",
"dupleIso3Language": "eng", "locale": "en_CA",
"dupleName": "Example provider telus", "dupleIso3Language": "eng",
"defaultDupleSeparator": ":", "dupleName": "Example provider telus",
"asDuple": "eng:Example provider telus" "defaultDupleSeparator": ":",
}, "asDuple": "eng:Example provider telus"
{ },
"model_type": "PasspointDuple", {
"locale": "fra", "model_type": "Hotspot20Duple",
"dupleIso3Language": "fra", "locale": "fr_CA",
"dupleName": "Exemple de fournisseur telus", "dupleIso3Language": "fra",
"defaultDupleSeparator": ":", "dupleName": "Exemple de fournisseur telus",
"asDuple": "fra:Exemple de fournisseur telus" "defaultDupleSeparator": ":",
} "asDuple": "fra:Exemple de fournisseur telus"
], }
"osuNaiStandalone": "anonymous@telus.com", ],
"osuNaiShared": "anonymous@telus.com", "osuNaiStandalone": "anonymous@telus.com",
"osuMethodList": [ "osuNaiShared": "anonymous@telus.com",
1, "osuMethodList": [
0 1,
], 0
"osuServiceDescription": [ ],
{ "osuServiceDescription": [
"model_type": "PasspointDuple", {
"locale": "eng", "model_type": "Hotspot20Duple",
"dupleIso3Language": "eng", "locale": "en_CA",
"dupleName": "Example services telus", "dupleIso3Language": "eng",
"defaultDupleSeparator": ":", "dupleName": "Example services telus",
"asDuple": "eng:Example services telus" "defaultDupleSeparator": ":",
}, "asDuple": "eng:Example services telus"
{ },
"model_type": "PasspointDuple", {
"locale": "fra", "model_type": "Hotspot20Duple",
"dupleIso3Language": "fra", "locale": "fr_CA",
"dupleName": "Exemples de services telus", "dupleIso3Language": "fra",
"defaultDupleSeparator": ":", "dupleName": "Exemples de services telus",
"asDuple": "fra:Exemples de services telus" "defaultDupleSeparator": ":",
} "asDuple": "fra:Exemples de services telus"
], }
"roamingOi": [ ],
"004096", "profileType": "id_provider"
"005014", },
"F4F5E8F5F4" "createdTimestamp": 1602182805660,
], "lastModifiedTimestamp": 1602182805660,
"profileType": "passpoint_osu_id_provider" "childProfileIds": []
}, }
"createdTimestamp": 1611264539131, ]
"lastModifiedTimestamp": 1611264539131,
"childProfileIds": []
}
]

View File

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

View File

@@ -1,41 +1,37 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 34, "id": 6,
"customerId": 2, "customerId": 2,
"profileType": "passpoint_operator", "profileType": "operator",
"name": "operator-profile-2021-01-21T21:28:58.994Z", "name": "TipWlan-Hotspot20-Operator",
"details": { "details": {
"model_type": "PasspointOperatorProfile", "model_type": "OperatorProfile",
"serverOnlyAuthenticatedL2EncryptionNetwork": false, "domainName": "telecominfraproject.atlassian.net",
"x509CertificateLocation": "/etc/ca.pem", "serverOnlyAuthenticatedL2EncryptionNetwork": false,
"operatorFriendlyName": [ "x509CertificateLocation": "/etc/ca.pem",
{ "operatorFriendlyName": [
"model_type": "PasspointDuple", {
"locale": "fra", "model_type": "Hotspot20Duple",
"dupleIso3Language": "fra", "locale": "en_CA",
"dupleName": "Nom de l'opérateur convivial par défaut", "dupleIso3Language": "eng",
"defaultDupleSeparator": ":", "dupleName": "Default friendly operator name",
"asDuple": "fra:Nom de l'opérateur convivial par défaut" "defaultDupleSeparator": ":",
}, "asDuple": "eng:Default friendly operator name"
{ },
"model_type": "PasspointDuple", {
"locale": "eng", "model_type": "Hotspot20Duple",
"dupleIso3Language": "eng", "locale": "fr_CA",
"dupleName": "Default friendly passpoint_operator name", "dupleIso3Language": "fra",
"defaultDupleSeparator": ":", "dupleName": "Nom de l'opérateur convivial par défaut",
"asDuple": "eng:Default friendly passpoint_operator name" "defaultDupleSeparator": ":",
} "asDuple": "fra:Nom de l'opérateur convivial par défaut"
], }
"domainNameList": [ ],
"bell.ca", "profileType": "operator"
"telus.com", },
"rogers.com" "createdTimestamp": 1602113058719,
], "lastModifiedTimestamp": 1602113058719,
"profileType": "passpoint_operator" "childProfileIds": []
}, }
"createdTimestamp": 1611264539004,
"lastModifiedTimestamp": 1611264539004,
"childProfileIds": []
}
] ]

View File

@@ -1,24 +1,34 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 1, "id": 1,
"customerId": 2, "customerId": 2,
"profileType": "radius", "profileType": "radius",
"name": "Radius-Profile", "name": "Radius-Profile",
"details": { "details": {
"model_type": "RadiusProfile", "model_type": "RadiusProfile",
"primaryRadiusAuthServer": { "subnetConfiguration": null,
"model_type": "RadiusServer", "serviceRegionMap": {
"ipAddress": "192.168.0.1", "Ottawa": {
"secret": "testing123", "model_type": "RadiusServiceRegion",
"port": 1812, "serverMap": {
"timeout": null "Radius-Profile": [
}, {
"profileType": "radius" "model_type": "RadiusServer",
}, "ipAddress": "192.168.0.1",
"createdTimestamp": 1611262628767, "secret": "testing123",
"lastModifiedTimestamp": 1611262628767, "authPort": 1812,
"childProfileIds": [ "timeout": null
] }
} ]
},
"regionName": "Ottawa"
}
},
"profileType": "radius"
},
"createdTimestamp": 1601961451668,
"lastModifiedTimestamp": 1601961451668,
"childProfileIds": []
}
] ]

View File

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

View File

@@ -1,75 +1,134 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 2, "id": 5,
"customerId": 2, "customerId": 2,
"profileType": "ssid", "profileType": "ssid",
"name": "TipWlan-cloud-3-radios", "name": "TipWlan-cloud-hotspot-access",
"details": { "details": {
"model_type": "SsidConfiguration", "model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-3-radios", "ssid": "TipWlan-cloud-hotspot-access",
"appliedRadios": [ "appliedRadios": [
"is5GHzU", "is5GHzU",
"is2dot4GHz", "is5GHzL",
"is5GHzL" "is2dot4GHz"
], ],
"ssidAdminState": "enabled", "ssidAdminState": "enabled",
"secureMode": "wpa2OnlyPSK", "secureMode": "wpa2PSK",
"vlanId": 1, "vlanId": 1,
"keyStr": "openwifi", "keyStr": "testing123",
"broadcastSsid": "enabled", "broadcastSsid": "enabled",
"keyRefresh": 0, "keyRefresh": 0,
"noLocalSubnets": false, "noLocalSubnets": false,
"radiusServiceId": 0, "radiusServiceName": null,
"radiusAcountingServiceInterval": 60, "captivePortalId": null,
"captivePortalId": null, "bandwidthLimitDown": 0,
"bandwidthLimitDown": 0, "bandwidthLimitUp": 0,
"bandwidthLimitUp": 0, "clientBandwidthLimitDown": 0,
"clientBandwidthLimitDown": 0, "clientBandwidthLimitUp": 0,
"clientBandwidthLimitUp": 0, "videoTrafficOnly": false,
"videoTrafficOnly": false, "radioBasedConfigs": {
"radioBasedConfigs": { "is5GHz": {
"is5GHzU": { "model_type": "RadioBasedSsidConfiguration",
"model_type": "RadioBasedSsidConfiguration", "enable80211r": null,
"enable80211r": null, "enable80211k": null,
"enable80211k": null, "enable80211v": null
"enable80211v": null },
}, "is2dot4GHz": {
"is2dot4GHz": { "model_type": "RadioBasedSsidConfiguration",
"model_type": "RadioBasedSsidConfiguration", "enable80211r": null,
"enable80211r": null, "enable80211k": null,
"enable80211k": null, "enable80211v": null
"enable80211v": null },
}, "is5GHzU": {
"is5GHz": { "model_type": "RadioBasedSsidConfiguration",
"model_type": "RadioBasedSsidConfiguration", "enable80211r": null,
"enable80211r": null, "enable80211k": null,
"enable80211k": null, "enable80211v": null
"enable80211v": null },
}, "is5GHzL": {
"is5GHzL": { "model_type": "RadioBasedSsidConfiguration",
"model_type": "RadioBasedSsidConfiguration", "enable80211r": null,
"enable80211r": null, "enable80211k": null,
"enable80211k": null, "enable80211v": null
"enable80211v": null }
} },
}, "bonjourGatewayProfileId": null,
"bonjourGatewayProfileId": null, "enable80211w": null,
"enable80211w": null, "wepConfig": null,
"wepConfig": null, "forwardMode": null,
"forwardMode": "BRIDGE", "profileType": "ssid"
"profileType": "ssid", },
"radiusClientConfiguration": { "createdTimestamp": 1602113058718,
"model_type": "RadiusNasConfiguration", "lastModifiedTimestamp": 1602113059547,
"nasClientId": "DEFAULT", "childProfileIds": [
"nasClientIp": "WAN_IP", 10
"userDefinedNasId": null, ]
"userDefinedNasIp": null, },
"operatorId": null {
} "model_type": "Profile",
}, "id": 11,
"createdTimestamp": 1612285248638, "customerId": 2,
"lastModifiedTimestamp": 1612285248638, "profileType": "ssid",
"childProfileIds": [] "name": "TipWlan-cloud-3-radios",
} "details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-3-radios",
"appliedRadios": [
"is5GHzL",
"is2dot4GHz",
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "open",
"vlanId": 1,
"keyStr": null,
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
"clientBandwidthLimitDown": 0,
"clientBandwidthLimitUp": 0,
"videoTrafficOnly": false,
"radioBasedConfigs": {
"is5GHz": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is2dot4GHz": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is5GHzU": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is5GHzL": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
}
},
"bonjourGatewayProfileId": null,
"enable80211w": null,
"wepConfig": null,
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602183994766,
"lastModifiedTimestamp": 1602183994766,
"childProfileIds": [
10
]
}
] ]

View File

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

View File

@@ -174,9 +174,7 @@ RESTAPI_PROPS="$RESTAPI_PROPS -Dserver.port=4043"
SPRING_EXTRA_PROPS=" --add-opens java.base/java.lang=ALL-UNNAMED" SPRING_EXTRA_PROPS=" --add-opens java.base/java.lang=ALL-UNNAMED"
JVM_EXTRA_PROPS=" ${JVM_MEM_OPTIONS:- } " export ALL_PROPS="$PROFILES $SSL_PROPS $CLIENT_MQTT_SSL_PROPS $OVSDB_PROPS $MQTT_PROPS $LOGGING_PROPS $RESTAPI_PROPS $SPRING_EXTRA_PROPS "
export ALL_PROPS="$JVM_EXTRA_PROPS $PROFILES $SSL_PROPS $CLIENT_MQTT_SSL_PROPS $OVSDB_PROPS $MQTT_PROPS $LOGGING_PROPS $RESTAPI_PROPS $SPRING_EXTRA_PROPS "
echo Starting opensync wifi controller echo Starting opensync wifi controller

View File

@@ -1,472 +1,224 @@
{ {
"model_type": "Equipment", "model_type": "Equipment",
"id": 1, "id": 51,
"customerId": 2, "customerId": 2,
"profileId": 8, "profileId": 5,
"locationId": 8, "locationId": 8,
"equipmentType": "AP",
"inventoryId": "Test_Client_21P10C68818122",
"name": "Test_Client_21P10C68818122",
"details": {
"model_type": "ApElementConfiguration",
"equipmentModel": "EA8300-CA",
"elementConfigVersion": "AP-V1",
"equipmentType": "AP", "equipmentType": "AP",
"inventoryId": "Open_AP_21P10C68818122", "deviceMode": "standaloneAP",
"name": "Open_AP_21P10C68818122", "gettingIP": "dhcp",
"details": { "staticIP": null,
"model_type": "ApElementConfiguration", "staticIpMaskCidr": null,
"equipmentModel": "EA8300-CA", "staticIpGw": null,
"elementConfigVersion": "AP-V1", "gettingDNS": "dhcp",
"equipmentType": "AP", "staticDnsIp1": null,
"deviceMode": "standaloneAP", "staticDnsIp2": null,
"gettingIP": "dhcp", "peerInfoList": [],
"staticIP": null, "deviceName": "Default Device Name",
"staticIpMaskCidr": null, "locationData": null,
"staticIpGw": null, "locallyConfiguredMgmtVlan": 0,
"gettingDNS": "dhcp", "locallyConfigured": false,
"staticDnsIp1": null, "deploymentType": "CEILING",
"staticDnsIp2": null, "syntheticClientEnabled": null,
"peerInfoList": [], "frameReportThrottleEnabled": true,
"deviceName": "Open_AP_21P10C68818122", "antennaType": "OMNI",
"locationData": null, "costSavingEventsEnabled": true,
"locallyConfiguredMgmtVlan": 0, "forwardMode": "BRIDGE",
"locallyConfigured": false, "radioMap": {
"deploymentType": "CEILING", "is2dot4GHz": {
"syntheticClientEnabled": null, "model_type": "ElementRadioConfiguration",
"frameReportThrottleEnabled": true, "radioType": "is2dot4GHz",
"antennaType": "OMNI", "channelNumber": 6,
"costSavingEventsEnabled": true, "manualChannelNumber": 6,
"forwardMode": "BRIDGE", "backupChannelNumber": 11,
"radioMap": { "bannedChannels": [],
"is5GHzU": { "allowedChannels": [],
"model_type": "ElementRadioConfiguration", "rxCellSizeDb": {
"radioType": "is5GHzU", "model_type": "SourceSelectionValue",
"channelNumber": 149, "source": "auto",
"manualChannelNumber": 149, "value": -90
"backupChannelNumber": 157,
"manualBackupChannelNumber": 157,
"rxCellSizeDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"eirpTxPower": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": 18
},
"perimeterDetectionEnabled": true,
"bestAPSteerType": "both",
"deauthAttackDetection": null,
"allowedChannelsPowerLevels": [
{
"model_type": "ChannelPowerLevel",
"channelNumber": 161,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 100,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 132,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 165,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 104,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 136,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 108,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 140,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 112,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 144,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 116,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 149,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 153,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 157,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
}
]
},
"is2dot4GHz": {
"model_type": "ElementRadioConfiguration",
"radioType": "is2dot4GHz",
"channelNumber": 6,
"manualChannelNumber": 6,
"backupChannelNumber": 11,
"manualBackupChannelNumber": 11,
"rxCellSizeDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"eirpTxPower": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": 18
},
"perimeterDetectionEnabled": true,
"bestAPSteerType": "both",
"deauthAttackDetection": null,
"allowedChannelsPowerLevels": [
{
"model_type": "ChannelPowerLevel",
"channelNumber": 1,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 2,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 3,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 4,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 5,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 6,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 7,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 8,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 9,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 10,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 11,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
}
]
},
"is5GHzL": {
"model_type": "ElementRadioConfiguration",
"radioType": "is5GHzL",
"channelNumber": 36,
"manualChannelNumber": 36,
"backupChannelNumber": 44,
"manualBackupChannelNumber": 44,
"rxCellSizeDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"eirpTxPower": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": 18
},
"perimeterDetectionEnabled": true,
"bestAPSteerType": "both",
"deauthAttackDetection": null,
"allowedChannelsPowerLevels": [
{
"model_type": "ChannelPowerLevel",
"channelNumber": 52,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 36,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 56,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 40,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 60,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 44,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 64,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 48,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
}
]
}
}, },
"advancedRadioMap": { "probeResponseThresholdDb": {
"is2dot4GHz": { "model_type": "SourceSelectionValue",
"model_type": "RadioConfiguration", "source": "auto",
"radioType": "is2dot4GHz", "value": -90
"radioAdminState": "enabled", },
"fragmentationThresholdBytes": 2346, "clientDisconnectThresholdDb": {
"uapsdState": "enabled", "model_type": "SourceSelectionValue",
"stationIsolation": "disabled", "source": "auto",
"multicastRate": { "value": -90
"model_type": "SourceSelectionMulticast", },
"source": "profile", "eirpTxPower": {
"value": "auto" "model_type": "SourceSelectionValue",
}, "source": "auto",
"managementRate": { "value": 32
"model_type": "SourceSelectionManagement", },
"source": "profile", "perimeterDetectionEnabled": true,
"value": "auto" "bestAPSteerType": "both",
}, "deauthAttackDetection": null,
"bestApSettings": { "allowedChannelsPowerLevels": [],
"model_type": "SourceSelectionSteering", "activeChannel": 6
"source": "manual", },
"value": { "is5GHzU": {
"model_type": "RadioBestApSettings", "model_type": "ElementRadioConfiguration",
"mlComputed": true, "radioType": "is5GHzU",
"dropInSnrPercentage": 20, "channelNumber": 149,
"minLoadFactor": 50 "manualChannelNumber": 149,
} "backupChannelNumber": 154,
}, "bannedChannels": [],
"legacyBSSRate": "enabled", "allowedChannels": [],
"dtimPeriod": 2, "rxCellSizeDb": {
"deauthAttackDetection": null "model_type": "SourceSelectionValue",
}, "source": "auto",
"is5GHzU": { "value": -90
"model_type": "RadioConfiguration", },
"radioType": "is5GHzU", "probeResponseThresholdDb": {
"radioAdminState": "enabled", "model_type": "SourceSelectionValue",
"fragmentationThresholdBytes": 2346, "source": "auto",
"uapsdState": "enabled", "value": -90
"stationIsolation": "disabled", },
"multicastRate": { "clientDisconnectThresholdDb": {
"model_type": "SourceSelectionMulticast", "model_type": "SourceSelectionValue",
"source": "profile", "source": "auto",
"value": "auto" "value": -90
}, },
"managementRate": { "eirpTxPower": {
"model_type": "SourceSelectionManagement", "model_type": "SourceSelectionValue",
"source": "profile", "source": "auto",
"value": "auto" "value": 32
}, },
"bestApSettings": { "perimeterDetectionEnabled": true,
"model_type": "SourceSelectionSteering", "bestAPSteerType": "both",
"source": "manual", "deauthAttackDetection": null,
"value": { "allowedChannelsPowerLevels": [],
"model_type": "RadioBestApSettings", "activeChannel": 149
"mlComputed": true, },
"dropInSnrPercentage": 30, "is5GHzL": {
"minLoadFactor": 40 "model_type": "ElementRadioConfiguration",
} "radioType": "is5GHzL",
}, "channelNumber": 36,
"legacyBSSRate": "enabled", "manualChannelNumber": 36,
"dtimPeriod": 2, "backupChannelNumber": 44,
"deauthAttackDetection": null "bannedChannels": [],
}, "allowedChannels": [],
"is5GHzL": { "rxCellSizeDb": {
"model_type": "RadioConfiguration", "model_type": "SourceSelectionValue",
"radioType": "is5GHzL", "source": "auto",
"radioAdminState": "enabled", "value": -90
"fragmentationThresholdBytes": 2346, },
"uapsdState": "enabled", "probeResponseThresholdDb": {
"stationIsolation": "disabled", "model_type": "SourceSelectionValue",
"multicastRate": { "source": "auto",
"model_type": "SourceSelectionMulticast", "value": -90
"source": "profile", },
"value": "auto" "clientDisconnectThresholdDb": {
}, "model_type": "SourceSelectionValue",
"managementRate": { "source": "auto",
"model_type": "SourceSelectionManagement", "value": -90
"source": "profile", },
"value": "auto" "eirpTxPower": {
}, "model_type": "SourceSelectionValue",
"bestApSettings": { "source": "auto",
"model_type": "SourceSelectionSteering", "value": 32
"source": "manual", },
"value": { "perimeterDetectionEnabled": true,
"model_type": "RadioBestApSettings", "bestAPSteerType": "both",
"mlComputed": true, "deauthAttackDetection": null,
"dropInSnrPercentage": 30, "allowedChannelsPowerLevels": [],
"minLoadFactor": 40 "activeChannel": 36
} }
},
"legacyBSSRate": "enabled",
"dtimPeriod": 2,
"deauthAttackDetection": null
}
}
}, },
"latitude": null, "advancedRadioMap": {
"longitude": null, "is2dot4GHz": {
"baseMacAddress": { "model_type": "RadioConfiguration",
"model_type": "MacAddress", "radioType": "is2dot4GHz",
"address": "JPWi7y5T", "radioAdminState": "enabled",
"addressAsString": "24:f5:a2:ef:2e:53" "fragmentationThresholdBytes": 2346,
}, "wmmState": "enabled",
"serial": "21P10C68818122", "uapsdState": "enabled",
"createdTimestamp": 1612285288821, "stationIsolation": "disabled",
"lastModifiedTimestamp": 1612285293922 "managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
},
"is5GHzU": {
"model_type": "RadioConfiguration",
"radioType": "is5GHzU",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
},
"is5GHzL": {
"model_type": "RadioConfiguration",
"radioType": "is5GHzL",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
}
}
},
"latitude": null,
"longitude": null,
"serial": "21P10C68818122",
"createdTimestamp": 1591653239821,
"lastModifiedTimestamp": 1591653241398
} }

View File

@@ -1,61 +1,67 @@
{ {
"model_type": "Location", "model_type" : "Location",
"id": 8, "id" : 8,
"parentId": 0, "parentId" : 0,
"locationType": "SITE", "locationType" : "SITE",
"customerId": 2, "customerId" : 2,
"name": "Ottawa", "name" : "Ottawa",
"details": { "details" : {
"model_type": "LocationDetails", "model_type" : "LocationDetails",
"countryCode": "CA", "countryCode" : "ca",
"dailyActivityDetails": { "maintenanceWindow" : null,
"SUNDAY": { "rrmEnabled" : true,
"model_type": "LocationActivityDetails", "dailyRebalancingDetails" : {
"busyTime": "13:30", "SUNDAY" : {
"quietTime": "3:00", "model_type" : "LocationActivityDetails",
"timezone": "US/Eastern" "busyTime" : "13:30",
}, "quietTime" : "3:30",
"MONDAY": { "timezone" : "US/Eastern",
"model_type": "LocationActivityDetails", "lastBusySnapshot" : 0
"busyTime": "13:30", },
"quietTime": "3:00", "MONDAY" : {
"timezone": "US/Eastern" "model_type" : "LocationActivityDetails",
}, "busyTime" : "13:30",
"TUESDAY": { "quietTime" : "3:30",
"model_type": "LocationActivityDetails", "timezone" : "US/Eastern",
"busyTime": "13:30", "lastBusySnapshot" : 0
"quietTime": "3:00", },
"timezone": "US/Eastern" "TUESDAY" : {
}, "model_type" : "LocationActivityDetails",
"WEDNESDAY": { "busyTime" : "13:30",
"model_type": "LocationActivityDetails", "quietTime" : "3:30",
"busyTime": "13:30", "timezone" : "US/Eastern",
"quietTime": "3:00", "lastBusySnapshot" : 0
"timezone": "US/Eastern" },
}, "WEDNESDAY" : {
"THURSDAY": { "model_type" : "LocationActivityDetails",
"model_type": "LocationActivityDetails", "busyTime" : "13:30",
"busyTime": "13:30", "quietTime" : "3:30",
"quietTime": "3:00", "timezone" : "US/Eastern",
"timezone": "US/Eastern" "lastBusySnapshot" : 0
}, },
"FRIDAY": { "THURSDAY" : {
"model_type": "LocationActivityDetails", "model_type" : "LocationActivityDetails",
"busyTime": "13:30", "busyTime" : "13:30",
"quietTime": "3:00", "quietTime" : "3:30",
"timezone": "US/Eastern" "timezone" : "US/Eastern",
}, "lastBusySnapshot" : 0
"SATURDAY": { },
"model_type": "LocationActivityDetails", "FRIDAY" : {
"busyTime": "13:30", "model_type" : "LocationActivityDetails",
"quietTime": "3:00", "busyTime" : "13:30",
"timezone": "US/Eastern" "quietTime" : "3:30",
} "timezone" : "US/Eastern",
}, "lastBusySnapshot" : 0
"maintenanceWindow": null, },
"rrmEnabled": true, "SATURDAY" : {
"timezone": "US/Eastern" "model_type" : "LocationActivityDetails",
}, "busyTime" : "13:30",
"createdTimestamp": 1612285243534, "quietTime" : "3:30",
"lastModifiedTimestamp": 1612285243534 "timezone" : "US/Eastern",
"lastBusySnapshot" : 0
}
}
},
"createdTimestamp" : 1590607043540,
"lastModifiedTimestamp" : 1590607043540
} }

View File

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

View File

@@ -1,6 +1,6 @@
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 8, "id": 17,
"customerId": 2, "customerId": 2,
"profileType": "equipment_ap", "profileType": "equipment_ap",
"name": "ApProfile-3-radios", "name": "ApProfile-3-radios",
@@ -37,22 +37,14 @@
"bestAPSteerType": "both" "bestAPSteerType": "both"
} }
}, },
"greTunnelConfigurations": [
{
"model_type": "GreTunnelConfiguration",
"greTunnelName": "gre1",
"greRemoteInetAddr": "192.168.1.101",
"vlanIdsInGreTunnel": [
100
]
}
],
"profileType": "equipment_ap" "profileType": "equipment_ap"
}, },
"createdTimestamp": 1612285248925, "createdTimestamp": 1602182806348,
"lastModifiedTimestamp": 1612285628377, "lastModifiedTimestamp": 1602182806348,
"childProfileIds": [ "childProfileIds": [
2, 2,
4 5,
11,
13
] ]
} }

View File

@@ -1,58 +1,135 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 5, "id": 14,
"customerId": 2, "customerId": 2,
"profileType": "captive_portal", "profileType": "captive_portal",
"name": "Captive-portal", "name": "Captive-portal",
"details": { "details": {
"model_type": "CaptivePortalConfiguration", "model_type": "CaptivePortalConfiguration",
"name": "Default", "name": "Captive-portal",
"browserTitle": "Captive-portal", "browserTitle": "Access the network as Guest",
"headerContent": "Captive Portal", "headerContent": "Captive Portal",
"userAcceptancePolicy": "Please agree to the following terms for using this network:", "userAcceptancePolicy": "Use this network at your own risk. No warranty of any kind.",
"successPageMarkdownText": "You are now authorized and connected to the network.", "successPageMarkdownText": "Welcome to the network",
"redirectURL": "https://www.google.com", "redirectURL": "",
"externalCaptivePortalURL": null, "externalCaptivePortalURL": null,
"sessionTimeoutInMinutes": 10, "sessionTimeoutInMinutes": 60,
"logoFile": { "logoFile": null,
"model_type": "ManagedFileInfo", "backgroundFile": null,
"md5checksum": null, "walledGardenAllowlist": [],
"lastModifiedTimestamp": null, "usernamePasswordFile": {
"apExportUrl": "/filestore/tip-logo-mobile", "model_type": "ManagedFileInfo",
"fileCategory": "CaptivePortalLogo", "md5checksum": null,
"fileType": "PNG", "lastModifiedTimestamp": null,
"altSlot": false "apExportUrl": "userList",
}, "fileCategory": "UsernamePasswordList",
"backgroundFile": { "fileType": "TEXT",
"model_type": "ManagedFileInfo", "altSlot": true
"md5checksum": null, },
"lastModifiedTimestamp": null, "authenticationType": "guest",
"apExportUrl": "/filestore/tip-logo", "radiusAuthMethod": "CHAP",
"fileCategory": "CaptivePortalBackground", "maxUsersWithSameCredentials": 42,
"fileType": "PNG", "externalPolicyFile": null,
"altSlot": false "backgroundPosition": "left_top",
}, "backgroundRepeat": "no_repeat",
"walledGardenAllowlist": [ "radiusServiceName": null,
], "expiryType": "unlimited",
"usernamePasswordFile": null, "userList": [
"authenticationType": "guest", {
"radiusAuthMethod": "CHAP", "model_type": "TimedAccessUserRecord",
"maxUsersWithSameCredentials": 3, "username": "customer",
"externalPolicyFile": null, "password": "testing123",
"backgroundPosition": "left_top", "activationTime": 1602183994956,
"backgroundRepeat": "no_repeat", "expirationTime": 1602212794956,
"radiusServiceId": 0, "numDevices": 1,
"expiryType": "time_limited", "userDetails": {
"userList": [ "model_type": "TimedAccessUserDetails",
], "firstName": "Pac",
"macAllowList": [ "lastName": "Man",
], "passwordNeedsReset": false
"profileType": "captive_portal" },
"userMacAddresses": [
{
"model_type": "MacAddress",
"address": "fKtg5upO",
"addressAsString": "7c:ab:60:e6:ea:4e"
}
],
"lastModifiedTimestamp": 0
},
{
"model_type": "TimedAccessUserRecord",
"username": "customer",
"password": "testing123",
"activationTime": 1602183994957,
"expirationTime": 1602187594957,
"numDevices": 0,
"userDetails": {
"model_type": "TimedAccessUserDetails",
"firstName": "Q",
"lastName": "Bert",
"passwordNeedsReset": false
},
"userMacAddresses": [
{
"model_type": "MacAddress",
"address": "wJrQdqho",
"addressAsString": "c0:9a:d0:76:a8:68"
}
],
"lastModifiedTimestamp": 0
},
{
"model_type": "TimedAccessUserRecord",
"username": "customer2",
"password": "testing1234",
"activationTime": 1602183994957,
"expirationTime": 1602788794957,
"numDevices": 1,
"userDetails": {
"model_type": "TimedAccessUserDetails",
"firstName": "Duke",
"lastName": "Nukem",
"passwordNeedsReset": false
},
"userMacAddresses": [
{
"model_type": "MacAddress",
"address": "fKtg5upN",
"addressAsString": "7c:ab:60:e6:ea:4d"
}
],
"lastModifiedTimestamp": 0
},
{
"model_type": "TimedAccessUserRecord",
"username": "customer2",
"password": "testing1234",
"activationTime": 1602183994957,
"expirationTime": 1602270394957,
"numDevices": 0,
"userDetails": {
"model_type": "TimedAccessUserDetails",
"firstName": "Missile",
"lastName": "Commander",
"passwordNeedsReset": false
},
"userMacAddresses": [
{
"model_type": "MacAddress",
"address": "wJrQdqhj",
"addressAsString": "c0:9a:d0:76:a8:63"
}
],
"lastModifiedTimestamp": 0
}
],
"macAllowList": [],
"profileType": "captive_portal"
}, },
"createdTimestamp": 1611857459118, "createdTimestamp": 1602183994959,
"lastModifiedTimestamp": 1611857459118, "lastModifiedTimestamp": 1602183994959,
"childProfileIds": [ "childProfileIds": []
] }
}
] ]

View File

@@ -1,16 +1,16 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 37, "id": 10,
"customerId": 2, "customerId": 2,
"profileType": "passpoint", "profileType": "hotspot_2pt0",
"name": "hotspot20-profile-2021-01-21T21:28:59.171Z", "name": "TipWlan-Hotspot20-Config",
"details": { "details": {
"model_type": "PasspointProfile", "model_type": "Hotspot2Profile",
"enableInterworkingAndHs20": true, "enableInterworkingAndHs20": true,
"hessid": null, "hessid": null,
"passpointAccessNetworkType": "free_public_network", "accessNetworkType": "free_public_network",
"passpointNetworkAuthenticationType": "acceptance_of_terms_and_conditions", "networkAuthenticationType": "acceptance_of_terms_and_conditions",
"additionalStepsRequiredForAccess": 0, "additionalStepsRequiredForAccess": 0,
"deauthRequestTimeout": 0, "deauthRequestTimeout": 0,
"operatingClass": 0, "operatingClass": 0,
@@ -29,7 +29,7 @@
"internetConnectivity": true, "internetConnectivity": true,
"connectionCapabilitySet": [ "connectionCapabilitySet": [
{ {
"model_type": "PasspointConnectionCapability", "model_type": "ConnectionCapability",
"connectionCapabilitiesPortNumber": 8888, "connectionCapabilitiesPortNumber": 8888,
"connectionCapabilitiesIpProtocol": "TCP", "connectionCapabilitiesIpProtocol": "TCP",
"connectionCapabilitiesStatus": "open" "connectionCapabilitiesStatus": "open"
@@ -45,27 +45,28 @@
"disableDownstreamGroupAddressedForwarding": false, "disableDownstreamGroupAddressedForwarding": false,
"enable2pt4GHz": true, "enable2pt4GHz": true,
"enable5GHz": true, "enable5GHz": true,
"associatedAccessSsidProfileIds": [ "associatedAccessSsidNames": [
32 "TipWlan-cloud-hotspot-access"
], ],
"osuSsidProfileId": 31, "osuSsidName": "TipWlan-cloud-3-radios",
"passpointOperatorProfileId": 34, "operatorProfileName": "TipWlan-Hotspot20-Operator",
"passpointVenueProfileId": 33, "venueProfileName": "TipWlan-Hotspot20-Venue",
"passpointOsuProviderProfileIds": [ "idProviderProfileNames": [
35, "TipWlan-Hotspot20-OSU-Provider-2",
36 "TipWlan-Hotspot20-OSU-Provider"
], ],
"accessNetworkType": "free_public_network", "profileType": "hotspot_2pt0",
"networkAuthenticationType": "acceptance_of_terms_and_conditions", "associatedSsids": [
"profileType": "passpoint" "TipWlan-cloud-hotspot-access"
]
}, },
"createdTimestamp": 0, "createdTimestamp": 1602182806040,
"lastModifiedTimestamp": 1611264539331, "lastModifiedTimestamp": 1602182806040,
"childProfileIds": [ "childProfileIds": [
33, 6,
34, 7,
35, 8,
36 9
] ]
} }
] ]

View File

@@ -1,263 +1,256 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 35, "id": 8,
"customerId": 2, "customerId": 2,
"profileType": "passpoint_osu_id_provider", "profileType": "id_provider",
"name": "provider1-profile-2021-01-21T21:28:59.057Z", "name": "TipWlan-Hotspot20-OSU-Provider",
"details": { "details": {
"model_type": "PasspointOsuProviderProfile", "model_type": "Hotspot20IdProviderProfile",
"mccMncList": [ "domainName": "rogers.com",
{ "mccMncList": [
"model_type": "PasspointMccMnc", {
"mcc": 302, "model_type": "MccMnc",
"mnc": 720, "mcc": 302,
"iso": "ca", "mnc": 720,
"country": "Canada", "iso": "ca",
"countryCode": 1, "country": "Canada",
"network": "Rogers AT&T Wireless", "countryCode": 1,
"mccMncPairing": "302,720" "network": "Rogers AT&T Wireless",
} "mccMncPairing": "302,720"
], }
"naiRealmList": [ ],
{ "naiRealmList": [
"model_type": "PasspointNaiRealmInformation", {
"naiRealms": [ "model_type": "NaiRealmInformation",
"rogers.com" "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"
], ],
"encoding": 0, "EAP-TLS with certificate": [
"eapMethods": [ "Credential Type:Certificate"
"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": [ ],
{ "osuIconList": [
"model_type": "PasspointOsuIcon", {
"iconWidth": 32, "model_type": "OsuIcon",
"iconHeight": 32, "iconWidth": 32,
"languageCode": "eng", "iconHeight": 32,
"iconLocale": "en_CA", "languageCode": "eng",
"iconName": "icon32eng", "iconLocale": "en_CA",
"filePath": "/tmp/icon32eng.png", "iconName": "icon32eng",
"imageUrl": "https://localhost:9096/icon32eng.png", "filePath": "/tmp/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" "imageUrl": "https://localhost:9096/icon32eng.png",
}, "hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
{ },
"model_type": "PasspointOsuIcon", {
"iconWidth": 32, "model_type": "OsuIcon",
"iconHeight": 32, "iconWidth": 32,
"languageCode": "fra", "iconHeight": 32,
"iconLocale": "fr_CA", "languageCode": "fra",
"iconName": "icon32fra", "iconLocale": "fr_CA",
"filePath": "/tmp/icon32fra.png", "iconName": "icon32fra",
"imageUrl": "https://localhost:9096/icon32fra.png", "filePath": "/tmp/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" "imageUrl": "https://localhost:9096/icon32fra.png",
}, "hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
{ },
"model_type": "PasspointOsuIcon", {
"iconWidth": 32, "model_type": "OsuIcon",
"iconHeight": 32, "iconWidth": 32,
"languageCode": "eng", "iconHeight": 32,
"iconLocale": "en_US", "languageCode": "eng",
"iconName": "icon32usa", "iconLocale": "en_US",
"filePath": "/tmp/icon32usa.png", "iconName": "icon32usa",
"imageUrl": "https://localhost:9096/icon32usa.png", "filePath": "/tmp/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/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": [ "osuServerUri": "https://example.com/osu/rogers/",
{ "osuFriendlyName": [
"model_type": "PasspointDuple", {
"locale": "eng", "model_type": "Hotspot20Duple",
"dupleIso3Language": "eng", "locale": "en_CA",
"dupleName": "Example provider rogers", "dupleIso3Language": "eng",
"defaultDupleSeparator": ":", "dupleName": "Example provider rogers",
"asDuple": "eng:Example provider rogers" "defaultDupleSeparator": ":",
}, "asDuple": "eng:Example provider rogers"
{ },
"model_type": "PasspointDuple", {
"locale": "fra", "model_type": "Hotspot20Duple",
"dupleIso3Language": "fra", "locale": "fr_CA",
"dupleName": "Exemple de fournisseur rogers", "dupleIso3Language": "fra",
"defaultDupleSeparator": ":", "dupleName": "Exemple de fournisseur rogers",
"asDuple": "fra:Exemple de fournisseur rogers" "defaultDupleSeparator": ":",
} "asDuple": "fra:Exemple de fournisseur rogers"
], }
"osuNaiStandalone": "anonymous@rogers.com", ],
"osuNaiShared": "anonymous@rogers.com", "osuNaiStandalone": "anonymous@rogers.com",
"osuMethodList": [ "osuNaiShared": "anonymous@rogers.com",
1, "osuMethodList": [
0 1,
], 0
"osuServiceDescription": [ ],
{ "osuServiceDescription": [
"model_type": "PasspointDuple", {
"locale": "eng", "model_type": "Hotspot20Duple",
"dupleIso3Language": "eng", "locale": "en_CA",
"dupleName": "Example services rogers", "dupleIso3Language": "eng",
"defaultDupleSeparator": ":", "dupleName": "Example services rogers",
"asDuple": "eng:Example services rogers" "defaultDupleSeparator": ":",
}, "asDuple": "eng:Example services rogers"
{ },
"model_type": "PasspointDuple", {
"locale": "fra", "model_type": "Hotspot20Duple",
"dupleIso3Language": "fra", "locale": "fr_CA",
"dupleName": "Exemples de services rogers", "dupleIso3Language": "fra",
"defaultDupleSeparator": ":", "dupleName": "Exemples de services rogers",
"asDuple": "fra:Exemples de services rogers" "defaultDupleSeparator": ":",
} "asDuple": "fra:Exemples de services rogers"
], }
"roamingOi": [ ],
"BAA2D00100", "profileType": "id_provider"
"BAA2D00000"
],
"profileType": "passpoint_osu_id_provider"
},
"createdTimestamp": 1611264539070,
"lastModifiedTimestamp": 1611264539070,
"childProfileIds": []
}, },
{ "createdTimestamp": 1602182805654,
"model_type": "Profile", "lastModifiedTimestamp": 1602182805654,
"id": 36, "childProfileIds": []
"customerId": 2, },
"profileType": "passpoint_osu_id_provider", {
"name": "provider2-profile-2021-01-21T21:28:59.118Z", "model_type": "Profile",
"details": { "id": 9,
"model_type": "PasspointOsuProviderProfile", "customerId": 2,
"mccMncList": [ "profileType": "id_provider",
{ "name": "TipWlan-Hotspot20-OSU-Provider-2",
"model_type": "PasspointMccMnc", "details": {
"mcc": 302, "model_type": "Hotspot20IdProviderProfile",
"mnc": 220, "domainName": "telus.com",
"iso": "ca", "mccMncList": [
"country": "Canada", {
"countryCode": 1, "model_type": "MccMnc",
"network": "Telus Mobility", "mcc": 302,
"mccMncPairing": "302,220" "mnc": 220,
} "iso": "ca",
], "country": "Canada",
"naiRealmList": [ "countryCode": 1,
{ "network": "Telus Mobility",
"model_type": "PasspointNaiRealmInformation", "mccMncPairing": "302,220"
"naiRealms": [ }
"telus.com" ],
"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"
], ],
"encoding": 0, "EAP-TLS with certificate": [
"eapMethods": [ "Credential Type:Certificate"
"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": [ ],
{ "osuIconList": [
"model_type": "PasspointOsuIcon", {
"iconWidth": 32, "model_type": "OsuIcon",
"iconHeight": 32, "iconWidth": 32,
"languageCode": "eng", "iconHeight": 32,
"iconLocale": "en_CA", "languageCode": "eng",
"iconName": "icon32eng", "iconLocale": "en_CA",
"filePath": "/tmp/icon32eng.png", "iconName": "icon32eng",
"imageUrl": "https://localhost:9096/icon32eng.png", "filePath": "/tmp/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" "imageUrl": "https://localhost:9096/icon32eng.png",
}, "hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
{ },
"model_type": "PasspointOsuIcon", {
"iconWidth": 32, "model_type": "OsuIcon",
"iconHeight": 32, "iconWidth": 32,
"languageCode": "fra", "iconHeight": 32,
"iconLocale": "fr_CA", "languageCode": "fra",
"iconName": "icon32fra", "iconLocale": "fr_CA",
"filePath": "/tmp/icon32fra.png", "iconName": "icon32fra",
"imageUrl": "https://localhost:9096/icon32fra.png", "filePath": "/tmp/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" "imageUrl": "https://localhost:9096/icon32fra.png",
}, "hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
{ },
"model_type": "PasspointOsuIcon", {
"iconWidth": 32, "model_type": "OsuIcon",
"iconHeight": 32, "iconWidth": 32,
"languageCode": "eng", "iconHeight": 32,
"iconLocale": "en_US", "languageCode": "eng",
"iconName": "icon32usa", "iconLocale": "en_US",
"filePath": "/tmp/icon32usa.png", "iconName": "icon32usa",
"imageUrl": "https://localhost:9096/icon32usa.png", "filePath": "/tmp/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/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": [ "osuServerUri": "https://example.com/osu/telus/",
{ "osuFriendlyName": [
"model_type": "PasspointDuple", {
"locale": "eng", "model_type": "Hotspot20Duple",
"dupleIso3Language": "eng", "locale": "en_CA",
"dupleName": "Example provider telus", "dupleIso3Language": "eng",
"defaultDupleSeparator": ":", "dupleName": "Example provider telus",
"asDuple": "eng:Example provider telus" "defaultDupleSeparator": ":",
}, "asDuple": "eng:Example provider telus"
{ },
"model_type": "PasspointDuple", {
"locale": "fra", "model_type": "Hotspot20Duple",
"dupleIso3Language": "fra", "locale": "fr_CA",
"dupleName": "Exemple de fournisseur telus", "dupleIso3Language": "fra",
"defaultDupleSeparator": ":", "dupleName": "Exemple de fournisseur telus",
"asDuple": "fra:Exemple de fournisseur telus" "defaultDupleSeparator": ":",
} "asDuple": "fra:Exemple de fournisseur telus"
], }
"osuNaiStandalone": "anonymous@telus.com", ],
"osuNaiShared": "anonymous@telus.com", "osuNaiStandalone": "anonymous@telus.com",
"osuMethodList": [ "osuNaiShared": "anonymous@telus.com",
1, "osuMethodList": [
0 1,
], 0
"osuServiceDescription": [ ],
{ "osuServiceDescription": [
"model_type": "PasspointDuple", {
"locale": "eng", "model_type": "Hotspot20Duple",
"dupleIso3Language": "eng", "locale": "en_CA",
"dupleName": "Example services telus", "dupleIso3Language": "eng",
"defaultDupleSeparator": ":", "dupleName": "Example services telus",
"asDuple": "eng:Example services telus" "defaultDupleSeparator": ":",
}, "asDuple": "eng:Example services telus"
{ },
"model_type": "PasspointDuple", {
"locale": "fra", "model_type": "Hotspot20Duple",
"dupleIso3Language": "fra", "locale": "fr_CA",
"dupleName": "Exemples de services telus", "dupleIso3Language": "fra",
"defaultDupleSeparator": ":", "dupleName": "Exemples de services telus",
"asDuple": "fra:Exemples de services telus" "defaultDupleSeparator": ":",
} "asDuple": "fra:Exemples de services telus"
], }
"roamingOi": [ ],
"004096", "profileType": "id_provider"
"005014", },
"F4F5E8F5F4" "createdTimestamp": 1602182805660,
], "lastModifiedTimestamp": 1602182805660,
"profileType": "passpoint_osu_id_provider" "childProfileIds": []
}, }
"createdTimestamp": 1611264539131, ]
"lastModifiedTimestamp": 1611264539131,
"childProfileIds": []
}
]

View File

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

View File

@@ -1,41 +1,37 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 34, "id": 6,
"customerId": 2, "customerId": 2,
"profileType": "passpoint_operator", "profileType": "operator",
"name": "operator-profile-2021-01-21T21:28:58.994Z", "name": "TipWlan-Hotspot20-Operator",
"details": { "details": {
"model_type": "PasspointOperatorProfile", "model_type": "OperatorProfile",
"serverOnlyAuthenticatedL2EncryptionNetwork": false, "domainName": "telecominfraproject.atlassian.net",
"x509CertificateLocation": "/etc/ca.pem", "serverOnlyAuthenticatedL2EncryptionNetwork": false,
"operatorFriendlyName": [ "x509CertificateLocation": "/etc/ca.pem",
{ "operatorFriendlyName": [
"model_type": "PasspointDuple", {
"locale": "fra", "model_type": "Hotspot20Duple",
"dupleIso3Language": "fra", "locale": "en_CA",
"dupleName": "Nom de l'opérateur convivial par défaut", "dupleIso3Language": "eng",
"defaultDupleSeparator": ":", "dupleName": "Default friendly operator name",
"asDuple": "fra:Nom de l'opérateur convivial par défaut" "defaultDupleSeparator": ":",
}, "asDuple": "eng:Default friendly operator name"
{ },
"model_type": "PasspointDuple", {
"locale": "eng", "model_type": "Hotspot20Duple",
"dupleIso3Language": "eng", "locale": "fr_CA",
"dupleName": "Default friendly passpoint_operator name", "dupleIso3Language": "fra",
"defaultDupleSeparator": ":", "dupleName": "Nom de l'opérateur convivial par défaut",
"asDuple": "eng:Default friendly passpoint_operator name" "defaultDupleSeparator": ":",
} "asDuple": "fra:Nom de l'opérateur convivial par défaut"
], }
"domainNameList": [ ],
"bell.ca", "profileType": "operator"
"telus.com", },
"rogers.com" "createdTimestamp": 1602113058719,
], "lastModifiedTimestamp": 1602113058719,
"profileType": "passpoint_operator" "childProfileIds": []
}, }
"createdTimestamp": 1611264539004,
"lastModifiedTimestamp": 1611264539004,
"childProfileIds": []
}
] ]

View File

@@ -1,24 +1,34 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 1, "id": 1,
"customerId": 2, "customerId": 2,
"profileType": "radius", "profileType": "radius",
"name": "Radius-Profile", "name": "Radius-Profile",
"details": { "details": {
"model_type": "RadiusProfile", "model_type": "RadiusProfile",
"primaryRadiusAuthServer": { "subnetConfiguration": null,
"model_type": "RadiusServer", "serviceRegionMap": {
"ipAddress": "192.168.0.1", "Ottawa": {
"secret": "testing123", "model_type": "RadiusServiceRegion",
"port": 1812, "serverMap": {
"timeout": null "Radius-Profile": [
}, {
"profileType": "radius" "model_type": "RadiusServer",
}, "ipAddress": "192.168.0.1",
"createdTimestamp": 1611262628767, "secret": "testing123",
"lastModifiedTimestamp": 1611262628767, "authPort": 1812,
"childProfileIds": [ "timeout": null
] }
} ]
},
"regionName": "Ottawa"
}
},
"profileType": "radius"
},
"createdTimestamp": 1601961451668,
"lastModifiedTimestamp": 1601961451668,
"childProfileIds": []
}
] ]

View File

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

View File

@@ -1,75 +1,134 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 2, "id": 5,
"customerId": 2, "customerId": 2,
"profileType": "ssid", "profileType": "ssid",
"name": "TipWlan-cloud-3-radios", "name": "TipWlan-cloud-hotspot-access",
"details": { "details": {
"model_type": "SsidConfiguration", "model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-3-radios", "ssid": "TipWlan-cloud-hotspot-access",
"appliedRadios": [ "appliedRadios": [
"is5GHzU", "is5GHzU",
"is2dot4GHz", "is5GHzL",
"is5GHzL" "is2dot4GHz"
], ],
"ssidAdminState": "enabled", "ssidAdminState": "enabled",
"secureMode": "wpa2OnlyPSK", "secureMode": "wpa2PSK",
"vlanId": 1, "vlanId": 1,
"keyStr": "openwifi", "keyStr": "testing123",
"broadcastSsid": "enabled", "broadcastSsid": "enabled",
"keyRefresh": 0, "keyRefresh": 0,
"noLocalSubnets": false, "noLocalSubnets": false,
"radiusServiceId": 0, "radiusServiceName": null,
"radiusAcountingServiceInterval": 60, "captivePortalId": null,
"captivePortalId": null, "bandwidthLimitDown": 0,
"bandwidthLimitDown": 0, "bandwidthLimitUp": 0,
"bandwidthLimitUp": 0, "clientBandwidthLimitDown": 0,
"clientBandwidthLimitDown": 0, "clientBandwidthLimitUp": 0,
"clientBandwidthLimitUp": 0, "videoTrafficOnly": false,
"videoTrafficOnly": false, "radioBasedConfigs": {
"radioBasedConfigs": { "is5GHz": {
"is5GHzU": { "model_type": "RadioBasedSsidConfiguration",
"model_type": "RadioBasedSsidConfiguration", "enable80211r": null,
"enable80211r": null, "enable80211k": null,
"enable80211k": null, "enable80211v": null
"enable80211v": null },
}, "is2dot4GHz": {
"is2dot4GHz": { "model_type": "RadioBasedSsidConfiguration",
"model_type": "RadioBasedSsidConfiguration", "enable80211r": null,
"enable80211r": null, "enable80211k": null,
"enable80211k": null, "enable80211v": null
"enable80211v": null },
}, "is5GHzU": {
"is5GHz": { "model_type": "RadioBasedSsidConfiguration",
"model_type": "RadioBasedSsidConfiguration", "enable80211r": null,
"enable80211r": null, "enable80211k": null,
"enable80211k": null, "enable80211v": null
"enable80211v": null },
}, "is5GHzL": {
"is5GHzL": { "model_type": "RadioBasedSsidConfiguration",
"model_type": "RadioBasedSsidConfiguration", "enable80211r": null,
"enable80211r": null, "enable80211k": null,
"enable80211k": null, "enable80211v": null
"enable80211v": null }
} },
}, "bonjourGatewayProfileId": null,
"bonjourGatewayProfileId": null, "enable80211w": null,
"enable80211w": null, "wepConfig": null,
"wepConfig": null, "forwardMode": null,
"forwardMode": "BRIDGE", "profileType": "ssid"
"profileType": "ssid", },
"radiusClientConfiguration": { "createdTimestamp": 1602113058718,
"model_type": "RadiusNasConfiguration", "lastModifiedTimestamp": 1602113059547,
"nasClientId": "DEFAULT", "childProfileIds": [
"nasClientIp": "WAN_IP", 10
"userDefinedNasId": null, ]
"userDefinedNasIp": null, },
"operatorId": null {
} "model_type": "Profile",
}, "id": 11,
"createdTimestamp": 1612285248638, "customerId": 2,
"lastModifiedTimestamp": 1612285248638, "profileType": "ssid",
"childProfileIds": [] "name": "TipWlan-cloud-3-radios",
} "details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-3-radios",
"appliedRadios": [
"is5GHzL",
"is2dot4GHz",
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "open",
"vlanId": 1,
"keyStr": null,
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
"clientBandwidthLimitDown": 0,
"clientBandwidthLimitUp": 0,
"videoTrafficOnly": false,
"radioBasedConfigs": {
"is5GHz": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is2dot4GHz": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is5GHzU": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is5GHzL": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
}
},
"bonjourGatewayProfileId": null,
"enable80211w": null,
"wepConfig": null,
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602183994766,
"lastModifiedTimestamp": 1602183994766,
"childProfileIds": [
10
]
}
] ]

View File

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

View File

@@ -56,8 +56,6 @@ RESTAPI_PROPS+=" -Dserver.port=443"
SPRING_EXTRA_PROPS=" --add-opens java.base/java.lang=ALL-UNNAMED" SPRING_EXTRA_PROPS=" --add-opens java.base/java.lang=ALL-UNNAMED"
JVM_EXTRA_PROPS=" ${JVM_MEM_OPTIONS:- } " export ALL_PROPS="$PROFILES $SSL_PROPS $CLIENT_MQTT_SSL_PROPS $OVSDB_PROPS $MQTT_PROPS $LOGGING_PROPS $RESTAPI_PROPS $SPRING_EXTRA_PROPS"
export ALL_PROPS="$JVM_EXTRA_PROPS $PROFILES $SSL_PROPS $CLIENT_MQTT_SSL_PROPS $OVSDB_PROPS $MQTT_PROPS $LOGGING_PROPS $RESTAPI_PROPS $SPRING_EXTRA_PROPS"
java $ALL_PROPS -jar app.jar java $ALL_PROPS -jar app.jar

View File

@@ -3,7 +3,7 @@
<parent> <parent>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId> <artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath> <relativePath>../../wlan-cloud-root</relativePath>
</parent> </parent>
<artifactId>opensync-gateway-static-process</artifactId> <artifactId>opensync-gateway-static-process</artifactId>
@@ -15,10 +15,15 @@
</properties> </properties>
<dependencies> <dependencies>
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>opensync-gateway</artifactId>
<version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency> <dependency>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<artifactId>opensync-ext-static</artifactId> <artifactId>opensync-ext-static</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -1,472 +1,224 @@
{ {
"model_type": "Equipment", "model_type": "Equipment",
"id": 1, "id": 51,
"customerId": 2, "customerId": 2,
"profileId": 8, "profileId": 5,
"locationId": 8, "locationId": 8,
"equipmentType": "AP",
"inventoryId": "Test_Client_21P10C68818122",
"name": "Test_Client_21P10C68818122",
"details": {
"model_type": "ApElementConfiguration",
"equipmentModel": "EA8300-CA",
"elementConfigVersion": "AP-V1",
"equipmentType": "AP", "equipmentType": "AP",
"inventoryId": "Open_AP_21P10C68818122", "deviceMode": "standaloneAP",
"name": "Open_AP_21P10C68818122", "gettingIP": "dhcp",
"details": { "staticIP": null,
"model_type": "ApElementConfiguration", "staticIpMaskCidr": null,
"equipmentModel": "EA8300-CA", "staticIpGw": null,
"elementConfigVersion": "AP-V1", "gettingDNS": "dhcp",
"equipmentType": "AP", "staticDnsIp1": null,
"deviceMode": "standaloneAP", "staticDnsIp2": null,
"gettingIP": "dhcp", "peerInfoList": [],
"staticIP": null, "deviceName": "Default Device Name",
"staticIpMaskCidr": null, "locationData": null,
"staticIpGw": null, "locallyConfiguredMgmtVlan": 0,
"gettingDNS": "dhcp", "locallyConfigured": false,
"staticDnsIp1": null, "deploymentType": "CEILING",
"staticDnsIp2": null, "syntheticClientEnabled": null,
"peerInfoList": [], "frameReportThrottleEnabled": true,
"deviceName": "Open_AP_21P10C68818122", "antennaType": "OMNI",
"locationData": null, "costSavingEventsEnabled": true,
"locallyConfiguredMgmtVlan": 0, "forwardMode": "BRIDGE",
"locallyConfigured": false, "radioMap": {
"deploymentType": "CEILING", "is2dot4GHz": {
"syntheticClientEnabled": null, "model_type": "ElementRadioConfiguration",
"frameReportThrottleEnabled": true, "radioType": "is2dot4GHz",
"antennaType": "OMNI", "channelNumber": 6,
"costSavingEventsEnabled": true, "manualChannelNumber": 6,
"forwardMode": "BRIDGE", "backupChannelNumber": 11,
"radioMap": { "bannedChannels": [],
"is5GHzU": { "allowedChannels": [],
"model_type": "ElementRadioConfiguration", "rxCellSizeDb": {
"radioType": "is5GHzU", "model_type": "SourceSelectionValue",
"channelNumber": 149, "source": "auto",
"manualChannelNumber": 149, "value": -90
"backupChannelNumber": 157,
"manualBackupChannelNumber": 157,
"rxCellSizeDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"eirpTxPower": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": 18
},
"perimeterDetectionEnabled": true,
"bestAPSteerType": "both",
"deauthAttackDetection": null,
"allowedChannelsPowerLevels": [
{
"model_type": "ChannelPowerLevel",
"channelNumber": 161,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 100,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 132,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 165,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 104,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 136,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 108,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 140,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 112,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 144,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 116,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 149,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 153,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 157,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
}
]
},
"is2dot4GHz": {
"model_type": "ElementRadioConfiguration",
"radioType": "is2dot4GHz",
"channelNumber": 6,
"manualChannelNumber": 6,
"backupChannelNumber": 11,
"manualBackupChannelNumber": 11,
"rxCellSizeDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"eirpTxPower": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": 18
},
"perimeterDetectionEnabled": true,
"bestAPSteerType": "both",
"deauthAttackDetection": null,
"allowedChannelsPowerLevels": [
{
"model_type": "ChannelPowerLevel",
"channelNumber": 1,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 2,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 3,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 4,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 5,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 6,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 7,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 8,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 9,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 10,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 11,
"powerLevel": 18,
"dfs": false,
"channelWidth": 20
}
]
},
"is5GHzL": {
"model_type": "ElementRadioConfiguration",
"radioType": "is5GHzL",
"channelNumber": 36,
"manualChannelNumber": 36,
"backupChannelNumber": 44,
"manualBackupChannelNumber": 44,
"rxCellSizeDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": -90
},
"eirpTxPower": {
"model_type": "SourceSelectionValue",
"source": "profile",
"value": 18
},
"perimeterDetectionEnabled": true,
"bestAPSteerType": "both",
"deauthAttackDetection": null,
"allowedChannelsPowerLevels": [
{
"model_type": "ChannelPowerLevel",
"channelNumber": 52,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 36,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 56,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 40,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 60,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 44,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 64,
"powerLevel": 18,
"dfs": true,
"channelWidth": 80
},
{
"model_type": "ChannelPowerLevel",
"channelNumber": 48,
"powerLevel": 18,
"dfs": false,
"channelWidth": 80
}
]
}
}, },
"advancedRadioMap": { "probeResponseThresholdDb": {
"is2dot4GHz": { "model_type": "SourceSelectionValue",
"model_type": "RadioConfiguration", "source": "auto",
"radioType": "is2dot4GHz", "value": -90
"radioAdminState": "enabled", },
"fragmentationThresholdBytes": 2346, "clientDisconnectThresholdDb": {
"uapsdState": "enabled", "model_type": "SourceSelectionValue",
"stationIsolation": "disabled", "source": "auto",
"multicastRate": { "value": -90
"model_type": "SourceSelectionMulticast", },
"source": "profile", "eirpTxPower": {
"value": "auto" "model_type": "SourceSelectionValue",
}, "source": "auto",
"managementRate": { "value": 32
"model_type": "SourceSelectionManagement", },
"source": "profile", "perimeterDetectionEnabled": true,
"value": "auto" "bestAPSteerType": "both",
}, "deauthAttackDetection": null,
"bestApSettings": { "allowedChannelsPowerLevels": [],
"model_type": "SourceSelectionSteering", "activeChannel": 6
"source": "manual", },
"value": { "is5GHzU": {
"model_type": "RadioBestApSettings", "model_type": "ElementRadioConfiguration",
"mlComputed": true, "radioType": "is5GHzU",
"dropInSnrPercentage": 20, "channelNumber": 149,
"minLoadFactor": 50 "manualChannelNumber": 149,
} "backupChannelNumber": 154,
}, "bannedChannels": [],
"legacyBSSRate": "enabled", "allowedChannels": [],
"dtimPeriod": 2, "rxCellSizeDb": {
"deauthAttackDetection": null "model_type": "SourceSelectionValue",
}, "source": "auto",
"is5GHzU": { "value": -90
"model_type": "RadioConfiguration", },
"radioType": "is5GHzU", "probeResponseThresholdDb": {
"radioAdminState": "enabled", "model_type": "SourceSelectionValue",
"fragmentationThresholdBytes": 2346, "source": "auto",
"uapsdState": "enabled", "value": -90
"stationIsolation": "disabled", },
"multicastRate": { "clientDisconnectThresholdDb": {
"model_type": "SourceSelectionMulticast", "model_type": "SourceSelectionValue",
"source": "profile", "source": "auto",
"value": "auto" "value": -90
}, },
"managementRate": { "eirpTxPower": {
"model_type": "SourceSelectionManagement", "model_type": "SourceSelectionValue",
"source": "profile", "source": "auto",
"value": "auto" "value": 32
}, },
"bestApSettings": { "perimeterDetectionEnabled": true,
"model_type": "SourceSelectionSteering", "bestAPSteerType": "both",
"source": "manual", "deauthAttackDetection": null,
"value": { "allowedChannelsPowerLevels": [],
"model_type": "RadioBestApSettings", "activeChannel": 149
"mlComputed": true, },
"dropInSnrPercentage": 30, "is5GHzL": {
"minLoadFactor": 40 "model_type": "ElementRadioConfiguration",
} "radioType": "is5GHzL",
}, "channelNumber": 36,
"legacyBSSRate": "enabled", "manualChannelNumber": 36,
"dtimPeriod": 2, "backupChannelNumber": 44,
"deauthAttackDetection": null "bannedChannels": [],
}, "allowedChannels": [],
"is5GHzL": { "rxCellSizeDb": {
"model_type": "RadioConfiguration", "model_type": "SourceSelectionValue",
"radioType": "is5GHzL", "source": "auto",
"radioAdminState": "enabled", "value": -90
"fragmentationThresholdBytes": 2346, },
"uapsdState": "enabled", "probeResponseThresholdDb": {
"stationIsolation": "disabled", "model_type": "SourceSelectionValue",
"multicastRate": { "source": "auto",
"model_type": "SourceSelectionMulticast", "value": -90
"source": "profile", },
"value": "auto" "clientDisconnectThresholdDb": {
}, "model_type": "SourceSelectionValue",
"managementRate": { "source": "auto",
"model_type": "SourceSelectionManagement", "value": -90
"source": "profile", },
"value": "auto" "eirpTxPower": {
}, "model_type": "SourceSelectionValue",
"bestApSettings": { "source": "auto",
"model_type": "SourceSelectionSteering", "value": 32
"source": "manual", },
"value": { "perimeterDetectionEnabled": true,
"model_type": "RadioBestApSettings", "bestAPSteerType": "both",
"mlComputed": true, "deauthAttackDetection": null,
"dropInSnrPercentage": 30, "allowedChannelsPowerLevels": [],
"minLoadFactor": 40 "activeChannel": 36
} }
},
"legacyBSSRate": "enabled",
"dtimPeriod": 2,
"deauthAttackDetection": null
}
}
}, },
"latitude": null, "advancedRadioMap": {
"longitude": null, "is2dot4GHz": {
"baseMacAddress": { "model_type": "RadioConfiguration",
"model_type": "MacAddress", "radioType": "is2dot4GHz",
"address": "JPWi7y5T", "radioAdminState": "enabled",
"addressAsString": "24:f5:a2:ef:2e:53" "fragmentationThresholdBytes": 2346,
}, "wmmState": "enabled",
"serial": "21P10C68818122", "uapsdState": "enabled",
"createdTimestamp": 1612285288821, "stationIsolation": "disabled",
"lastModifiedTimestamp": 1612285293922 "managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
},
"is5GHzU": {
"model_type": "RadioConfiguration",
"radioType": "is5GHzU",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
},
"is5GHzL": {
"model_type": "RadioConfiguration",
"radioType": "is5GHzL",
"radioAdminState": "enabled",
"fragmentationThresholdBytes": 2346,
"wmmState": "enabled",
"uapsdState": "enabled",
"stationIsolation": "disabled",
"managementRate": {
"model_type": "SourceSelectionManagement",
"source": "auto",
"value": "auto"
},
"bestApSettings": {
"model_type": "SourceSelectionSteering",
"source": "auto",
"value": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"legacyBSSRate": "enabled",
"deauthAttackDetection": null
}
}
},
"latitude": null,
"longitude": null,
"serial": "21P10C68818122",
"createdTimestamp": 1591653239821,
"lastModifiedTimestamp": 1591653241398
} }

View File

@@ -1,61 +1,67 @@
{ {
"model_type": "Location", "model_type" : "Location",
"id": 8, "id" : 8,
"parentId": 0, "parentId" : 0,
"locationType": "SITE", "locationType" : "SITE",
"customerId": 2, "customerId" : 2,
"name": "Ottawa", "name" : "Ottawa",
"details": { "details" : {
"model_type": "LocationDetails", "model_type" : "LocationDetails",
"countryCode": "CA", "countryCode" : "ca",
"dailyActivityDetails": { "maintenanceWindow" : null,
"SUNDAY": { "rrmEnabled" : true,
"model_type": "LocationActivityDetails", "dailyRebalancingDetails" : {
"busyTime": "13:30", "SUNDAY" : {
"quietTime": "3:00", "model_type" : "LocationActivityDetails",
"timezone": "US/Eastern" "busyTime" : "13:30",
}, "quietTime" : "3:30",
"MONDAY": { "timezone" : "US/Eastern",
"model_type": "LocationActivityDetails", "lastBusySnapshot" : 0
"busyTime": "13:30", },
"quietTime": "3:00", "MONDAY" : {
"timezone": "US/Eastern" "model_type" : "LocationActivityDetails",
}, "busyTime" : "13:30",
"TUESDAY": { "quietTime" : "3:30",
"model_type": "LocationActivityDetails", "timezone" : "US/Eastern",
"busyTime": "13:30", "lastBusySnapshot" : 0
"quietTime": "3:00", },
"timezone": "US/Eastern" "TUESDAY" : {
}, "model_type" : "LocationActivityDetails",
"WEDNESDAY": { "busyTime" : "13:30",
"model_type": "LocationActivityDetails", "quietTime" : "3:30",
"busyTime": "13:30", "timezone" : "US/Eastern",
"quietTime": "3:00", "lastBusySnapshot" : 0
"timezone": "US/Eastern" },
}, "WEDNESDAY" : {
"THURSDAY": { "model_type" : "LocationActivityDetails",
"model_type": "LocationActivityDetails", "busyTime" : "13:30",
"busyTime": "13:30", "quietTime" : "3:30",
"quietTime": "3:00", "timezone" : "US/Eastern",
"timezone": "US/Eastern" "lastBusySnapshot" : 0
}, },
"FRIDAY": { "THURSDAY" : {
"model_type": "LocationActivityDetails", "model_type" : "LocationActivityDetails",
"busyTime": "13:30", "busyTime" : "13:30",
"quietTime": "3:00", "quietTime" : "3:30",
"timezone": "US/Eastern" "timezone" : "US/Eastern",
}, "lastBusySnapshot" : 0
"SATURDAY": { },
"model_type": "LocationActivityDetails", "FRIDAY" : {
"busyTime": "13:30", "model_type" : "LocationActivityDetails",
"quietTime": "3:00", "busyTime" : "13:30",
"timezone": "US/Eastern" "quietTime" : "3:30",
} "timezone" : "US/Eastern",
}, "lastBusySnapshot" : 0
"maintenanceWindow": null, },
"rrmEnabled": true, "SATURDAY" : {
"timezone": "US/Eastern" "model_type" : "LocationActivityDetails",
}, "busyTime" : "13:30",
"createdTimestamp": 1612285243534, "quietTime" : "3:30",
"lastModifiedTimestamp": 1612285243534 "timezone" : "US/Eastern",
"lastBusySnapshot" : 0
}
}
},
"createdTimestamp" : 1590607043540,
"lastModifiedTimestamp" : 1590607043540
} }

View File

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

View File

@@ -1,6 +1,6 @@
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 8, "id": 17,
"customerId": 2, "customerId": 2,
"profileType": "equipment_ap", "profileType": "equipment_ap",
"name": "ApProfile-3-radios", "name": "ApProfile-3-radios",
@@ -37,22 +37,14 @@
"bestAPSteerType": "both" "bestAPSteerType": "both"
} }
}, },
"greTunnelConfigurations": [
{
"model_type": "GreTunnelConfiguration",
"greTunnelName": "gre1",
"greRemoteInetAddr": "192.168.1.101",
"vlanIdsInGreTunnel": [
100
]
}
],
"profileType": "equipment_ap" "profileType": "equipment_ap"
}, },
"createdTimestamp": 1612285248925, "createdTimestamp": 1602182806348,
"lastModifiedTimestamp": 1612285628377, "lastModifiedTimestamp": 1602182806348,
"childProfileIds": [ "childProfileIds": [
2, 2,
4 5,
11,
13
] ]
} }

View File

@@ -1,58 +1,135 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 5, "id": 14,
"customerId": 2, "customerId": 2,
"profileType": "captive_portal", "profileType": "captive_portal",
"name": "Captive-portal", "name": "Captive-portal",
"details": { "details": {
"model_type": "CaptivePortalConfiguration", "model_type": "CaptivePortalConfiguration",
"name": "Default", "name": "Captive-portal",
"browserTitle": "Captive-portal", "browserTitle": "Access the network as Guest",
"headerContent": "Captive Portal", "headerContent": "Captive Portal",
"userAcceptancePolicy": "Please agree to the following terms for using this network:", "userAcceptancePolicy": "Use this network at your own risk. No warranty of any kind.",
"successPageMarkdownText": "You are now authorized and connected to the network.", "successPageMarkdownText": "Welcome to the network",
"redirectURL": "https://www.google.com", "redirectURL": "",
"externalCaptivePortalURL": null, "externalCaptivePortalURL": null,
"sessionTimeoutInMinutes": 10, "sessionTimeoutInMinutes": 60,
"logoFile": { "logoFile": null,
"model_type": "ManagedFileInfo", "backgroundFile": null,
"md5checksum": null, "walledGardenAllowlist": [],
"lastModifiedTimestamp": null, "usernamePasswordFile": {
"apExportUrl": "/filestore/tip-logo-mobile", "model_type": "ManagedFileInfo",
"fileCategory": "CaptivePortalLogo", "md5checksum": null,
"fileType": "PNG", "lastModifiedTimestamp": null,
"altSlot": false "apExportUrl": "userList",
}, "fileCategory": "UsernamePasswordList",
"backgroundFile": { "fileType": "TEXT",
"model_type": "ManagedFileInfo", "altSlot": true
"md5checksum": null, },
"lastModifiedTimestamp": null, "authenticationType": "guest",
"apExportUrl": "/filestore/tip-logo", "radiusAuthMethod": "CHAP",
"fileCategory": "CaptivePortalBackground", "maxUsersWithSameCredentials": 42,
"fileType": "PNG", "externalPolicyFile": null,
"altSlot": false "backgroundPosition": "left_top",
}, "backgroundRepeat": "no_repeat",
"walledGardenAllowlist": [ "radiusServiceName": null,
], "expiryType": "unlimited",
"usernamePasswordFile": null, "userList": [
"authenticationType": "guest", {
"radiusAuthMethod": "CHAP", "model_type": "TimedAccessUserRecord",
"maxUsersWithSameCredentials": 3, "username": "customer",
"externalPolicyFile": null, "password": "testing123",
"backgroundPosition": "left_top", "activationTime": 1602183994956,
"backgroundRepeat": "no_repeat", "expirationTime": 1602212794956,
"radiusServiceId": 0, "numDevices": 1,
"expiryType": "time_limited", "userDetails": {
"userList": [ "model_type": "TimedAccessUserDetails",
], "firstName": "Pac",
"macAllowList": [ "lastName": "Man",
], "passwordNeedsReset": false
"profileType": "captive_portal" },
"userMacAddresses": [
{
"model_type": "MacAddress",
"address": "fKtg5upO",
"addressAsString": "7c:ab:60:e6:ea:4e"
}
],
"lastModifiedTimestamp": 0
},
{
"model_type": "TimedAccessUserRecord",
"username": "customer",
"password": "testing123",
"activationTime": 1602183994957,
"expirationTime": 1602187594957,
"numDevices": 0,
"userDetails": {
"model_type": "TimedAccessUserDetails",
"firstName": "Q",
"lastName": "Bert",
"passwordNeedsReset": false
},
"userMacAddresses": [
{
"model_type": "MacAddress",
"address": "wJrQdqho",
"addressAsString": "c0:9a:d0:76:a8:68"
}
],
"lastModifiedTimestamp": 0
},
{
"model_type": "TimedAccessUserRecord",
"username": "customer2",
"password": "testing1234",
"activationTime": 1602183994957,
"expirationTime": 1602788794957,
"numDevices": 1,
"userDetails": {
"model_type": "TimedAccessUserDetails",
"firstName": "Duke",
"lastName": "Nukem",
"passwordNeedsReset": false
},
"userMacAddresses": [
{
"model_type": "MacAddress",
"address": "fKtg5upN",
"addressAsString": "7c:ab:60:e6:ea:4d"
}
],
"lastModifiedTimestamp": 0
},
{
"model_type": "TimedAccessUserRecord",
"username": "customer2",
"password": "testing1234",
"activationTime": 1602183994957,
"expirationTime": 1602270394957,
"numDevices": 0,
"userDetails": {
"model_type": "TimedAccessUserDetails",
"firstName": "Missile",
"lastName": "Commander",
"passwordNeedsReset": false
},
"userMacAddresses": [
{
"model_type": "MacAddress",
"address": "wJrQdqhj",
"addressAsString": "c0:9a:d0:76:a8:63"
}
],
"lastModifiedTimestamp": 0
}
],
"macAllowList": [],
"profileType": "captive_portal"
}, },
"createdTimestamp": 1611857459118, "createdTimestamp": 1602183994959,
"lastModifiedTimestamp": 1611857459118, "lastModifiedTimestamp": 1602183994959,
"childProfileIds": [ "childProfileIds": []
] }
}
] ]

View File

@@ -1,16 +1,16 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 37, "id": 10,
"customerId": 2, "customerId": 2,
"profileType": "passpoint", "profileType": "hotspot_2pt0",
"name": "hotspot20-profile-2021-01-21T21:28:59.171Z", "name": "TipWlan-Hotspot20-Config",
"details": { "details": {
"model_type": "PasspointProfile", "model_type": "Hotspot2Profile",
"enableInterworkingAndHs20": true, "enableInterworkingAndHs20": true,
"hessid": null, "hessid": null,
"passpointAccessNetworkType": "free_public_network", "accessNetworkType": "free_public_network",
"passpointNetworkAuthenticationType": "acceptance_of_terms_and_conditions", "networkAuthenticationType": "acceptance_of_terms_and_conditions",
"additionalStepsRequiredForAccess": 0, "additionalStepsRequiredForAccess": 0,
"deauthRequestTimeout": 0, "deauthRequestTimeout": 0,
"operatingClass": 0, "operatingClass": 0,
@@ -29,7 +29,7 @@
"internetConnectivity": true, "internetConnectivity": true,
"connectionCapabilitySet": [ "connectionCapabilitySet": [
{ {
"model_type": "PasspointConnectionCapability", "model_type": "ConnectionCapability",
"connectionCapabilitiesPortNumber": 8888, "connectionCapabilitiesPortNumber": 8888,
"connectionCapabilitiesIpProtocol": "TCP", "connectionCapabilitiesIpProtocol": "TCP",
"connectionCapabilitiesStatus": "open" "connectionCapabilitiesStatus": "open"
@@ -45,27 +45,28 @@
"disableDownstreamGroupAddressedForwarding": false, "disableDownstreamGroupAddressedForwarding": false,
"enable2pt4GHz": true, "enable2pt4GHz": true,
"enable5GHz": true, "enable5GHz": true,
"associatedAccessSsidProfileIds": [ "associatedAccessSsidNames": [
32 "TipWlan-cloud-hotspot-access"
], ],
"osuSsidProfileId": 31, "osuSsidName": "TipWlan-cloud-3-radios",
"passpointOperatorProfileId": 34, "operatorProfileName": "TipWlan-Hotspot20-Operator",
"passpointVenueProfileId": 33, "venueProfileName": "TipWlan-Hotspot20-Venue",
"passpointOsuProviderProfileIds": [ "idProviderProfileNames": [
35, "TipWlan-Hotspot20-OSU-Provider-2",
36 "TipWlan-Hotspot20-OSU-Provider"
], ],
"accessNetworkType": "free_public_network", "profileType": "hotspot_2pt0",
"networkAuthenticationType": "acceptance_of_terms_and_conditions", "associatedSsids": [
"profileType": "passpoint" "TipWlan-cloud-hotspot-access"
]
}, },
"createdTimestamp": 0, "createdTimestamp": 1602182806040,
"lastModifiedTimestamp": 1611264539331, "lastModifiedTimestamp": 1602182806040,
"childProfileIds": [ "childProfileIds": [
33, 6,
34, 7,
35, 8,
36 9
] ]
} }
] ]

View File

@@ -1,263 +1,256 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 35, "id": 8,
"customerId": 2, "customerId": 2,
"profileType": "passpoint_osu_id_provider", "profileType": "id_provider",
"name": "provider1-profile-2021-01-21T21:28:59.057Z", "name": "TipWlan-Hotspot20-OSU-Provider",
"details": { "details": {
"model_type": "PasspointOsuProviderProfile", "model_type": "Hotspot20IdProviderProfile",
"mccMncList": [ "domainName": "rogers.com",
{ "mccMncList": [
"model_type": "PasspointMccMnc", {
"mcc": 302, "model_type": "MccMnc",
"mnc": 720, "mcc": 302,
"iso": "ca", "mnc": 720,
"country": "Canada", "iso": "ca",
"countryCode": 1, "country": "Canada",
"network": "Rogers AT&T Wireless", "countryCode": 1,
"mccMncPairing": "302,720" "network": "Rogers AT&T Wireless",
} "mccMncPairing": "302,720"
], }
"naiRealmList": [ ],
{ "naiRealmList": [
"model_type": "PasspointNaiRealmInformation", {
"naiRealms": [ "model_type": "NaiRealmInformation",
"rogers.com" "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"
], ],
"encoding": 0, "EAP-TLS with certificate": [
"eapMethods": [ "Credential Type:Certificate"
"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": [ ],
{ "osuIconList": [
"model_type": "PasspointOsuIcon", {
"iconWidth": 32, "model_type": "OsuIcon",
"iconHeight": 32, "iconWidth": 32,
"languageCode": "eng", "iconHeight": 32,
"iconLocale": "en_CA", "languageCode": "eng",
"iconName": "icon32eng", "iconLocale": "en_CA",
"filePath": "/tmp/icon32eng.png", "iconName": "icon32eng",
"imageUrl": "https://localhost:9096/icon32eng.png", "filePath": "/tmp/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" "imageUrl": "https://localhost:9096/icon32eng.png",
}, "hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
{ },
"model_type": "PasspointOsuIcon", {
"iconWidth": 32, "model_type": "OsuIcon",
"iconHeight": 32, "iconWidth": 32,
"languageCode": "fra", "iconHeight": 32,
"iconLocale": "fr_CA", "languageCode": "fra",
"iconName": "icon32fra", "iconLocale": "fr_CA",
"filePath": "/tmp/icon32fra.png", "iconName": "icon32fra",
"imageUrl": "https://localhost:9096/icon32fra.png", "filePath": "/tmp/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" "imageUrl": "https://localhost:9096/icon32fra.png",
}, "hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
{ },
"model_type": "PasspointOsuIcon", {
"iconWidth": 32, "model_type": "OsuIcon",
"iconHeight": 32, "iconWidth": 32,
"languageCode": "eng", "iconHeight": 32,
"iconLocale": "en_US", "languageCode": "eng",
"iconName": "icon32usa", "iconLocale": "en_US",
"filePath": "/tmp/icon32usa.png", "iconName": "icon32usa",
"imageUrl": "https://localhost:9096/icon32usa.png", "filePath": "/tmp/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/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": [ "osuServerUri": "https://example.com/osu/rogers/",
{ "osuFriendlyName": [
"model_type": "PasspointDuple", {
"locale": "eng", "model_type": "Hotspot20Duple",
"dupleIso3Language": "eng", "locale": "en_CA",
"dupleName": "Example provider rogers", "dupleIso3Language": "eng",
"defaultDupleSeparator": ":", "dupleName": "Example provider rogers",
"asDuple": "eng:Example provider rogers" "defaultDupleSeparator": ":",
}, "asDuple": "eng:Example provider rogers"
{ },
"model_type": "PasspointDuple", {
"locale": "fra", "model_type": "Hotspot20Duple",
"dupleIso3Language": "fra", "locale": "fr_CA",
"dupleName": "Exemple de fournisseur rogers", "dupleIso3Language": "fra",
"defaultDupleSeparator": ":", "dupleName": "Exemple de fournisseur rogers",
"asDuple": "fra:Exemple de fournisseur rogers" "defaultDupleSeparator": ":",
} "asDuple": "fra:Exemple de fournisseur rogers"
], }
"osuNaiStandalone": "anonymous@rogers.com", ],
"osuNaiShared": "anonymous@rogers.com", "osuNaiStandalone": "anonymous@rogers.com",
"osuMethodList": [ "osuNaiShared": "anonymous@rogers.com",
1, "osuMethodList": [
0 1,
], 0
"osuServiceDescription": [ ],
{ "osuServiceDescription": [
"model_type": "PasspointDuple", {
"locale": "eng", "model_type": "Hotspot20Duple",
"dupleIso3Language": "eng", "locale": "en_CA",
"dupleName": "Example services rogers", "dupleIso3Language": "eng",
"defaultDupleSeparator": ":", "dupleName": "Example services rogers",
"asDuple": "eng:Example services rogers" "defaultDupleSeparator": ":",
}, "asDuple": "eng:Example services rogers"
{ },
"model_type": "PasspointDuple", {
"locale": "fra", "model_type": "Hotspot20Duple",
"dupleIso3Language": "fra", "locale": "fr_CA",
"dupleName": "Exemples de services rogers", "dupleIso3Language": "fra",
"defaultDupleSeparator": ":", "dupleName": "Exemples de services rogers",
"asDuple": "fra:Exemples de services rogers" "defaultDupleSeparator": ":",
} "asDuple": "fra:Exemples de services rogers"
], }
"roamingOi": [ ],
"BAA2D00100", "profileType": "id_provider"
"BAA2D00000"
],
"profileType": "passpoint_osu_id_provider"
},
"createdTimestamp": 1611264539070,
"lastModifiedTimestamp": 1611264539070,
"childProfileIds": []
}, },
{ "createdTimestamp": 1602182805654,
"model_type": "Profile", "lastModifiedTimestamp": 1602182805654,
"id": 36, "childProfileIds": []
"customerId": 2, },
"profileType": "passpoint_osu_id_provider", {
"name": "provider2-profile-2021-01-21T21:28:59.118Z", "model_type": "Profile",
"details": { "id": 9,
"model_type": "PasspointOsuProviderProfile", "customerId": 2,
"mccMncList": [ "profileType": "id_provider",
{ "name": "TipWlan-Hotspot20-OSU-Provider-2",
"model_type": "PasspointMccMnc", "details": {
"mcc": 302, "model_type": "Hotspot20IdProviderProfile",
"mnc": 220, "domainName": "telus.com",
"iso": "ca", "mccMncList": [
"country": "Canada", {
"countryCode": 1, "model_type": "MccMnc",
"network": "Telus Mobility", "mcc": 302,
"mccMncPairing": "302,220" "mnc": 220,
} "iso": "ca",
], "country": "Canada",
"naiRealmList": [ "countryCode": 1,
{ "network": "Telus Mobility",
"model_type": "PasspointNaiRealmInformation", "mccMncPairing": "302,220"
"naiRealms": [ }
"telus.com" ],
"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"
], ],
"encoding": 0, "EAP-TLS with certificate": [
"eapMethods": [ "Credential Type:Certificate"
"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": [ ],
{ "osuIconList": [
"model_type": "PasspointOsuIcon", {
"iconWidth": 32, "model_type": "OsuIcon",
"iconHeight": 32, "iconWidth": 32,
"languageCode": "eng", "iconHeight": 32,
"iconLocale": "en_CA", "languageCode": "eng",
"iconName": "icon32eng", "iconLocale": "en_CA",
"filePath": "/tmp/icon32eng.png", "iconName": "icon32eng",
"imageUrl": "https://localhost:9096/icon32eng.png", "filePath": "/tmp/icon32eng.png",
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" "imageUrl": "https://localhost:9096/icon32eng.png",
}, "hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
{ },
"model_type": "PasspointOsuIcon", {
"iconWidth": 32, "model_type": "OsuIcon",
"iconHeight": 32, "iconWidth": 32,
"languageCode": "fra", "iconHeight": 32,
"iconLocale": "fr_CA", "languageCode": "fra",
"iconName": "icon32fra", "iconLocale": "fr_CA",
"filePath": "/tmp/icon32fra.png", "iconName": "icon32fra",
"imageUrl": "https://localhost:9096/icon32fra.png", "filePath": "/tmp/icon32fra.png",
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" "imageUrl": "https://localhost:9096/icon32fra.png",
}, "hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
{ },
"model_type": "PasspointOsuIcon", {
"iconWidth": 32, "model_type": "OsuIcon",
"iconHeight": 32, "iconWidth": 32,
"languageCode": "eng", "iconHeight": 32,
"iconLocale": "en_US", "languageCode": "eng",
"iconName": "icon32usa", "iconLocale": "en_US",
"filePath": "/tmp/icon32usa.png", "iconName": "icon32usa",
"imageUrl": "https://localhost:9096/icon32usa.png", "filePath": "/tmp/icon32usa.png",
"hs20IconString": "32:32:eng:image/png:icon32usa:/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": [ "osuServerUri": "https://example.com/osu/telus/",
{ "osuFriendlyName": [
"model_type": "PasspointDuple", {
"locale": "eng", "model_type": "Hotspot20Duple",
"dupleIso3Language": "eng", "locale": "en_CA",
"dupleName": "Example provider telus", "dupleIso3Language": "eng",
"defaultDupleSeparator": ":", "dupleName": "Example provider telus",
"asDuple": "eng:Example provider telus" "defaultDupleSeparator": ":",
}, "asDuple": "eng:Example provider telus"
{ },
"model_type": "PasspointDuple", {
"locale": "fra", "model_type": "Hotspot20Duple",
"dupleIso3Language": "fra", "locale": "fr_CA",
"dupleName": "Exemple de fournisseur telus", "dupleIso3Language": "fra",
"defaultDupleSeparator": ":", "dupleName": "Exemple de fournisseur telus",
"asDuple": "fra:Exemple de fournisseur telus" "defaultDupleSeparator": ":",
} "asDuple": "fra:Exemple de fournisseur telus"
], }
"osuNaiStandalone": "anonymous@telus.com", ],
"osuNaiShared": "anonymous@telus.com", "osuNaiStandalone": "anonymous@telus.com",
"osuMethodList": [ "osuNaiShared": "anonymous@telus.com",
1, "osuMethodList": [
0 1,
], 0
"osuServiceDescription": [ ],
{ "osuServiceDescription": [
"model_type": "PasspointDuple", {
"locale": "eng", "model_type": "Hotspot20Duple",
"dupleIso3Language": "eng", "locale": "en_CA",
"dupleName": "Example services telus", "dupleIso3Language": "eng",
"defaultDupleSeparator": ":", "dupleName": "Example services telus",
"asDuple": "eng:Example services telus" "defaultDupleSeparator": ":",
}, "asDuple": "eng:Example services telus"
{ },
"model_type": "PasspointDuple", {
"locale": "fra", "model_type": "Hotspot20Duple",
"dupleIso3Language": "fra", "locale": "fr_CA",
"dupleName": "Exemples de services telus", "dupleIso3Language": "fra",
"defaultDupleSeparator": ":", "dupleName": "Exemples de services telus",
"asDuple": "fra:Exemples de services telus" "defaultDupleSeparator": ":",
} "asDuple": "fra:Exemples de services telus"
], }
"roamingOi": [ ],
"004096", "profileType": "id_provider"
"005014", },
"F4F5E8F5F4" "createdTimestamp": 1602182805660,
], "lastModifiedTimestamp": 1602182805660,
"profileType": "passpoint_osu_id_provider" "childProfileIds": []
}, }
"createdTimestamp": 1611264539131, ]
"lastModifiedTimestamp": 1611264539131,
"childProfileIds": []
}
]

View File

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

View File

@@ -1,41 +1,37 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 34, "id": 6,
"customerId": 2, "customerId": 2,
"profileType": "passpoint_operator", "profileType": "operator",
"name": "operator-profile-2021-01-21T21:28:58.994Z", "name": "TipWlan-Hotspot20-Operator",
"details": { "details": {
"model_type": "PasspointOperatorProfile", "model_type": "OperatorProfile",
"serverOnlyAuthenticatedL2EncryptionNetwork": false, "domainName": "telecominfraproject.atlassian.net",
"x509CertificateLocation": "/etc/ca.pem", "serverOnlyAuthenticatedL2EncryptionNetwork": false,
"operatorFriendlyName": [ "x509CertificateLocation": "/etc/ca.pem",
{ "operatorFriendlyName": [
"model_type": "PasspointDuple", {
"locale": "fra", "model_type": "Hotspot20Duple",
"dupleIso3Language": "fra", "locale": "en_CA",
"dupleName": "Nom de l'opérateur convivial par défaut", "dupleIso3Language": "eng",
"defaultDupleSeparator": ":", "dupleName": "Default friendly operator name",
"asDuple": "fra:Nom de l'opérateur convivial par défaut" "defaultDupleSeparator": ":",
}, "asDuple": "eng:Default friendly operator name"
{ },
"model_type": "PasspointDuple", {
"locale": "eng", "model_type": "Hotspot20Duple",
"dupleIso3Language": "eng", "locale": "fr_CA",
"dupleName": "Default friendly passpoint_operator name", "dupleIso3Language": "fra",
"defaultDupleSeparator": ":", "dupleName": "Nom de l'opérateur convivial par défaut",
"asDuple": "eng:Default friendly passpoint_operator name" "defaultDupleSeparator": ":",
} "asDuple": "fra:Nom de l'opérateur convivial par défaut"
], }
"domainNameList": [ ],
"bell.ca", "profileType": "operator"
"telus.com", },
"rogers.com" "createdTimestamp": 1602113058719,
], "lastModifiedTimestamp": 1602113058719,
"profileType": "passpoint_operator" "childProfileIds": []
}, }
"createdTimestamp": 1611264539004,
"lastModifiedTimestamp": 1611264539004,
"childProfileIds": []
}
] ]

View File

@@ -1,24 +1,34 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 1, "id": 1,
"customerId": 2, "customerId": 2,
"profileType": "radius", "profileType": "radius",
"name": "Radius-Profile", "name": "Radius-Profile",
"details": { "details": {
"model_type": "RadiusProfile", "model_type": "RadiusProfile",
"primaryRadiusAuthServer": { "subnetConfiguration": null,
"model_type": "RadiusServer", "serviceRegionMap": {
"ipAddress": "192.168.0.1", "Ottawa": {
"secret": "testing123", "model_type": "RadiusServiceRegion",
"port": 1812, "serverMap": {
"timeout": null "Radius-Profile": [
}, {
"profileType": "radius" "model_type": "RadiusServer",
}, "ipAddress": "192.168.0.1",
"createdTimestamp": 1611262628767, "secret": "testing123",
"lastModifiedTimestamp": 1611262628767, "authPort": 1812,
"childProfileIds": [ "timeout": null
] }
} ]
},
"regionName": "Ottawa"
}
},
"profileType": "radius"
},
"createdTimestamp": 1601961451668,
"lastModifiedTimestamp": 1601961451668,
"childProfileIds": []
}
] ]

View File

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

View File

@@ -1,75 +1,134 @@
[ [
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 2, "id": 5,
"customerId": 2, "customerId": 2,
"profileType": "ssid", "profileType": "ssid",
"name": "TipWlan-cloud-3-radios", "name": "TipWlan-cloud-hotspot-access",
"details": { "details": {
"model_type": "SsidConfiguration", "model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-3-radios", "ssid": "TipWlan-cloud-hotspot-access",
"appliedRadios": [ "appliedRadios": [
"is5GHzU", "is5GHzU",
"is2dot4GHz", "is5GHzL",
"is5GHzL" "is2dot4GHz"
], ],
"ssidAdminState": "enabled", "ssidAdminState": "enabled",
"secureMode": "wpa2OnlyPSK", "secureMode": "wpa2PSK",
"vlanId": 1, "vlanId": 1,
"keyStr": "openwifi", "keyStr": "testing123",
"broadcastSsid": "enabled", "broadcastSsid": "enabled",
"keyRefresh": 0, "keyRefresh": 0,
"noLocalSubnets": false, "noLocalSubnets": false,
"radiusServiceId": 0, "radiusServiceName": null,
"radiusAcountingServiceInterval": 60, "captivePortalId": null,
"captivePortalId": null, "bandwidthLimitDown": 0,
"bandwidthLimitDown": 0, "bandwidthLimitUp": 0,
"bandwidthLimitUp": 0, "clientBandwidthLimitDown": 0,
"clientBandwidthLimitDown": 0, "clientBandwidthLimitUp": 0,
"clientBandwidthLimitUp": 0, "videoTrafficOnly": false,
"videoTrafficOnly": false, "radioBasedConfigs": {
"radioBasedConfigs": { "is5GHz": {
"is5GHzU": { "model_type": "RadioBasedSsidConfiguration",
"model_type": "RadioBasedSsidConfiguration", "enable80211r": null,
"enable80211r": null, "enable80211k": null,
"enable80211k": null, "enable80211v": null
"enable80211v": null },
}, "is2dot4GHz": {
"is2dot4GHz": { "model_type": "RadioBasedSsidConfiguration",
"model_type": "RadioBasedSsidConfiguration", "enable80211r": null,
"enable80211r": null, "enable80211k": null,
"enable80211k": null, "enable80211v": null
"enable80211v": null },
}, "is5GHzU": {
"is5GHz": { "model_type": "RadioBasedSsidConfiguration",
"model_type": "RadioBasedSsidConfiguration", "enable80211r": null,
"enable80211r": null, "enable80211k": null,
"enable80211k": null, "enable80211v": null
"enable80211v": null },
}, "is5GHzL": {
"is5GHzL": { "model_type": "RadioBasedSsidConfiguration",
"model_type": "RadioBasedSsidConfiguration", "enable80211r": null,
"enable80211r": null, "enable80211k": null,
"enable80211k": null, "enable80211v": null
"enable80211v": null }
} },
}, "bonjourGatewayProfileId": null,
"bonjourGatewayProfileId": null, "enable80211w": null,
"enable80211w": null, "wepConfig": null,
"wepConfig": null, "forwardMode": null,
"forwardMode": "BRIDGE", "profileType": "ssid"
"profileType": "ssid", },
"radiusClientConfiguration": { "createdTimestamp": 1602113058718,
"model_type": "RadiusNasConfiguration", "lastModifiedTimestamp": 1602113059547,
"nasClientId": "DEFAULT", "childProfileIds": [
"nasClientIp": "WAN_IP", 10
"userDefinedNasId": null, ]
"userDefinedNasIp": null, },
"operatorId": null {
} "model_type": "Profile",
}, "id": 11,
"createdTimestamp": 1612285248638, "customerId": 2,
"lastModifiedTimestamp": 1612285248638, "profileType": "ssid",
"childProfileIds": [] "name": "TipWlan-cloud-3-radios",
} "details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-3-radios",
"appliedRadios": [
"is5GHzL",
"is2dot4GHz",
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "open",
"vlanId": 1,
"keyStr": null,
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 0,
"clientBandwidthLimitDown": 0,
"clientBandwidthLimitUp": 0,
"videoTrafficOnly": false,
"radioBasedConfigs": {
"is5GHz": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is2dot4GHz": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is5GHzU": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
},
"is5GHzL": {
"model_type": "RadioBasedSsidConfiguration",
"enable80211r": null,
"enable80211k": null,
"enable80211v": null
}
},
"bonjourGatewayProfileId": null,
"enable80211w": null,
"wepConfig": null,
"forwardMode": null,
"profileType": "ssid"
},
"createdTimestamp": 1602183994766,
"lastModifiedTimestamp": 1602183994766,
"childProfileIds": [
10
]
}
] ]

View File

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

View File

@@ -7,7 +7,6 @@
<listEntry value="1"/> <listEntry value="1"/>
</listAttribute> </listAttribute>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/> <booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/> <booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/> <booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/> <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>

View File

@@ -1,9 +1,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent> <parent>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId> <artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath> <relativePath>../../wlan-cloud-root</relativePath>
</parent> </parent>
<artifactId>opensync-gateway</artifactId> <artifactId>opensync-gateway</artifactId>
@@ -14,23 +16,14 @@
<dependency> <dependency>
<artifactId>base-container</artifactId> <artifactId>base-container</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<artifactId>opensync-ext-interface</artifactId> <artifactId>opensync-ext-interface</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency>
<artifactId>client-models</artifactId>
<groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<artifactId>customer-models</artifactId>
<groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.vmware.ovsdb</groupId> <groupId>com.vmware.ovsdb</groupId>
<artifactId>ovsdb-client</artifactId> <artifactId>ovsdb-client</artifactId>
@@ -44,16 +37,22 @@
</dependency> </dependency>
<!-- MQTT dependencies BEGIN --> <!-- MQTT dependencies BEGIN -->
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-opensync-protobuf</artifactId>
<version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency> <dependency>
<artifactId>service-metric-service-interface</artifactId> <artifactId>service-metric-service-interface</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<artifactId>status-service-interface</artifactId> <artifactId>status-service-interface</artifactId>
<groupId>com.telecominfraproject.wlan</groupId> <groupId>com.telecominfraproject.wlan</groupId>
<version>1.0.0-SNAPSHOT</version> <version>${tip-wlan-cloud.release.version}</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java-util --> <!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java-util -->

View File

@@ -23,15 +23,6 @@ import com.google.protobuf.Descriptors;
import com.google.protobuf.MessageOrBuilder; import com.google.protobuf.MessageOrBuilder;
import com.google.protobuf.util.JsonFormat; import com.google.protobuf.util.JsonFormat;
import com.google.protobuf.util.JsonFormat.TypeRegistry; import com.google.protobuf.util.JsonFormat.TypeRegistry;
import com.netflix.servo.DefaultMonitorRegistry;
import com.netflix.servo.monitor.BasicCounter;
import com.netflix.servo.monitor.BasicTimer;
import com.netflix.servo.monitor.Counter;
import com.netflix.servo.monitor.MonitorConfig;
import com.netflix.servo.monitor.Stopwatch;
import com.netflix.servo.monitor.Timer;
import com.netflix.servo.tag.TagList;
import com.telecominfraproject.wlan.cloudmetrics.CloudMetricsTags;
import com.telecominfraproject.wlan.opensync.external.integration.OpensyncExternalIntegrationInterface; import com.telecominfraproject.wlan.opensync.external.integration.OpensyncExternalIntegrationInterface;
import com.telecominfraproject.wlan.opensync.util.ZlibUtil; import com.telecominfraproject.wlan.opensync.util.ZlibUtil;
@@ -52,30 +43,9 @@ public class OpensyncMqttClient implements ApplicationListener<ContextClosedEven
public static Charset utf8 = Charset.forName("UTF-8"); public static Charset utf8 = Charset.forName("UTF-8");
private final TagList tags = CloudMetricsTags.commonTags;
private final Counter messagesReceived = new BasicCounter(
MonitorConfig.builder("osgw-mqtt-messagesReceived").withTags(tags).build());
private final Counter messageBytesReceived = new BasicCounter(
MonitorConfig.builder("osgw-mqtt-messageBytesReceived").withTags(tags).build());
private final Timer timerMessageProcess = new BasicTimer(
MonitorConfig.builder("osgw-mqtt-messageProcessTimer").withTags(tags).build());
@Autowired @Autowired
private OpensyncExternalIntegrationInterface extIntegrationInterface; private OpensyncExternalIntegrationInterface extIntegrationInterface;
// dtop: use anonymous constructor to ensure that the following code always
// get executed,
// even when somebody adds another constructor in here
{
DefaultMonitorRegistry.getInstance().register(messagesReceived);
DefaultMonitorRegistry.getInstance().register(messageBytesReceived);
DefaultMonitorRegistry.getInstance().register(timerMessageProcess);
}
// //
// See https://github.com/fusesource/mqtt-client for the docs // See https://github.com/fusesource/mqtt-client for the docs
// //
@@ -171,7 +141,7 @@ public class OpensyncMqttClient implements ApplicationListener<ContextClosedEven
// new Topic("#", QoS.AT_LEAST_ONCE), // new Topic("#", QoS.AT_LEAST_ONCE),
// new Topic("test/#", QoS.EXACTLY_ONCE), // new Topic("test/#", QoS.EXACTLY_ONCE),
// new Topic("foo/+/bar", QoS.AT_LEAST_ONCE) // new Topic("foo/+/bar", QoS.AT_LEAST_ONCE)
Topic[] topics = { new Topic("#", QoS.AT_LEAST_ONCE), }; Topic[] topics = { new Topic("/ap/+/opensync", QoS.AT_LEAST_ONCE), };
futureConnection.subscribe(topics); futureConnection.subscribe(topics);
LOG.info("Subscribed to mqtt topics {}", Arrays.asList(topics)); LOG.info("Subscribed to mqtt topics {}", Arrays.asList(topics));
@@ -210,10 +180,6 @@ public class OpensyncMqttClient implements ApplicationListener<ContextClosedEven
// queue // queue
mqttMsg.ack(); mqttMsg.ack();
messagesReceived.increment();
messageBytesReceived.increment(payload.length);
Stopwatch stopwatchTimerMessageProcess = timerMessageProcess.start();
LOG.trace("received message on topic {} size {}", mqttMsg.getTopic(), payload.length); LOG.trace("received message on topic {} size {}", mqttMsg.getTopic(), payload.length);
if (payload[0] == 0x78) { if (payload[0] == 0x78) {
@@ -223,7 +189,6 @@ public class OpensyncMqttClient implements ApplicationListener<ContextClosedEven
payload = ZlibUtil.decompress(payload); payload = ZlibUtil.decompress(payload);
} }
// attempt to parse the message as protobuf // attempt to parse the message as protobuf
MessageOrBuilder encodedMsg = null; MessageOrBuilder encodedMsg = null;
try { try {
@@ -233,6 +198,7 @@ public class OpensyncMqttClient implements ApplicationListener<ContextClosedEven
MQTT_LOG.info("topic = {} Report = {}", mqttMsg.getTopic(), MQTT_LOG.info("topic = {} Report = {}", mqttMsg.getTopic(),
jsonPrinter.print(encodedMsg)); jsonPrinter.print(encodedMsg));
extIntegrationInterface.processMqttMessage(mqttMsg.getTopic(), (Report) encodedMsg); extIntegrationInterface.processMqttMessage(mqttMsg.getTopic(), (Report) encodedMsg);
} catch (Exception e) { } catch (Exception e) {
@@ -265,8 +231,6 @@ public class OpensyncMqttClient implements ApplicationListener<ContextClosedEven
MQTT_LOG.info("topic = {} message = {}", mqttMsg.getTopic(), msgStr); MQTT_LOG.info("topic = {} message = {}", mqttMsg.getTopic(), msgStr);
} }
} }
} finally {
stopwatchTimerMessageProcess.stop();
} }
} }

View File

@@ -1,24 +1,13 @@
package com.telecominfraproject.wlan.opensync.ovsdb; package com.telecominfraproject.wlan.opensync.ovsdb;
import java.util.concurrent.RejectedExecutionHandler; import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.atomic.AtomicInteger;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import com.netflix.servo.DefaultMonitorRegistry;
import com.netflix.servo.monitor.BasicCounter;
import com.netflix.servo.monitor.Counter;
import com.netflix.servo.monitor.MonitorConfig;
import com.netflix.servo.monitor.NumberGauge;
import com.netflix.servo.tag.TagList;
import com.telecominfraproject.wlan.cloudmetrics.CloudMetricsTags;
import com.vmware.ovsdb.service.OvsdbPassiveConnectionListener; import com.vmware.ovsdb.service.OvsdbPassiveConnectionListener;
import com.vmware.ovsdb.service.impl.OvsdbPassiveConnectionListenerImpl; import com.vmware.ovsdb.service.impl.OvsdbPassiveConnectionListenerImpl;
@@ -27,68 +16,12 @@ public class OvsdbListenerConfig {
private static final Logger LOG = LoggerFactory.getLogger(OvsdbListenerConfig.class); private static final Logger LOG = LoggerFactory.getLogger(OvsdbListenerConfig.class);
private final TagList tags = CloudMetricsTags.commonTags;
final Counter rejectedTasks = new BasicCounter(MonitorConfig.builder("osgw-ovsdb-rejectedTasks").withTags(tags).build());
final Counter submittedTasks = new BasicCounter(MonitorConfig.builder("osgw-ovsdb-submittedTasks").withTags(tags).build());
final Counter completedTasks = new BasicCounter(MonitorConfig.builder("osgw-ovsdb-completedTasks").withTags(tags).build());
private AtomicInteger tasksInFlight = new AtomicInteger(0);
private final NumberGauge tasksInFlightGauge = new NumberGauge(
MonitorConfig.builder("osgw-ovsdb-tasksInFlight").withTags(tags).build(), tasksInFlight);
// dtop: use anonymous constructor to ensure that the following code always
// get executed,
// even when somebody adds another constructor in here
{
DefaultMonitorRegistry.getInstance().register(rejectedTasks);
DefaultMonitorRegistry.getInstance().register(submittedTasks);
DefaultMonitorRegistry.getInstance().register(completedTasks);
DefaultMonitorRegistry.getInstance().register(tasksInFlightGauge);
}
@Bean @Bean
public OvsdbPassiveConnectionListener ovsdbPassiveConnectionListener( public OvsdbPassiveConnectionListener ovsdbPassiveConnectionListener(
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.listener.threadPoolSize:10}") @org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.listener.threadPoolSize:10}")
int threadPoolSize) { int threadPoolSize) {
LOG.debug("Configuring OvsdbPassiveConnectionListener with thread pool size {}", threadPoolSize); LOG.debug("Configuring OvsdbPassiveConnectionListener with thread pool size {}", threadPoolSize);
ScheduledExecutorService executorService = Executors.newScheduledThreadPool(threadPoolSize);
ThreadFactory threadFactory = new ThreadFactory() {
private AtomicInteger thrNum = new AtomicInteger();
@Override
public Thread newThread(Runnable r) {
Thread thr = new Thread(r, "ovsdb-exec-pool-" + thrNum.incrementAndGet());
thr.setDaemon(true);
return thr;
}
};
RejectedExecutionHandler rejectedExecHandler = new ThreadPoolExecutor.AbortPolicy() {
@Override
public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {
rejectedTasks.increment();
super.rejectedExecution(r, executor);
}
};
ScheduledExecutorService executorService = new ScheduledThreadPoolExecutor(threadPoolSize, threadFactory, rejectedExecHandler) {
@Override
protected void beforeExecute(Thread t, Runnable r) {
submittedTasks.increment();
tasksInFlight.incrementAndGet();
super.beforeExecute(t, r);
}
@Override
protected void afterExecute(Runnable r, Throwable t) {
completedTasks.increment();
tasksInFlight.decrementAndGet();
super.afterExecute(r, t);
}
};
OvsdbPassiveConnectionListener listener = new OvsdbPassiveConnectionListenerImpl(executorService); OvsdbPassiveConnectionListener listener = new OvsdbPassiveConnectionListenerImpl(executorService);
return listener; return listener;
} }

View File

@@ -1,21 +1,14 @@
package com.telecominfraproject.wlan.opensync.ovsdb; package com.telecominfraproject.wlan.opensync.ovsdb;
import java.util.HashSet; import java.util.HashSet;
import java.util.Map.Entry;
import java.util.Set; import java.util.Set;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.netflix.servo.DefaultMonitorRegistry;
import com.netflix.servo.monitor.MonitorConfig;
import com.netflix.servo.monitor.Monitors;
import com.netflix.servo.monitor.NumberGauge;
import com.netflix.servo.tag.TagList;
import com.telecominfraproject.wlan.cloudmetrics.CloudMetricsTags;
import com.telecominfraproject.wlan.opensync.external.integration.OvsdbSession; import com.telecominfraproject.wlan.opensync.external.integration.OvsdbSession;
import com.telecominfraproject.wlan.opensync.external.integration.OvsdbSessionMapInterface; import com.telecominfraproject.wlan.opensync.external.integration.OvsdbSessionMapInterface;
import com.vmware.ovsdb.service.OvsdbClient; import com.vmware.ovsdb.service.OvsdbClient;
@@ -25,22 +18,8 @@ public class OvsdbSessionMap implements OvsdbSessionMapInterface {
private static final Logger LOG = LoggerFactory.getLogger(OvsdbSessionMap.class); private static final Logger LOG = LoggerFactory.getLogger(OvsdbSessionMap.class);
private final TagList tags = CloudMetricsTags.commonTags;
private AtomicInteger totalEquipmentConnections = new AtomicInteger(0);
private final NumberGauge totalEquipmentConnectionsGauge = new NumberGauge(
MonitorConfig.builder("osgw-totalEquipmentConnections").withTags(tags).build(), totalEquipmentConnections);
private final ConcurrentHashMap<String, OvsdbSession> connectedClients = new ConcurrentHashMap<>(); private final ConcurrentHashMap<String, OvsdbSession> connectedClients = new ConcurrentHashMap<>();
// dtop: use anonymous constructor to ensure that the following code always
// get executed,
// even when somebody adds another constructor in here
{
DefaultMonitorRegistry.getInstance().register(totalEquipmentConnectionsGauge);
}
@Override @Override
public OvsdbSession getSession(String apId) { public OvsdbSession getSession(String apId) {
LOG.info("Get session for AP {}", apId); LOG.info("Get session for AP {}", apId);
@@ -50,11 +29,7 @@ public class OvsdbSessionMap implements OvsdbSessionMapInterface {
@Override @Override
public OvsdbSession removeSession(String apId) { public OvsdbSession removeSession(String apId) {
LOG.info("Removing session for AP {}", apId); LOG.info("Removing session for AP {}", apId);
OvsdbSession ret = connectedClients.remove(apId); return connectedClients.remove(apId);
if(ret!=null) {
totalEquipmentConnections.decrementAndGet();
}
return ret;
} }
@Override @Override
@@ -62,7 +37,7 @@ public class OvsdbSessionMap implements OvsdbSessionMapInterface {
try { try {
LOG.info("Close session for AP {}", apId); LOG.info("Close session for AP {}", apId);
connectedClients.get(apId).getOvsdbClient().shutdown(); connectedClients.get(apId).getOvsdbClient().shutdown();
removeSession(apId); connectedClients.remove(apId);
LOG.info("Closed ovsdb session for {}", apId); LOG.info("Closed ovsdb session for {}", apId);
}catch (Exception e) { }catch (Exception e) {
// do nothing // do nothing
@@ -83,8 +58,6 @@ public class OvsdbSessionMap implements OvsdbSessionMapInterface {
}catch (Exception e) { }catch (Exception e) {
// do nothing // do nothing
} }
} else {
totalEquipmentConnections.incrementAndGet();
} }
LOG.info("Created new ovsdb session for {}", apId); LOG.info("Created new ovsdb session for {}", apId);

View File

@@ -10,13 +10,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Profile; import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.netflix.servo.DefaultMonitorRegistry;
import com.netflix.servo.monitor.BasicCounter;
import com.netflix.servo.monitor.Counter;
import com.netflix.servo.monitor.MonitorConfig;
import com.netflix.servo.monitor.Monitors;
import com.netflix.servo.tag.TagList;
import com.telecominfraproject.wlan.cloudmetrics.CloudMetricsTags;
import com.telecominfraproject.wlan.opensync.ovsdb.dao.OvsdbDao; import com.telecominfraproject.wlan.opensync.ovsdb.dao.OvsdbDao;
import com.telecominfraproject.wlan.opensync.util.SslUtil; import com.telecominfraproject.wlan.opensync.util.SslUtil;
import com.vmware.ovsdb.callback.ConnectionCallback; import com.vmware.ovsdb.callback.ConnectionCallback;
@@ -31,20 +24,6 @@ public class TipWlanOvsdbRedirector {
private static final Logger LOG = LoggerFactory.getLogger(TipWlanOvsdbRedirector.class); private static final Logger LOG = LoggerFactory.getLogger(TipWlanOvsdbRedirector.class);
private final TagList tags = CloudMetricsTags.commonTags;
private final Counter connectionsAttempted = new BasicCounter(
MonitorConfig.builder("osgw-redirector-connectionsAttempted").withTags(tags).build());
private final Counter connectionsFailed = new BasicCounter(
MonitorConfig.builder("osgw-redirector-connectionsFailed").withTags(tags).build());
private final Counter connectionsCreated = new BasicCounter(
MonitorConfig.builder("osgw-redirector-connectionsCreated").withTags(tags).build());
private final Counter connectionsDropped = new BasicCounter(
MonitorConfig.builder("osgw-redirector-connectionsDropped").withTags(tags).build());
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.redirector.listenPort:6643}") @org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.redirector.listenPort:6643}")
private int ovsdbRedirectorListenPort; private int ovsdbRedirectorListenPort;
@@ -62,21 +41,10 @@ public class TipWlanOvsdbRedirector {
listenForConnections(); listenForConnections();
} }
// dtop: use anonymous constructor to ensure that the following code always
// get executed,
// even when somebody adds another constructor in here
{
DefaultMonitorRegistry.getInstance().register(connectionsAttempted);
DefaultMonitorRegistry.getInstance().register(connectionsCreated);
DefaultMonitorRegistry.getInstance().register(connectionsDropped);
DefaultMonitorRegistry.getInstance().register(connectionsFailed);
}
public void listenForConnections() { public void listenForConnections() {
ConnectionCallback connectionCallback = new ConnectionCallback() { ConnectionCallback connectionCallback = new ConnectionCallback() {
public void connected(OvsdbClient ovsdbClient) { public void connected(OvsdbClient ovsdbClient) {
connectionsAttempted.increment();
String remoteHost = ovsdbClient.getConnectionInfo().getRemoteAddress().getHostAddress(); String remoteHost = ovsdbClient.getConnectionInfo().getRemoteAddress().getHostAddress();
int localPort = ovsdbClient.getConnectionInfo().getLocalPort(); int localPort = ovsdbClient.getConnectionInfo().getLocalPort();
String subjectDn = null; String subjectDn = null;
@@ -86,9 +54,8 @@ public class TipWlanOvsdbRedirector {
String clientCn = SslUtil.extractCN(subjectDn); String clientCn = SslUtil.extractCN(subjectDn);
LOG.info("ovsdbClient redirector connected from {} on port {} clientCn {}", remoteHost, localPort, clientCn); LOG.info("ovsdbClient redirector connected from {} on port {} clientCn {}", remoteHost, localPort, clientCn);
ovsdbDao.performRedirect(ovsdbClient, clientCn); ovsdbDao.performRedirect(ovsdbClient, clientCn);
connectionsCreated.increment();
} catch (Exception e) { } catch (Exception e) {
connectionsFailed.increment();
//something is wrong with the SSL or with the redirect //something is wrong with the SSL or with the redirect
ovsdbClient.shutdown(); ovsdbClient.shutdown();
return; return;
@@ -96,7 +63,6 @@ public class TipWlanOvsdbRedirector {
} }
public void disconnected(OvsdbClient ovsdbClient) { public void disconnected(OvsdbClient ovsdbClient) {
connectionsDropped.increment();
String remoteHost = ovsdbClient.getConnectionInfo().getRemoteAddress().getHostAddress(); String remoteHost = ovsdbClient.getConnectionInfo().getRemoteAddress().getHostAddress();
int localPort = ovsdbClient.getConnectionInfo().getLocalPort(); int localPort = ovsdbClient.getConnectionInfo().getLocalPort();
String subjectDn = null; String subjectDn = null;

View File

@@ -1,81 +0,0 @@
package com.telecominfraproject.wlan.opensync.ovsdb.dao;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.vmware.ovsdb.exception.OvsdbClientException;
import com.vmware.ovsdb.protocol.operation.Insert;
import com.vmware.ovsdb.protocol.operation.Operation;
import com.vmware.ovsdb.protocol.operation.Update;
import com.vmware.ovsdb.protocol.operation.notation.Atom;
import com.vmware.ovsdb.protocol.operation.notation.Condition;
import com.vmware.ovsdb.protocol.operation.notation.Function;
import com.vmware.ovsdb.protocol.operation.notation.Row;
import com.vmware.ovsdb.protocol.operation.notation.Value;
import com.vmware.ovsdb.protocol.operation.result.OperationResult;
import com.vmware.ovsdb.service.OvsdbClient;
@Component
public class OvsdbCommandConfig extends OvsdbDaoBase {
@Autowired
OvsdbGet ovsdbGet;
void configureCommands(OvsdbClient ovsdbClient, String command, Map<String, String> payload, Long delay,
Long duration) {
LOG.debug("OvsdbCommandConfig::configureCommands command {}, payload {}, delay {} duration {}", command,
payload, delay, duration);
List<Operation> operations = new ArrayList<>();
List<Condition> conditions = new ArrayList<>();
Map<String, Value> commandConfigColumns = new HashMap<>();
conditions.add(new Condition("command", Function.EQUALS, new Atom<>(command)));
commandConfigColumns.put("command", new Atom<>(command));
commandConfigColumns.put("payload", com.vmware.ovsdb.protocol.operation.notation.Map.of(payload));
commandConfigColumns.put("delay", new Atom<>(delay));
commandConfigColumns.put("duration", new Atom<>(duration));
commandConfigColumns.put("timestamp", new Atom<>(System.currentTimeMillis()));
Row row = new Row(commandConfigColumns);
insertOrUpdate(ovsdbClient, command, operations, conditions, row, commandConfigDbTable);
try {
CompletableFuture<OperationResult[]> fResult = ovsdbClient.transact(ovsdbName, operations);
OperationResult[] result = fResult.get(ovsdbTimeoutSec, TimeUnit.SECONDS);
LOG.debug(
"OvsdbCommandConfig::configureCommands successfully configured command {} for duration {} payload {}",
command, duration, payload);
for (OperationResult res : result) {
LOG.debug("Op Result {}", res);
}
} catch (OvsdbClientException | InterruptedException | ExecutionException | TimeoutException e) {
LOG.error("OvsdbCommandConfig::configureCommands failed.", e);
throw new RuntimeException(e);
}
}
/**
* Update an existing entry, or insert a new one if entry not found
* satisfying conditions
*
* @param ovsdbClient
* @param command
* @param operations
* @param conditions
* @param row
* @param ovsdbTableName TODO
*/
void insertOrUpdate(OvsdbClient ovsdbClient, String command, List<Operation> operations, List<Condition> conditions,
Row row, String ovsdbTableName) {
if (ovsdbGet.getOvsdbTableRowsForCondition(ovsdbClient,commandConfigDbTable,conditions).isEmpty()) {
operations.add(new Insert(ovsdbTableName, row));
} else {
operations.add(new Update(ovsdbTableName, conditions, row));
}
}
}

View File

@@ -1,297 +0,0 @@
package com.telecominfraproject.wlan.opensync.ovsdb.dao;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo;
import com.telecominfraproject.wlan.opensync.ovsdb.dao.models.enumerations.DhcpFpDbStatus;
import com.telecominfraproject.wlan.opensync.ovsdb.dao.models.enumerations.DhcpFpDeviceType;
import com.telecominfraproject.wlan.opensync.ovsdb.dao.models.enumerations.DhcpFpManufId;
import com.vmware.ovsdb.exception.OvsdbClientException;
import com.vmware.ovsdb.protocol.operation.Insert;
import com.vmware.ovsdb.protocol.operation.Operation;
import com.vmware.ovsdb.protocol.operation.Select;
import com.vmware.ovsdb.protocol.operation.Update;
import com.vmware.ovsdb.protocol.operation.notation.Atom;
import com.vmware.ovsdb.protocol.operation.notation.Condition;
import com.vmware.ovsdb.protocol.operation.notation.Function;
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.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.operation.result.UpdateResult;
import com.vmware.ovsdb.service.OvsdbClient;
public class OvsdbDaoBase {
static final int MAX_VIF_PER_FREQ = 8;
static final Logger LOG = LoggerFactory.getLogger(OvsdbDaoBase.class);
public static final String wifiRouteStateDbTable = "Wifi_Route_State";
public static final String wifiMasterStateDbTable = "Wifi_Master_State";
public static final String HTTP = "http";
public static final String ovsdbName = "Open_vSwitch";
public static final String awlanNodeDbTable = "AWLAN_Node";
public static final String wifiStatsConfigDbTable = "Wifi_Stats_Config";
public static final String interfaceDbTable = "Interface";
public static final String portDbTable = "Port";
public static final String bridgeDbTable = "Bridge";
public static final String wifiRadioConfigDbTable = "Wifi_Radio_Config";
public static final String wifiRadioStateDbTable = "Wifi_Radio_State";
public static final String wifiVifConfigDbTable = "Wifi_VIF_Config";
public static final String wifiVifStateDbTable = "Wifi_VIF_State";
public static final String wifiInetConfigDbTable = "Wifi_Inet_Config";
public static final String wifiInetStateDbTable = "Wifi_Inet_State";
public static final String wifiAssociatedClientsDbTable = "Wifi_Associated_Clients";
public static final String wifiRrmConfigDbTable = "Wifi_RRM_Config";
public static final String nodeConfigTable = "Node_Config";
public static final String nodeStateTable = "Node_State";
public static final String dhcpLeasedIpDbTable = "DHCP_leased_IP";
public static final String commandConfigDbTable = "Command_Config";
public static final String commandStateDbTable = "Command_State";
public static final String hotspot20IconConfigDbTable = "Hotspot20_Icon_Config";
public static final String hotspot20OsuProvidersDbTable = "Hotspot20_OSU_Providers";
public static final String hotspot20ConfigDbTable = "Hotspot20_Config";
public static final String StartDebugEngineApCommand = "startPortForwardingSession";
public static final String StopDebugEngineApCommand = "stopSession";
public static <T> T getSingleValueFromSet(Row row, String columnName) {
Set<T> set = row != null ? row.getSetColumn(columnName) : null;
T ret = (set != null) && !set.isEmpty() ? set.iterator().next() : null;
return ret;
}
public static void translateDhcpFpValueToString(Entry<String, Value> c, Map<String, String> rowMap) {
if (c.getKey().equals("manuf_id")) {
rowMap.put(c.getKey(), DhcpFpManufId.getById(Integer.valueOf(c.getValue().toString())).getName());
} else if (c.getKey().equals("device_type")) {
rowMap.put(c.getKey(), DhcpFpDeviceType.getById(Integer.valueOf(c.getValue().toString())).getName());
} else if (c.getKey().equals("db_status")) {
rowMap.put(c.getKey(), DhcpFpDbStatus.getById(Integer.valueOf(c.getValue().toString())).getName());
} else {
rowMap.put(c.getKey(), c.getValue().toString());
}
}
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.managerAddr:3.88.149.10}")
String managerIpAddr;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.region:Ottawa}")
public String region;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.listenPort:6640}")
int ovsdbListenPort;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.externalPort:6640}")
int ovsdbExternalPort;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.mqttBroker.address.external:testportal.123wlan.com}")
String mqttBrokerAddress;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.mqttBroker.listenPort:1883}")
int mqttBrokerListenPort;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.mqttBroker.externalPort:1883}")
int mqttBrokerExternalPort;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.timeoutSec:30}")
int ovsdbTimeoutSec;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_bridge:lan}")
public String bridgeNameVifInterfaces;
@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;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_radio0:wlan0}")
public String defaultRadio0;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_radio1:wlan1}")
public String defaultRadio1;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.default_radio2:wlan2}")
public String defaultRadio2;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-device.radio0:radio0}")
public String radio0;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-device.radio1:radio1}")
public String radio1;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-device.radio2:radio2}")
public String radio2;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.wifi-iface.max:8}")
public int maxInterfacesPerRadio;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.awlan-node.upgrade_dl_timer:60}")
public long upgradeDlTimerSeconds;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.awlan-node.upgrade_timer:90}")
public long upgradeTimerSeconds;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.awlan-node.reboot_or_reset_timer:10}")
public long rebootOrResetTimerSeconds;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.externalFileStoreURL:https://localhost:9096}")
String externalFileStoreURL;
@org.springframework.beans.factory.annotation.Value("${tip.wlan.fileStoreDirectory:/tmp/tip-wlan-filestore}")
String fileStoreDirectoryName;
public OvsdbDaoBase() {
}
public <T> Set<T> getSet(Row row, String columnName) {
Set<T> set = row != null ? row.getSetColumn(columnName) : null;
return set;
}
public void updateEventReportingInterval(OvsdbClient ovsdbClient, long eventReportingIntervalSeconds) {
try {
List<Operation> operations = new ArrayList<>();
Map<String, Value> updateColumns = new HashMap<>();
// turn on stats collection over MQTT: (reporting_interval is in
// seconds)
// $ ovsh i Wifi_Stats_Config reporting_interval:=10
// radio_type:="2.4G" stats_type:="device"
updateColumns.put("reporting_interval", new Atom<>(eventReportingIntervalSeconds));
updateColumns.put("radio_type", new Atom<>("2.4G"));
updateColumns.put("stats_type", new Atom<>("event"));
Row row = new Row(updateColumns);
operations.add(new Insert(wifiStatsConfigDbTable, row));
CompletableFuture<OperationResult[]> fResult = ovsdbClient.transact(ovsdbName, operations);
OperationResult[] result = fResult.get(ovsdbTimeoutSec, TimeUnit.SECONDS);
LOG.debug("Updated {}:", wifiStatsConfigDbTable);
for (OperationResult res : result) {
LOG.debug("updateEventReportingInterval Result {}", res);
if (res instanceof InsertResult) {
LOG.info("updateEventReportingInterval insert new row result {}", (res));
// for insert, make sure it is actually in the table
confirmRowExistsInTable(ovsdbClient, ((InsertResult) res).getUuid(), wifiStatsConfigDbTable);
}
}
} catch (OvsdbClientException | TimeoutException | ExecutionException | InterruptedException e) {
throw new RuntimeException(e);
}
}
void configureWanInterfacesForDhcpSniffing(OvsdbClient ovsdbClient) {
List<Operation> operations = new ArrayList<>();
Map<String, Value> updateColumns = new HashMap<>();
List<Condition> conditions = new ArrayList<>();
// Going forward this will be only for WAN, and children will inherit
// conditions.add(new Condition("if_name", Function.EQUALS, new Atom<>(defaultWanInterfaceName)));
updateColumns.put("dhcp_sniff", new Atom<>(true));
Row row = new Row(updateColumns);
operations.add(new Update(wifiInetConfigDbTable, conditions, row));
try {
CompletableFuture<OperationResult[]> fResult = ovsdbClient.transact(ovsdbName, operations);
OperationResult[] result = fResult.get(ovsdbTimeoutSec, TimeUnit.SECONDS);
for (OperationResult res : result) {
if (res instanceof UpdateResult) {
LOG.info("configureWanInterfacesForDhcpSniffing {}", ((UpdateResult) res).toString());
} else if (res instanceof ErrorResult) {
LOG.error("configureWanInterfacesForDhcpSniffing error {}", (res));
throw new RuntimeException("configureWanInterfacesForDhcpSniffing " + ((ErrorResult) res).getError()
+ " " + ((ErrorResult) res).getDetails());
}
}
} catch (OvsdbClientException | InterruptedException | ExecutionException | TimeoutException e) {
LOG.error("OvsdbDao::configureWanInterfaces failed.", e);
throw new RuntimeException(e);
}
}
/**
* Check existence of row with a given Uuid in the specified ovsdb table
* Used primarily for operation validation.
*
* @param ovsdbClient
* @param rowUuid
* @param table
*/
void confirmRowExistsInTable(OvsdbClient ovsdbClient, Uuid rowUuid, String table) {
try {
List<Condition> conditions = new ArrayList<>();
conditions.add(new Condition("_uuid", Function.EQUALS, new Atom<>(rowUuid)));
List<Operation> operations = new ArrayList<>();
operations.add(new Select(table, conditions));
CompletableFuture<OperationResult[]> fResult = ovsdbClient.transact(ovsdbName, operations);
OperationResult[] result = fResult.get(ovsdbTimeoutSec, TimeUnit.SECONDS);
for (OperationResult res : result) {
if (res instanceof SelectResult) {
LOG.info("Select Result for confirmRowExistsInTable {} with Uuid {} {}", table, rowUuid,
((SelectResult) res).getRows());
} else if (res instanceof ErrorResult) {
LOG.error("confirmRowExistsInTable error {}", (res));
throw new RuntimeException("confirmRowExistsInTable " + ((ErrorResult) res).getError() + " "
+ ((ErrorResult) res).getDetails());
}
}
} catch (OvsdbClientException | InterruptedException | ExecutionException | TimeoutException e) {
LOG.error("Unable to confirm existence of row in table {} for Uuid {}", table, rowUuid, e);
throw new RuntimeException(e);
}
}
void fillInRadioInterfaceNames(OvsdbClient ovsdbClient, ConnectNodeInfo ret) {
try {
List<Operation> operations = new ArrayList<>();
List<Condition> conditions = new ArrayList<>();
List<String> columns = new ArrayList<>();
columns.add("freq_band");
columns.add("if_name");
operations.add(new Select(wifiRadioStateDbTable, conditions, columns));
CompletableFuture<OperationResult[]> fResult = ovsdbClient.transact(ovsdbName, operations);
OperationResult[] result = fResult.get(ovsdbTimeoutSec, TimeUnit.SECONDS);
if (LOG.isDebugEnabled()) {
LOG.debug("Select from {}:", wifiRadioStateDbTable);
for (OperationResult res : result) {
LOG.debug("Op Result {}", res);
}
}
if ((result != null) && (result.length > 0) && (result[0] instanceof SelectResult)
&& !((SelectResult) result[0]).getRows().isEmpty()) {
for (Row row : ((SelectResult) result[0]).getRows()) {
ret.wifiRadioStates.put(getSingleValueFromSet(row, "freq_band"),
getSingleValueFromSet(row, "if_name"));
}
}
} catch (OvsdbClientException | TimeoutException | ExecutionException | InterruptedException e) {
throw new RuntimeException(e);
}
}
}

View File

@@ -1,66 +0,0 @@
package com.telecominfraproject.wlan.opensync.ovsdb.dao;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
import org.springframework.stereotype.Component;
import com.vmware.ovsdb.protocol.operation.Operation;
import com.vmware.ovsdb.protocol.operation.Update;
import com.vmware.ovsdb.protocol.operation.notation.Atom;
import com.vmware.ovsdb.protocol.operation.notation.Row;
import com.vmware.ovsdb.protocol.operation.notation.Value;
import com.vmware.ovsdb.protocol.operation.result.OperationResult;
import com.vmware.ovsdb.service.OvsdbClient;
@Component
public class OvsdbFirmwareConfig extends OvsdbDaoBase {
void configureFirmwareDownload(OvsdbClient ovsdbClient, String apId, String firmwareUrl, String firmwareVersion,
String username) throws Exception {
try {
LOG.debug("configureFirmwareDownload for {} to version {} url {} username {}", apId,
firmwareVersion, firmwareUrl, username);
List<Operation> operations = new ArrayList<>();
Map<String, Value> updateColumns = new HashMap<>();
updateColumns.put("upgrade_dl_timer", new Atom<>(upgradeDlTimerSeconds));
updateColumns.put("firmware_url", new Atom<>(firmwareUrl));
updateColumns.put("upgrade_timer", new Atom<>(upgradeTimerSeconds));
Row row = new Row(updateColumns);
operations.add(new Update(awlanNodeDbTable, row));
CompletableFuture<OperationResult[]> fResult = ovsdbClient.transact(ovsdbName, operations);
OperationResult[] result = fResult.get(ovsdbTimeoutSec, TimeUnit.SECONDS);
for (OperationResult r : result) {
LOG.debug("Op Result {}", r);
}
} catch (Exception e) {
LOG.error("Could not download firmware {} to AP {}", firmwareVersion, apId, e);
throw new RuntimeException(e);
}
}
void configureFirmwareFlash(OvsdbClient ovsdbClient, String apId, String firmwareVersion, String username) {
try {
LOG.debug("configureFirmwareFlash on AP {} to load {} setting timer for {} seconds.", apId, firmwareVersion,
upgradeTimerSeconds);
List<Operation> operations = new ArrayList<>();
Map<String, Value> updateColumns = new HashMap<>();
updateColumns.put("upgrade_timer", new Atom<>(upgradeTimerSeconds));
Row row = new Row(updateColumns);
operations.add(new Update(awlanNodeDbTable, row));
CompletableFuture<OperationResult[]> fResult = ovsdbClient.transact(ovsdbName, operations);
OperationResult[] result = fResult.join();
for (OperationResult r : result) {
LOG.debug("Op Result {}", r);
}
} catch (Exception e) {
LOG.error("Could not configure timer for flashing firmware {} on AP {}", firmwareVersion, apId, e);
throw new RuntimeException(e);
}
}
}

Some files were not shown because too many files have changed in this diff Show More