Compare commits

..

39 Commits

Author SHA1 Message Date
Eugene Taranov
a659a8d253 disabled PR 2020-06-18 22:26:33 +03:00
Eugene Taranov
54591306cd cleanup 2020-06-18 22:26:16 +03:00
Eugene Taranov
f108f3c475 disabled cache 2020-06-18 22:25:49 +03:00
Eugene Taranov
efc7d3289a enable caching 2020-06-18 22:18:32 +03:00
Eugene Taranov
ad3b88f64d test 2020-06-18 22:12:26 +03:00
Eugene Taranov
d33fb9c53a test 2020-06-18 20:56:38 +03:00
Eugene Taranov
9c52ad0612 test 2020-06-18 20:53:38 +03:00
Eugene Taranov
34c0876e7e test 2020-06-18 18:23:28 +03:00
Eugene Taranov
193f6cc391 added project key 2020-06-18 18:16:35 +03:00
Eugene Taranov
f735953ce8 test 2020-06-18 17:56:04 +03:00
Eugene Taranov
1dcb047aec test 2020-06-18 17:50:30 +03:00
Eugene Taranov
222da2583e test 2020-06-18 17:47:08 +03:00
Eugene Taranov
62a38be246 test 2020-06-18 17:45:33 +03:00
Eugene Taranov
2459d00226 test 2020-06-18 17:34:31 +03:00
Eugene Taranov
ffdd2dbdbe separated mvn build and sonar steps 2020-06-18 17:28:55 +03:00
Eugene Taranov
b0c946efc7 fix2 2020-06-18 17:24:46 +03:00
Eugene Taranov
febc5e508a fix 2020-06-18 17:21:49 +03:00
Eugene Taranov
00174b239b added sonar.projectKey 2020-06-18 17:19:12 +03:00
Eugene Taranov
b7daf2f712 test 2020-06-18 16:40:34 +03:00
Eugene Taranov
034433ad16 enabled opensync-gateway 2020-06-18 16:37:05 +03:00
Eugene Taranov
1ca0017f76 test 2020-06-18 16:27:05 +03:00
Eugene Taranov
5bc5327d25 added opensync-ext-static 2020-06-18 16:20:31 +03:00
Eugene Taranov
8cbcf72069 enabled opensync-ext-cloud 2020-06-18 16:11:49 +03:00
Eugene Taranov
9c03c32ae8 test 2020-06-18 16:09:49 +03:00
Eugene Taranov
859d51bc17 disabled opensync-ext-cloud 2020-06-18 15:10:49 +03:00
Eugene Taranov
7b73b808af added opensync-ext-interface 2020-06-18 15:05:06 +03:00
Eugene Taranov
e27c7daf74 job matrix 2020-06-18 15:02:22 +03:00
Eugene Taranov
d712c9e7dc trigger 2020-06-18 14:53:51 +03:00
Eugene Taranov
cb8f80d466 disabled test 2020-06-18 14:45:23 +03:00
Eugene Taranov
770bb48a69 added maven env 2020-06-18 14:43:04 +03:00
Eugene Taranov
e34794d482 added MAVEN_REPO_USERNAME ? 2020-06-18 14:40:45 +03:00
Eugene Taranov
988f094ed4 test 2020-06-18 14:39:35 +03:00
Eugene Taranov
1df4e5ab08 split mvn build and sonar analysis 2020-06-18 14:38:57 +03:00
Eugene Taranov
e6ca8f1d53 added maven creds 2020-06-18 14:36:03 +03:00
Eugene Taranov
2a9f306b93 added maven cerdentials 2020-06-18 14:23:45 +03:00
Eugene Taranov
2dde38b719 added dep 2020-06-18 14:14:29 +03:00
Eugene Taranov
29d6f163bb fix pr 2020-06-18 14:04:33 +03:00
Eugene Taranov
ff9894eded enable pr 2020-06-18 14:03:39 +03:00
Eugene Taranov
c1fbf4f32f TOOLS-23: sonar code analysis 2020-06-18 14:02:13 +03:00
145 changed files with 12378 additions and 20669 deletions

View File

@@ -1,47 +0,0 @@
<settings>
<servers>
<server>
<id>tip-wlan-cloud-maven-repo</id>
<username>${env.MAVEN_REPO_USERNAME}</username>
<password>${env.MAVEN_REPO_PASSWORD}</password>
</server>
<server>
<id>jfrog-spring-milestones</id>
<username>${env.MAVEN_REPO_USERNAME}</username>
<password>${env.MAVEN_REPO_PASSWORD}</password>
</server>
<server>
<id>jfrog-maven-central</id>
<username>${env.MAVEN_REPO_USERNAME}</username>
<password>${env.MAVEN_REPO_PASSWORD}</password>
</server>
</servers>
<mirrors>
<mirror>
<id>jfrog-maven-central</id>
<name>Mirror Repository</name>
<url>https://tip.jfrog.io/artifactory/maven-central</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>jfrog-spring-milestones</id>
<url>https://tip.jfrog.io/artifactory/spring-milestones</url>
<mirrorOf>spring-milestones</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>schema-publisher</id>
<properties>
<schema-repository-user>${env.MAVEN_REPO_USERNAME}</schema-repository-user>
<schema-repository-password>${env.MAVEN_REPO_PASSWORD}</schema-repository-password>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>schema-publisher</activeProfile>
</activeProfiles>
</settings>

View File

@@ -7,7 +7,6 @@ on:
env:
SONAR_URL: https://sonarcloud.io
SONAR_ORGANIZATION: telecominfraproject
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
sonar:
@@ -40,24 +39,18 @@ jobs:
uses: actions/setup-java@v1
with:
java-version: 14
- name: Cache Maven packages
uses: actions/cache@v1
with:
path: ~/.m2/repository/
key: ${{ runner.os }}-m2
- name: Configure maven settings.xml
run: cp wlan-cloud-opensync-controller/.github/workflows/maven_settings_template.xml /home/runner/.m2/settings.xml
server-id: tip-wlan-cloud-maven-repo
server-username: MAVEN_REPO_USERNAME
server-password: MAVEN_REPO_PASSWORD
- name: Maven build
working-directory: wlan-cloud-opensync-controller/${{ matrix.project }}
env:
MAVEN_REPO_USERNAME: build-pipeline
MAVEN_REPO_PASSWORD: ${{ secrets.MAVEN_REPO_PASSWORD }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: mvn clean install
- name: Run sonar
working-directory: wlan-cloud-opensync-controller/${{ matrix.project }}
env:
MAVEN_REPO_USERNAME: build-pipeline
MAVEN_REPO_PASSWORD: ${{ secrets.MAVEN_REPO_PASSWORD }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: mvn sonar:sonar -Dsonar.host.url=${{ env.SONAR_URL }} -Dsonar.login=${{ secrets.SONAR_LOGIN }} -Dsonar.organization=${{ env.SONAR_ORGANIZATION }} -Dsonar.projectKey=com.telecominfraproject.wlan:${{ matrix.project }}

29
LICENSE
View File

@@ -1,29 +0,0 @@
BSD 3-Clause License
#Release Testing
Copyright (c) 2020, Telecom Infra Project
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -1,13 +1,7 @@
# wlan-opensync-wifi-controller
# tip-wlan-opensync-wifi-controller
Opensync Wifi Controller - accepts connections from the access points, pushes configuration, reads metrics from the topics on MQTT broker.
Components in this repository depend on other wlan-cloud repositories.
Components in this repository depend on other tip-wlan repositories.
How to build components in this repository - checkout [wlan-cloud-workspace](https://github.com/Telecominfraproject/wlan-cloud-workspace) repository and follow its build instructions.
There are several variants of the Opensync Wifi Controller:
* statically configured by the json files - see the projects: opensync-ext-static, opensync-gateway-static-process, opensync-gateway-static-docker
* dynamically configured using REST APIs and provisioning workflows of the CloudSDK - see the projects: opensync-ext-cloud, opensync-gateway-cloud-process, opensync-gateway-cloud-docker
All the variants mentionined above are using common components defined in projects opensync-gateway and opensync-ext-interface
How to build components in this repository - checkout [tip-wlan-cloud-workspace](https://github.com/Telecominfraproject/tip-wlan-cloud-workspace) repository and follow its build instructions.

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

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

View File

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

View File

@@ -2,10 +2,8 @@ package com.telecominfraproject.wlan.opensync.external.integration.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextStartedEvent;
import org.springframework.stereotype.Component;
/**
* Listen for context started event so that we are register with routing service
@@ -13,13 +11,15 @@ import org.springframework.stereotype.Component;
* @author yongli
*
*/
@Component
public class OpensyncGatewayControllerStartListener implements ApplicationListener<ContextStartedEvent> {
private static final Logger LOG = LoggerFactory.getLogger(OpensyncGatewayControllerStartListener.class);
@Autowired
private OpensyncCloudGatewayController controller;
OpensyncCloudGatewayController controller;
public OpensyncGatewayControllerStartListener(OpensyncCloudGatewayController controller) {
this.controller = controller;
}
@Override
public void onApplicationEvent(ContextStartedEvent event) {

View File

@@ -2,10 +2,8 @@ package com.telecominfraproject.wlan.opensync.external.integration.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextClosedEvent;
import org.springframework.stereotype.Component;
/**
* Register for stop event so that we can de-register from routing service
@@ -13,13 +11,14 @@ import org.springframework.stereotype.Component;
* @author yongli
*
*/
@Component
public class OpensyncGatewayControllerStopListener implements ApplicationListener<ContextClosedEvent> {
OpensyncCloudGatewayController controller;
private static final Logger LOG = LoggerFactory.getLogger(OpensyncGatewayControllerStopListener.class);
@Autowired
private OpensyncCloudGatewayController controller;
public OpensyncGatewayControllerStopListener(OpensyncCloudGatewayController controller) {
this.controller = controller;
}
@Override
public void onApplicationEvent(ContextClosedEvent event) {

View File

@@ -0,0 +1,29 @@
package com.telecominfraproject.wlan.opensync.external.integration.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
import org.springframework.context.annotation.Bean;
import org.springframework.context.event.ContextClosedEvent;
import org.springframework.context.event.ContextStartedEvent;
import org.springframework.stereotype.Component;
@Component
public class OpensyncGatewayListenerConfiguration {
@Autowired
OpensyncCloudGatewayController controller;
private static final Logger LOG = LoggerFactory.getLogger(OpensyncGatewayControllerStartListener.class);
@Bean
public ApplicationListener<ContextClosedEvent> myStopEventListner() {
LOG.debug("Creating stop event listener");
return new OpensyncGatewayControllerStopListener(controller);
}
@Bean
public ApplicationListener<ContextStartedEvent> myStartedEventListener() {
LOG.debug("Creating start event listener");
return new OpensyncGatewayControllerStartListener(controller);
}
}

View File

@@ -1,945 +0,0 @@
package com.telecominfraproject.wlan.opensync.external.integration;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.ArgumentMatchers;
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.cache.CacheManager;
import org.springframework.cache.caffeine.CaffeineCacheManager;
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.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.protobuf.ByteString;
import com.telecominfraproject.wlan.alarm.AlarmServiceInterface;
import com.telecominfraproject.wlan.client.ClientServiceInterface;
import com.telecominfraproject.wlan.client.info.models.ClientInfoDetails;
import com.telecominfraproject.wlan.client.session.models.ClientSession;
import com.telecominfraproject.wlan.client.session.models.ClientSessionDetails;
import com.telecominfraproject.wlan.cloudeventdispatcher.CloudEventDispatcherInterface;
import com.telecominfraproject.wlan.core.model.entity.CountryCode;
import com.telecominfraproject.wlan.core.model.equipment.EquipmentType;
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
import com.telecominfraproject.wlan.customer.models.Customer;
import com.telecominfraproject.wlan.customer.models.CustomerDetails;
import com.telecominfraproject.wlan.customer.models.EquipmentAutoProvisioningSettings;
import com.telecominfraproject.wlan.customer.service.CustomerServiceInterface;
import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface;
import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration;
import com.telecominfraproject.wlan.equipment.models.Equipment;
import com.telecominfraproject.wlan.firmware.FirmwareServiceInterface;
import com.telecominfraproject.wlan.firmware.models.CustomerFirmwareTrackRecord;
import com.telecominfraproject.wlan.firmware.models.CustomerFirmwareTrackSettings;
import com.telecominfraproject.wlan.location.models.Location;
import com.telecominfraproject.wlan.location.models.LocationDetails;
import com.telecominfraproject.wlan.location.models.LocationType;
import com.telecominfraproject.wlan.location.service.LocationServiceInterface;
import com.telecominfraproject.wlan.opensync.external.integration.controller.OpensyncCloudGatewayController;
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.OpensyncAPVIFState;
import com.telecominfraproject.wlan.profile.ProfileServiceInterface;
import com.telecominfraproject.wlan.profile.models.Profile;
import com.telecominfraproject.wlan.profile.models.ProfileType;
import com.telecominfraproject.wlan.profile.network.models.ApNetworkConfiguration;
import com.telecominfraproject.wlan.profile.rf.models.RfConfiguration;
import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration;
import com.telecominfraproject.wlan.routing.RoutingServiceInterface;
import com.telecominfraproject.wlan.status.StatusServiceInterface;
import com.telecominfraproject.wlan.status.equipment.models.EquipmentProtocolStatusData;
import com.telecominfraproject.wlan.status.equipment.models.EquipmentUpgradeStatusData;
import com.telecominfraproject.wlan.status.equipment.report.models.ActiveBSSID;
import com.telecominfraproject.wlan.status.equipment.report.models.ActiveBSSIDs;
import com.telecominfraproject.wlan.status.equipment.report.models.ClientConnectionDetails;
import com.telecominfraproject.wlan.status.models.Status;
import com.telecominfraproject.wlan.status.models.StatusDataType;
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
import sts.OpensyncStats.AssocType;
import sts.OpensyncStats.Client;
import sts.OpensyncStats.ClientReport;
import sts.OpensyncStats.EventReport;
import sts.OpensyncStats.EventReport.ClientAssocEvent;
import sts.OpensyncStats.EventType;
import sts.OpensyncStats.RadioBandType;
import sts.OpensyncStats.Report;
@RunWith(SpringRunner.class)
@ActiveProfiles(profiles = { "integration_test", })
@SpringBootTest(webEnvironment = WebEnvironment.NONE, classes = OpensyncExternalIntegrationCloudTest.class)
@Import(value = { AlarmServiceInterface.class, OpensyncExternalIntegrationCloud.class,
OpensyncExternalIntegrationCloudTest.Config.class,
})
public class OpensyncExternalIntegrationCloudTest {
@MockBean
AlarmServiceInterface alarmServiceInterface;
@MockBean
CustomerServiceInterface customerServiceInterface;
@MockBean
LocationServiceInterface locationServiceInterface;
@MockBean(answer = Answers.RETURNS_MOCKS)
OvsdbSessionMapInterface ovsdbSessionMapInterface;
@MockBean
CloudEventDispatcherInterface equipmentMetricsCollectorInterface;
@MockBean
EquipmentServiceInterface equipmentServiceInterface;
@MockBean
RoutingServiceInterface routingServiceInterface;
@MockBean
ProfileServiceInterface profileServiceInterface;
@MockBean
StatusServiceInterface statusServiceInterface;
@MockBean
ClientServiceInterface clientServiceInterface;
@MockBean
FirmwareServiceInterface firmwareServiceInterface;
@MockBean(answer = Answers.RETURNS_MOCKS)
OpensyncCloudGatewayController gatewayController;
@MockBean
OpensyncExternalIntegrationMqttMessageProcessor opensyncExternalIntegrationMqttProcessor;
@Autowired
OpensyncExternalIntegrationCloud opensyncExternalIntegrationCloud;
MockitoSession mockito;
@Configuration
static class Config {
@Bean
public OpensyncExternalIntegrationCloud opensyncExternalIntegrationCloud() {
return new OpensyncExternalIntegrationCloud();
}
@Bean
public CacheManager cacheManager() {
return new CaffeineCacheManager();
}
}
@Before
public void setUp() throws Exception {
mockito = Mockito.mockitoSession().initMocks(this).strictness(Strictness.STRICT_STUBS).startMocking();
}
@After
public void tearDown() throws Exception {
mockito.finishMocking();
}
@Test
public void testGetCustomerEquipment() {
Equipment equipment = new Equipment();
equipment.setDetails(ApElementConfiguration.createWithDefaults());
Mockito.when(
equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.eq("Test_Client_21P10C68818122")))
.thenReturn(equipment);
assertNotNull(opensyncExternalIntegrationCloud.getCustomerEquipment("Test_Client_21P10C68818122"));
assertNull(opensyncExternalIntegrationCloud.getCustomerEquipment("Test_Client_21P10C68818133"));
}
@Test
public void testApConnected() {
Location location = new Location();
location.setId(8L);
location.setCustomerId(2);
location.setDetails(LocationDetails.createWithDefaults());
location.setName("Location-UT");
location.setLocationType(LocationType.BUILDING);
Customer customer = new Customer();
customer.setId(2);
CustomerDetails customerDetails = new CustomerDetails();
customerDetails.setAutoProvisioning(new EquipmentAutoProvisioningSettings());
customerDetails.getAutoProvisioning().setEnabled(true);
customerDetails.getAutoProvisioning().setLocationId(location.getId());
customer.setDetails(customerDetails);
Mockito.when(customerServiceInterface.getOrNull(ArgumentMatchers.anyInt())).thenReturn(customer);
Profile apProfile = new Profile();
apProfile.setDetails(ApNetworkConfiguration.createWithDefaults());
Profile ssidProfile = new Profile();
ssidProfile.setDetails(SsidConfiguration.createWithDefaults());
apProfile.setChildProfileIds(ImmutableSet.of(ssidProfile.getId()));
Mockito.when(profileServiceInterface.create(ArgumentMatchers.any(Profile.class)))
.thenAnswer(i -> i.getArguments()[0]);
// .thenReturn(ssidProfile);
Mockito.when(profileServiceInterface.update(ArgumentMatchers.any(Profile.class)))
.thenAnswer(i -> i.getArguments()[0]);
Status fwStatus = new Status();
fwStatus.setDetails(new EquipmentUpgradeStatusData());
Mockito.when(statusServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
ArgumentMatchers.eq(StatusDataType.FIRMWARE))).thenReturn(fwStatus);
Mockito.when(firmwareServiceInterface.getDefaultCustomerTrackSetting())
.thenReturn(new CustomerFirmwareTrackSettings());
CustomerFirmwareTrackRecord fwTrackRecord = new CustomerFirmwareTrackRecord();
fwTrackRecord.setSettings(new CustomerFirmwareTrackSettings());
fwTrackRecord.setTrackRecordId(3);
fwTrackRecord.setCustomerId(2);
Mockito.when(firmwareServiceInterface.getCustomerFirmwareTrackRecord(ArgumentMatchers.anyInt()))
.thenReturn(fwTrackRecord);
Equipment equipment = new Equipment();
equipment.setCustomerId(2);
equipment.setEquipmentType(EquipmentType.AP);
equipment.setInventoryId("Test_Client_21P10C68818122");
equipment.setLocationId(location.getId());
equipment.setId(1L);
equipment.setProfileId(apProfile.getId());
equipment.setDetails(ApElementConfiguration.createWithDefaults());
Mockito.when(equipmentServiceInterface.get(1L)).thenReturn(equipment);
Mockito.when(
equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.eq("Test_Client_21P10C68818122")))
.thenReturn(equipment);
Mockito.when(equipmentServiceInterface.create(ArgumentMatchers.any(Equipment.class)))
.thenAnswer(i -> i.getArguments()[0]);
Mockito.when(equipmentServiceInterface.update(ArgumentMatchers.any(Equipment.class)))
.thenAnswer(i -> i.getArguments()[0]);
OvsdbSession session = Mockito.mock(OvsdbSession.class);
Mockito.when(ovsdbSessionMapInterface.getSession("Test_Client_21P10C68818122")).thenReturn(session);
opensyncExternalIntegrationCloud.apConnected("Test_Client_21P10C68818122", createConnectNodeInfo());
Mockito.verify(firmwareServiceInterface).getDefaultCustomerTrackSetting();
Mockito.verifyNoInteractions(locationServiceInterface);
}
@Test
public void testApConnectedNewAp() throws Exception {
Location location = new Location();
location.setId(8L);
location.setCustomerId(2);
location.setDetails(LocationDetails.createWithDefaults());
location.setName("Location-UT");
location.setLocationType(LocationType.BUILDING);
Mockito.when(locationServiceInterface.get(8L)).thenReturn(location);
Customer customer = new Customer();
customer.setId(2);
CustomerDetails customerDetails = new CustomerDetails();
customerDetails.setAutoProvisioning(new EquipmentAutoProvisioningSettings());
customerDetails.getAutoProvisioning().setEnabled(true);
customerDetails.getAutoProvisioning().setLocationId(location.getId());
customer.setDetails(customerDetails);
Mockito.when(customerServiceInterface.getOrNull(ArgumentMatchers.anyInt())).thenReturn(customer);
Profile rfProfile = new Profile();
rfProfile.setId(1);
rfProfile.setName("testRfProfile");
rfProfile.setDetails(RfConfiguration.createWithDefaults());
rfProfile.setProfileType(ProfileType.rf);
Profile apProfile = new Profile();
apProfile.setDetails(ApNetworkConfiguration.createWithDefaults());
apProfile.setName("testApProfile");
apProfile.setProfileType(ProfileType.equipment_ap);
Profile ssidProfile = new Profile();
ssidProfile.setId(2);
ssidProfile.setDetails(SsidConfiguration.createWithDefaults());
Set<Long> childProfileIds = new HashSet<>();
childProfileIds.add(rfProfile.getId());
childProfileIds.add(ssidProfile.getId());
apProfile.setChildProfileIds(childProfileIds);
Mockito.when(profileServiceInterface.create(ArgumentMatchers.any(Profile.class))).thenReturn(apProfile)
.thenReturn(ssidProfile).thenReturn(rfProfile);
Mockito.when(profileServiceInterface.update(ArgumentMatchers.any(Profile.class))).thenReturn(apProfile);
List<Profile> profileList = new ArrayList<>();
profileList.add(apProfile);
profileList.add(rfProfile);
profileList.add(ssidProfile);
Mockito.when(profileServiceInterface.getProfileWithChildren(ArgumentMatchers.anyLong())).thenReturn(profileList);
Equipment equipment = new Equipment();
equipment.setCustomerId(2);
equipment.setEquipmentType(EquipmentType.AP);
equipment.setInventoryId("Test_Client_21P10C68818122");
equipment.setLocationId(location.getId());
equipment.setId(1L);
equipment.setProfileId(apProfile.getId());
equipment.setDetails(ApElementConfiguration.createWithDefaults());
Mockito.when(equipmentServiceInterface.get(1L)).thenReturn(equipment);
Mockito.when(equipmentServiceInterface.create(ArgumentMatchers.any(Equipment.class)))
.thenAnswer(i -> i.getArguments()[0]);
Mockito.when(equipmentServiceInterface.update(ArgumentMatchers.any(Equipment.class)))
.thenAnswer(i -> i.getArguments()[0]);
Mockito.when(
equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.eq("Test_Client_21P10C68818122")))
.thenReturn(null);
Status fwStatus = new Status();
fwStatus.setDetails(new EquipmentUpgradeStatusData());
Mockito.when(statusServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
ArgumentMatchers.eq(StatusDataType.FIRMWARE))).thenReturn(fwStatus);
Mockito.when(firmwareServiceInterface.getDefaultCustomerTrackSetting())
.thenReturn(new CustomerFirmwareTrackSettings());
CustomerFirmwareTrackRecord fwTrackRecord = new CustomerFirmwareTrackRecord();
fwTrackRecord.setSettings(new CustomerFirmwareTrackSettings());
fwTrackRecord.setTrackRecordId(3);
fwTrackRecord.setCustomerId(2);
Mockito.when(firmwareServiceInterface.getCustomerFirmwareTrackRecord(ArgumentMatchers.anyInt()))
.thenReturn(fwTrackRecord);
OvsdbSession session = Mockito.mock(OvsdbSession.class);
Mockito.when(ovsdbSessionMapInterface.getSession("Test_Client_21P10C68818122")).thenReturn(session);
// Mockito.when(locationServiceInterface.get(Mockito.anyLong())).thenReturn(value);
opensyncExternalIntegrationCloud.apConnected("Test_Client_21P10C68818122", createConnectNodeInfo());
Mockito.verify(customerServiceInterface).getOrNull(ArgumentMatchers.anyInt());
Mockito.verify(equipmentServiceInterface).getByInventoryIdOrNull("Test_Client_21P10C68818122");
Mockito.verify(firmwareServiceInterface).getDefaultCustomerTrackSetting();
Mockito.verify(locationServiceInterface).get(ArgumentMatchers.anyLong());
}
@Test
public void testApConnectedNoAutoprovisioning() throws Exception {
Profile apProfile = new Profile();
apProfile.setDetails(ApNetworkConfiguration.createWithDefaults());
Profile ssidProfile = new Profile();
ssidProfile.setDetails(SsidConfiguration.createWithDefaults());
apProfile.setChildProfileIds(ImmutableSet.of(ssidProfile.getId()));
Mockito.when(profileServiceInterface.create(ArgumentMatchers.any(Profile.class)))
.thenAnswer(i -> i.getArguments()[0]);
// .thenReturn(ssidProfile);
Mockito.when(profileServiceInterface.update(ArgumentMatchers.any(Profile.class)))
.thenAnswer(i -> i.getArguments()[0]);
Location location = new Location();
location.setId(8L);
location.setCustomerId(2);
location.setDetails(LocationDetails.createWithDefaults());
location.setName("Location-UT");
location.setLocationType(LocationType.BUILDING);
Equipment equipment = new Equipment();
equipment.setCustomerId(2);
equipment.setEquipmentType(EquipmentType.AP);
equipment.setInventoryId("Test_Client_21P10C68818122");
equipment.setLocationId(location.getId());
equipment.setId(1L);
equipment.setProfileId(apProfile.getId());
equipment.setDetails(ApElementConfiguration.createWithDefaults());
Status fwStatus = new Status();
fwStatus.setDetails(new EquipmentUpgradeStatusData());
Mockito.when(statusServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
ArgumentMatchers.eq(StatusDataType.FIRMWARE))).thenReturn(fwStatus);
Mockito.when(firmwareServiceInterface.getDefaultCustomerTrackSetting())
.thenReturn(new CustomerFirmwareTrackSettings());
CustomerFirmwareTrackRecord fwTrackRecord = new CustomerFirmwareTrackRecord();
fwTrackRecord.setSettings(new CustomerFirmwareTrackSettings());
fwTrackRecord.setTrackRecordId(3);
fwTrackRecord.setCustomerId(2);
Mockito.when(firmwareServiceInterface.getCustomerFirmwareTrackRecord(ArgumentMatchers.anyInt()))
.thenReturn(fwTrackRecord);
Mockito.when(equipmentServiceInterface.get(1L)).thenReturn(equipment);
Mockito.when(equipmentServiceInterface.create(ArgumentMatchers.any(Equipment.class)))
.thenAnswer(i -> i.getArguments()[0]);
Mockito.when(equipmentServiceInterface.update(ArgumentMatchers.any(Equipment.class)))
.thenAnswer(i -> i.getArguments()[0]);
Mockito.when(
equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.eq("Test_Client_21P10C68818122")))
.thenReturn(equipment);
Customer customer = new Customer();
customer.setId(2);
CustomerDetails customerDetails = new CustomerDetails();
EquipmentAutoProvisioningSettings autoprovSettings = new EquipmentAutoProvisioningSettings();
autoprovSettings.setEnabled(false);
customerDetails.setAutoProvisioning(autoprovSettings);
customer.setDetails(customerDetails);
Mockito.when(customerServiceInterface.getOrNull(ArgumentMatchers.anyInt())).thenReturn(customer);
opensyncExternalIntegrationCloud.apConnected("Test_Client_21P10C68818122", createConnectNodeInfo());
}
@Test
public void testApDisconnected() {
opensyncExternalIntegrationCloud.apDisconnected("Test_Client_21P10C68818122");
}
@Test
public void testGetApConfig() throws Exception {
Customer customer = new Customer();
customer.setId(2);
CustomerDetails customerDetails = new CustomerDetails();
EquipmentAutoProvisioningSettings autoprovSettings = new EquipmentAutoProvisioningSettings();
autoprovSettings.setEnabled(true);
customerDetails.setAutoProvisioning(autoprovSettings);
customer.setDetails(customerDetails);
Mockito.when(customerServiceInterface.getOrNull(ArgumentMatchers.anyInt())).thenReturn(customer);
Equipment equipment = new Equipment();
equipment.setDetails(ApElementConfiguration.createWithDefaults());
Mockito.when(equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.any())).thenReturn(equipment);
Profile apProfile = new Profile();
apProfile.setDetails(ApNetworkConfiguration.createWithDefaults());
Profile ssidProfile = new Profile();
ssidProfile.setDetails(SsidConfiguration.createWithDefaults());
List<Profile> profileWithChildren = ImmutableList.of(apProfile, ssidProfile);
Mockito.when(profileServiceInterface.getProfileWithChildren(ArgumentMatchers.anyLong()))
.thenReturn(profileWithChildren);
assertNotNull(opensyncExternalIntegrationCloud.getApConfig("Test_Client_21P10C68818122"));
}
@Test
public void testGetApConfigNoAutoprovisioning() throws Exception {
Customer customer = new Customer();
customer.setId(2);
CustomerDetails customerDetails = new CustomerDetails();
EquipmentAutoProvisioningSettings autoprovSettings = new EquipmentAutoProvisioningSettings();
autoprovSettings.setEnabled(false);
customerDetails.setAutoProvisioning(autoprovSettings);
customer.setDetails(customerDetails);
Mockito.when(customerServiceInterface.getOrNull(ArgumentMatchers.anyInt())).thenReturn(customer);
assertNull(opensyncExternalIntegrationCloud.getApConfig("Test_Client_21P10C68818122"));
}
@Test
public void testExtractApIdFromTopic() {
String topic = "/ap/Test_Client_21P10C68818122/opensync";
assertEquals("Test_Client_21P10C68818122",
OpensyncExternalIntegrationMqttMessageProcessor.extractApIdFromTopic(topic));
}
@Test
public void testProcessMqttMessageStringReport() {
Report report = Report.newBuilder().setNodeID("21P10C68818122")
.addAllClients(getOpensyncStatsClientReportsList())
.addAllEventReport(getOpensyncStatsEventReportsList()).build();
String topic = "/ap/Test_Client_21P10C68818122/opensync";
Status bssidStatus = new Status();
bssidStatus.setStatusDataType(StatusDataType.ACTIVE_BSSIDS);
bssidStatus.setCustomerId(2);
ActiveBSSIDs activeBssidsDetails = new ActiveBSSIDs();
activeBssidsDetails.setActiveBSSIDs(getActiveBssidList());
bssidStatus.setDetails(activeBssidsDetails);
Mockito.when(statusServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
ArgumentMatchers.eq(StatusDataType.ACTIVE_BSSIDS))).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();
clientInstance.setMacAddress(new MacAddress("7C:AB:60:E6:EA:4D"));
clientInstance.setDetails(new ClientInfoDetails());
com.telecominfraproject.wlan.client.models.Client clientInstance2 = new com.telecominfraproject.wlan.client.models.Client();
clientInstance2.setMacAddress(new MacAddress("C0:9A:D0:76:A9:69"));
clientInstance2.setDetails(new ClientInfoDetails());
Mockito.when(
clientServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.any(MacAddress.class)))
.thenReturn(clientInstance).thenReturn(clientInstance2);
Mockito.when(clientServiceInterface
.update(ArgumentMatchers.any(com.telecominfraproject.wlan.client.models.Client.class)))
.thenReturn(clientInstance).thenReturn(clientInstance2);
ClientSession clientSession = new ClientSession();
clientSession.setMacAddress(new MacAddress("7C:AB:60:E6:EA:4D"));
clientSession.setDetails(new ClientSessionDetails());
ClientSession clientSession2 = new ClientSession();
clientSession2.setMacAddress(new MacAddress("C0:9A:D0:76:A9:69"));
clientSession2.setDetails(new ClientSessionDetails());
Mockito.when(clientServiceInterface.getSessionOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
ArgumentMatchers.any(MacAddress.class))).thenReturn(clientSession).thenReturn(clientSession2);
Mockito.when(clientServiceInterface.updateSession(ArgumentMatchers.any(ClientSession.class)))
.thenReturn(clientSession).thenReturn(clientSession2);
opensyncExternalIntegrationCloud.processMqttMessage(topic, report);
Mockito.verify(opensyncExternalIntegrationMqttProcessor, Mockito.times(1)).processMqttMessage(topic, report);
}
@Ignore
public void testProcessMqttMessageStringFlowReport() {
// TODO: implement me when support flow reports
}
@Ignore
public void testProcessMqttMessageStringWCStatsReport() {
// TODO: implement me when wcs stats reports supported
}
@Test
public void testWifiVIFStateDbTableUpdate() {
String apId = "Test_Client_21P10C68818122";
OpensyncAPVIFState vifState1 = new OpensyncAPVIFState();
vifState1.setMac("24:f5:a2:ef:2e:54");
vifState1.setSsid("ssid-1");
// OpensyncWifiAssociatedClients wifiClient1 = new
// OpensyncWifiAssociatedClients();
// wifiClient1.setMac("C0:9A:D0:E6:EA:4D");
Uuid uuid1 = Uuid.of(UUID.randomUUID());
vifState1.setAssociatedClients(ImmutableList.of(uuid1));
OpensyncAPVIFState vifState2 = new OpensyncAPVIFState();
vifState2.setMac("24:f5:a2:ef:2e:55");
vifState2.setSsid("ssid-2");
// OpensyncWifiAssociatedClients wifiClient2 = new
// OpensyncWifiAssociatedClients();
// wifiClient2.setMac("7C:AB:60:E6:EA:4D");
Uuid uuid2 = Uuid.of(UUID.randomUUID());
vifState2.setAssociatedClients(ImmutableList.of(uuid2));
OpensyncAPVIFState vifState3 = new OpensyncAPVIFState();
vifState3.setMac("24:f5:a2:ef:2e:56");
vifState3.setSsid("ssid-3");
// OpensyncWifiAssociatedClients wifiClient3 = new
// OpensyncWifiAssociatedClients();
// wifiClient3.setMac("C0:9A:D0:76:A9:69");
Uuid uuid3 = Uuid.of(UUID.randomUUID());
vifState3.setAssociatedClients(ImmutableList.of(uuid3));
Status bssidStatus = new Status();
bssidStatus.setStatusDataType(StatusDataType.ACTIVE_BSSIDS);
bssidStatus.setCustomerId(2);
ActiveBSSIDs activeBssidsDetails = new ActiveBSSIDs();
activeBssidsDetails.setActiveBSSIDs(getActiveBssidList());
bssidStatus.setDetails(activeBssidsDetails);
Mockito.when(statusServiceInterface.getOrNull(2, 1L, StatusDataType.ACTIVE_BSSIDS)).thenReturn(bssidStatus);
Mockito.when(statusServiceInterface.update(bssidStatus)).thenReturn(bssidStatus);
Status clientStatus = new Status();
clientStatus.setCustomerId(2);
clientStatus.setEquipmentId(1L);
clientStatus.setStatusDataType(StatusDataType.CLIENT_DETAILS);
ClientConnectionDetails clientConnectionDetails = new ClientConnectionDetails();
Map<RadioType, Integer> clientsPerRadio = new HashMap<>();
clientConnectionDetails.setNumClientsPerRadio(clientsPerRadio);
clientStatus.setDetails(clientConnectionDetails);
Mockito.when(statusServiceInterface.getOrNull(2, 1L, StatusDataType.CLIENT_DETAILS)).thenReturn(clientStatus);
Mockito.when(statusServiceInterface.update(clientStatus)).thenReturn(clientStatus);
OvsdbSession session = Mockito.mock(OvsdbSession.class);
Mockito.when(session.getEquipmentId()).thenReturn(1L);
Mockito.when(session.getCustomerId()).thenReturn(2);
Equipment equipment = new Equipment();
equipment.setCustomerId(1);
equipment.setEquipmentType(EquipmentType.AP);
equipment.setInventoryId(apId);
equipment.setProfileId(1);
equipment.setDetails(ApElementConfiguration.createWithDefaults());
Mockito.when(equipmentServiceInterface.getByInventoryIdOrNull(apId)).thenReturn(equipment);
Mockito.when(equipmentServiceInterface.get(equipment.getId())).thenReturn(equipment);
Mockito.when(equipmentServiceInterface.update(equipment)).thenReturn(equipment);
Profile rfProfile = new Profile();
rfProfile.setName("testRfProfile");
rfProfile.setId(2);
rfProfile.setDetails(RfConfiguration.createWithDefaults());
rfProfile.setProfileType(ProfileType.rf);
Set<Long> childProfileIds = new HashSet<>();
childProfileIds.add(rfProfile.getId());
Profile apProfile = new Profile();
apProfile.setName("testApProfile");
apProfile.setId(1);
apProfile.setProfileType(ProfileType.equipment_ap);
apProfile.setChildProfileIds(childProfileIds);
List<Profile> profileList = new ArrayList<>();
profileList.add(apProfile);
profileList.add(rfProfile);
Mockito.when(profileServiceInterface.getProfileWithChildren(ArgumentMatchers.anyLong())).thenReturn(profileList);
Mockito.when(ovsdbSessionMapInterface.getSession(apId)).thenReturn(session);
opensyncExternalIntegrationCloud.wifiVIFStateDbTableUpdate(ImmutableList.of(vifState1, vifState2, vifState3),
apId);
Mockito.verify(session).getCustomerId();
Mockito.verify(session).getEquipmentId();
Mockito.verify(ovsdbSessionMapInterface).getSession(apId);
Mockito.verify(equipmentServiceInterface).getByInventoryIdOrNull(apId);
Mockito.verify(statusServiceInterface).getOrNull(2, 1L, StatusDataType.CLIENT_DETAILS);
Mockito.verify(statusServiceInterface).getOrNull(2, 1L, StatusDataType.ACTIVE_BSSIDS);
Mockito.verify(statusServiceInterface).update(clientStatus);
}
@Test
public void testWifiRadioStatusDbTableUpdate() {
String apId = "Test_Client_21P10C68818122";
OpensyncAPRadioState radioState1 = new OpensyncAPRadioState();
radioState1.setChannel(6);
radioState1.setVifStates(ImmutableSet.of(new Uuid(UUID.randomUUID())));
radioState1.setFreqBand(RadioType.is5GHzL);
radioState1.setAllowedChannels(ImmutableSet.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11));
radioState1.setTxPower(32);
radioState1.setEnabled(true);
radioState1.setCountry("CA");
OpensyncAPRadioState radioState2 = new OpensyncAPRadioState();
radioState2.setChannel(36);
radioState2.setVifStates(ImmutableSet.of(new Uuid(UUID.randomUUID())));
radioState2.setFreqBand(RadioType.is5GHzL);
radioState2.setAllowedChannels(ImmutableSet.of(36, 40, 44, 48, 52, 56, 60, 64));
radioState2.setTxPower(32);
radioState2.setEnabled(true);
radioState2.setCountry("CA");
OpensyncAPRadioState radioState3 = new OpensyncAPRadioState();
radioState3.setChannel(149);
radioState3.setVifStates(ImmutableSet.of(new Uuid(UUID.randomUUID())));
radioState3.setFreqBand(RadioType.is5GHzL);
radioState3.setAllowedChannels(
ImmutableSet.of(00, 104, 108, 112, 116, 132, 136, 140, 144, 149, 153, 157, 161, 165));
radioState3.setTxPower(32);
radioState3.setEnabled(true);
radioState3.setCountry("CA");
Equipment equipment = new Equipment();
equipment.setCustomerId(1);
equipment.setEquipmentType(EquipmentType.AP);
equipment.setInventoryId(apId);
equipment.setDetails(ApElementConfiguration.createWithDefaults());
Mockito.when(equipmentServiceInterface.getByInventoryIdOrNull(apId)).thenReturn(equipment);
Mockito.when(equipmentServiceInterface.update(equipment)).thenReturn(equipment);
Status protocolStatus = new Status();
protocolStatus.setCustomerId(2);
protocolStatus.setEquipmentId(1L);
EquipmentProtocolStatusData protocolStatusData = new EquipmentProtocolStatusData();
protocolStatusData.setReportedCC(CountryCode.CA);
protocolStatus.setDetails(protocolStatusData);
protocolStatus.setStatusDataType(StatusDataType.PROTOCOL);
Mockito.when(statusServiceInterface.getOrNull(2, 1L, StatusDataType.PROTOCOL)).thenReturn(protocolStatus);
Status bssidStatus = new Status();
bssidStatus.setStatusDataType(StatusDataType.ACTIVE_BSSIDS);
bssidStatus.setCustomerId(2);
ActiveBSSIDs activeBssidsDetails = new ActiveBSSIDs();
activeBssidsDetails.setActiveBSSIDs(getActiveBssidList());
bssidStatus.setDetails(activeBssidsDetails);
Mockito.when(statusServiceInterface.getOrNull(2, 1L, StatusDataType.ACTIVE_BSSIDS)).thenReturn(bssidStatus);
Mockito.when(statusServiceInterface.update(bssidStatus)).thenReturn(bssidStatus);
Status clientStatus = new Status();
clientStatus.setCustomerId(2);
clientStatus.setEquipmentId(1L);
clientStatus.setStatusDataType(StatusDataType.CLIENT_DETAILS);
ClientConnectionDetails clientConnectionDetails = new ClientConnectionDetails();
Map<RadioType, Integer> clientsPerRadio = new HashMap<>();
clientConnectionDetails.setNumClientsPerRadio(clientsPerRadio);
clientStatus.setDetails(clientConnectionDetails);
Mockito.when(statusServiceInterface.getOrNull(2, 1L, StatusDataType.CLIENT_DETAILS)).thenReturn(clientStatus);
Mockito.when(statusServiceInterface.update(clientStatus)).thenReturn(clientStatus);
OvsdbSession session = Mockito.mock(OvsdbSession.class);
Mockito.when(session.getEquipmentId()).thenReturn(1L);
Mockito.when(session.getCustomerId()).thenReturn(2);
Mockito.when(ovsdbSessionMapInterface.getSession(apId)).thenReturn(session);
opensyncExternalIntegrationCloud
.wifiRadioStatusDbTableUpdate(ImmutableList.of(radioState1, radioState2, radioState3), apId);
Mockito.verify(session).getCustomerId();
Mockito.verify(session).getEquipmentId();
Mockito.verify(ovsdbSessionMapInterface).getSession(apId);
Mockito.verify(equipmentServiceInterface, Mockito.times(2)).getByInventoryIdOrNull(apId);
Mockito.verify(statusServiceInterface, Mockito.times(3)).getOrNull(2, 1L, StatusDataType.PROTOCOL);
Mockito.verify(statusServiceInterface, Mockito.never()).update(bssidStatus);
}
@Ignore
public void testWifiInetStateDbTableUpdate() {
// TODO: implement me
}
@Ignore
public void testWifiAssociatedClientsDbTableUpdate() {
// TODO: implement me
}
@Ignore
public void testAwlanNodeDbTableUpdate() {
// TODO: implement me
}
@Test
public void testWifiVIFStateDbTableDelete() {
Status bssidStatus = new Status();
bssidStatus.setStatusDataType(StatusDataType.ACTIVE_BSSIDS);
bssidStatus.setCustomerId(2);
ActiveBSSIDs activeBssidsDetails = new ActiveBSSIDs();
activeBssidsDetails.setActiveBSSIDs(getActiveBssidList());
bssidStatus.setDetails(activeBssidsDetails);
Mockito.when(statusServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
ArgumentMatchers.eq(StatusDataType.ACTIVE_BSSIDS))).thenReturn(bssidStatus);
opensyncExternalIntegrationCloud.wifiVIFStateDbTableDelete(ImmutableList.of(new OpensyncAPVIFState()), "apId");
}
@Test
public void testWifiAssociatedClientsDbTableDelete() {
opensyncExternalIntegrationCloud.wifiAssociatedClientsDbTableDelete("7C:AB:60:E6:EA:4D", "apId");
}
// Helper methods
private List<ActiveBSSID> getActiveBssidList() {
ActiveBSSID activeBssid = new ActiveBSSID();
activeBssid.setBssid("24:f5:a2:ef:2e:54");
activeBssid.setSsid("ssid-1");
activeBssid.setNumDevicesConnected(1);
activeBssid.setRadioType(RadioType.is2dot4GHz);
ActiveBSSID activeBssid2 = new ActiveBSSID();
activeBssid2.setBssid("24:f5:a2:ef:2e:55");
activeBssid2.setSsid("ssid-2");
activeBssid2.setNumDevicesConnected(1);
activeBssid2.setRadioType(RadioType.is5GHzL);
ActiveBSSID activeBssid3 = new ActiveBSSID();
activeBssid3.setBssid("24:f5:a2:ef:2e:56");
activeBssid3.setSsid("ssid-3");
activeBssid3.setNumDevicesConnected(1);
activeBssid3.setRadioType(RadioType.is5GHzU);
List<ActiveBSSID> bssidList = new ArrayList<>();
bssidList.add(activeBssid);
bssidList.add(activeBssid2);
bssidList.add(activeBssid3);
return bssidList;
}
private List<EventReport> getOpensyncStatsEventReportsList() {
List<ClientAssocEvent> clientAssocEventList = new ArrayList<>();
sts.OpensyncStats.EventReport.ClientAssocEvent.Builder clientAssocBuilder = EventReport.ClientAssocEvent
.getDefaultInstance().toBuilder();
clientAssocBuilder.setAssocType(AssocType.ASSOC);
clientAssocBuilder.setBand(RadioBandType.BAND5GU);
clientAssocBuilder.setRssi(-65);
clientAssocBuilder.setStaMac("C0:9A:D0:76:A9:69");
clientAssocBuilder.setStaMacBytes(ByteString.copyFrom("C0:9A:D0:76:A9:69".getBytes()));
clientAssocBuilder.setSessionId(1000L);
clientAssocBuilder.setInternalSc(1);
clientAssocBuilder.setSsid("ssid-3");
clientAssocBuilder.setStatus(1);
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<>();
EventReport.Builder eventReportBuilder = EventReport.getDefaultInstance().toBuilder();
sts.OpensyncStats.EventReport.ClientSession.Builder clientSessionBuilder = sts.OpensyncStats.EventReport.ClientSession.getDefaultInstance().toBuilder();
clientSessionBuilder.setSessionId(1000L);
clientSessionBuilder.addAllClientAssocEvent(clientAssocEventList);
List<sts.OpensyncStats.EventReport.ClientSession> clientSessionList = new ArrayList<>();
clientSessionList.add(clientSessionBuilder.build());
eventReportBuilder.addAllClientSession(clientSessionList);
eventReportList.add(eventReportBuilder.build());
return eventReportList;
}
private List<ClientReport> getOpensyncStatsClientReportsList() {
int rssi = Long.valueOf(4294967239L).intValue();
Client.Stats clientStats = Client.Stats.getDefaultInstance().toBuilder().setRssi(rssi).setRxBytes(225554786)
.setRxRate(24000.0).setTxBytes(1208133026).setTxRate(433300.0).setRssi(758722570).setRxFrames(10000)
.setTxFrames(10000).setTxRate(24000.0).build();
Client client2g = Client.getDefaultInstance().toBuilder().setMacAddress("7C:AB:60:E6:EA:4D").setSsid("ssid-1")
.setConnected(true).setDurationMs(59977).setStats(clientStats).build();
Client client5gu = Client.getDefaultInstance().toBuilder().setMacAddress("C0:9A:D0:76:A9:69").setSsid("ssid-3")
.setConnected(true).setDurationMs(298127).setStats(clientStats).build();
ClientReport clientReport2g = ClientReport.getDefaultInstance().toBuilder().setBand(RadioBandType.BAND2G)
.setChannel(6).addAllClientList(ImmutableList.of(client2g)).build();
ClientReport clientReport5gl = ClientReport.getDefaultInstance().toBuilder().setBand(RadioBandType.BAND5GL)
.setChannel(36).addAllClientList(new ArrayList<Client>()).build();
ClientReport clientReport5gu = ClientReport.getDefaultInstance().toBuilder().setBand(RadioBandType.BAND5GU)
.setChannel(157).addAllClientList(ImmutableList.of(client5gu)).build();
List<ClientReport> clients = new ArrayList<>();
clients.add(clientReport2g);
clients.add(clientReport5gl);
clients.add(clientReport5gu);
return clients;
}
private ConnectNodeInfo createConnectNodeInfo() {
ConnectNodeInfo connectNodeInfo = new ConnectNodeInfo();
connectNodeInfo.macAddress = "24:f5:a2:ef:2e:53";
connectNodeInfo.ifType = "eth";
connectNodeInfo.ifName = "eth1";
connectNodeInfo.ipV4Address = "10.0.0.129";
connectNodeInfo.lanMacAddress = "24:f5:a2:ef:2e:52";
connectNodeInfo.lanIfType = "bridge";
connectNodeInfo.lanIfName = "br-lan";
connectNodeInfo.lanIpV4Address = "192.168.1.1";
connectNodeInfo.managerAddr = "ssl:192.168.1.101:6640";
connectNodeInfo.firmwareVersion = "0.1.0";
connectNodeInfo.model = "EA8300-CA";
connectNodeInfo.revision = "1";
connectNodeInfo.serialNumber = "21P10C68818122";
connectNodeInfo.skuNumber = "connectus.ai_21P10C68818122";
connectNodeInfo.redirectorAddr = "ssl:opensync.zone1.art2wave.com:6643";
connectNodeInfo.platformVersion = "OPENWRT_EA8300";
connectNodeInfo.wifiRadioStates = ImmutableMap.of("2.4G", "home-ap-24", "5GL", "home-ap-l50", "5GU",
"home-ap-u50");
Map<String, String> versionMatrix = new HashMap<>();
versionMatrix.put("DATE", "Thu Jul 16 18:52:06 UTC 2020");
versionMatrix.put("FIRMWARE", "0.1.0-0-notgit-development");
versionMatrix.put("FW_BUILD", "0");
versionMatrix.put("FW_COMMIT", "notgit");
versionMatrix.put("FW_PROFILE", "development");
versionMatrix.put("FW_IMAGE_ACTIVE", "ea8300-2020-07-23-staging-fwupgrade-4da695d");
versionMatrix.put("FW_IMAGE_INACTIVE", "ea8300-2020-07-23-staging-fwupgrade-4da695d");
versionMatrix.put("FW_VERSION", "0.1.0");
versionMatrix.put("HOST", "runner@26793cf70348");
versionMatrix.put("OPENSYNC", "2.0.5.0");
versionMatrix.put("core", "2.0.5.0/0/notgit");
versionMatrix.put("vendor/ipq40xx", "0.1.0/0/notgit");
connectNodeInfo.versionMatrix = versionMatrix;
Map<String, String> mqttSettings = new HashMap<>();
mqttSettings.put("broker", "192.168.1.101");
mqttSettings.put("compress", "zlib");
mqttSettings.put("port", "1883");
mqttSettings.put("qos", "0");
mqttSettings.put("remote_log", "1");
mqttSettings.put("topics", "/ap/Test_Client_21P10C68818122/opensync");
connectNodeInfo.mqttSettings = mqttSettings;
return connectNodeInfo;
}
}

View File

@@ -1,380 +0,0 @@
package com.telecominfraproject.wlan.opensync.external.integration;
import static org.junit.Assert.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.net.InetAddress;
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.Answers;
import org.mockito.ArgumentMatchers;
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.common.collect.ImmutableList;
import com.google.protobuf.ByteString;
import com.telecominfraproject.wlan.alarm.AlarmServiceInterface;
import com.telecominfraproject.wlan.client.ClientServiceInterface;
import com.telecominfraproject.wlan.client.info.models.ClientInfoDetails;
import com.telecominfraproject.wlan.client.session.models.ClientSession;
import com.telecominfraproject.wlan.client.session.models.ClientSessionDetails;
import com.telecominfraproject.wlan.cloudeventdispatcher.CloudEventDispatcherInterface;
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
import com.telecominfraproject.wlan.customer.service.CustomerServiceInterface;
import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface;
import com.telecominfraproject.wlan.firmware.FirmwareServiceInterface;
import com.telecominfraproject.wlan.location.service.LocationServiceInterface;
import com.telecominfraproject.wlan.opensync.external.integration.controller.OpensyncCloudGatewayController;
import com.telecominfraproject.wlan.profile.ProfileServiceInterface;
import com.telecominfraproject.wlan.routing.RoutingServiceInterface;
import com.telecominfraproject.wlan.servicemetric.apnode.models.ApNodeMetrics;
import com.telecominfraproject.wlan.servicemetric.apnode.models.StateUpDownError;
import com.telecominfraproject.wlan.status.StatusServiceInterface;
import com.telecominfraproject.wlan.status.equipment.report.models.ActiveBSSID;
import com.telecominfraproject.wlan.status.equipment.report.models.ActiveBSSIDs;
import com.telecominfraproject.wlan.status.models.Status;
import com.telecominfraproject.wlan.status.models.StatusDataType;
import sts.OpensyncStats.AssocType;
import sts.OpensyncStats.Client;
import sts.OpensyncStats.ClientReport;
import sts.OpensyncStats.DNSProbeMetric;
import sts.OpensyncStats.EventReport;
import sts.OpensyncStats.NetworkProbe;
import sts.OpensyncStats.RADIUSMetrics;
import sts.OpensyncStats.RadioBandType;
import sts.OpensyncStats.Report;
import sts.OpensyncStats.StateUpDown;
import sts.OpensyncStats.VLANMetrics;
import sts.OpensyncStats.EventReport.ClientAssocEvent;
@RunWith(SpringRunner.class)
@ActiveProfiles(profiles = { "integration_test", })
@SpringBootTest(webEnvironment = WebEnvironment.NONE, classes = OpensyncExternalIntegrationMqttMessageProcessorTest.class)
@Import(value = { AlarmServiceInterface.class, OpensyncExternalIntegrationCloud.class,
OpensyncExternalIntegrationMqttMessageProcessorTest.Config.class,
})
public class OpensyncExternalIntegrationMqttMessageProcessorTest {
@MockBean
AlarmServiceInterface alarmServiceInterface;
@MockBean
CustomerServiceInterface customerServiceInterface;
@MockBean
LocationServiceInterface locationServiceInterface;
@MockBean(answer = Answers.RETURNS_MOCKS)
OvsdbSessionMapInterface ovsdbSessionMapInterface;
@MockBean
CloudEventDispatcherInterface equipmentMetricsCollectorInterface;
@MockBean
EquipmentServiceInterface equipmentServiceInterface;
@MockBean
RoutingServiceInterface routingServiceInterface;
@MockBean
ProfileServiceInterface profileServiceInterface;
@MockBean
StatusServiceInterface statusServiceInterface;
@MockBean
ClientServiceInterface clientServiceInterface;
@MockBean
FirmwareServiceInterface firmwareServiceInterface;
@MockBean(answer = Answers.RETURNS_MOCKS)
OpensyncCloudGatewayController gatewayController;
@Autowired
OpensyncExternalIntegrationMqttMessageProcessor opensyncExternalIntegrationMqttProcessor;
MockitoSession mockito;
@Configuration
static class Config {
@Bean
public OpensyncExternalIntegrationMqttMessageProcessor opensyncExternalIntegrationMqttMessageProcessor() {
return new OpensyncExternalIntegrationMqttMessageProcessor();
}
}
@Before
public void setUp() throws Exception {
mockito = Mockito.mockitoSession().initMocks(this).strictness(Strictness.STRICT_STUBS).startMocking();
}
@After
public void tearDown() throws Exception {
mockito.finishMocking();
}
@Test
public void testExtractApIdFromTopic() {
String topic = "/ap/Test_Client_21P10C68818122/opensync";
assertEquals("Test_Client_21P10C68818122",
OpensyncExternalIntegrationMqttMessageProcessor.extractApIdFromTopic(topic));
}
@Test
public void testExtractCustomerIdFromTopic() {
String topic = "/ap/Test_Client_21P10C68818122/opensync";
OvsdbSession session = Mockito.mock(OvsdbSession.class);
Mockito.when(session.getCustomerId()).thenReturn(2);
Mockito.when(ovsdbSessionMapInterface.getSession("Test_Client_21P10C68818122")).thenReturn(session);
assertEquals(2, opensyncExternalIntegrationMqttProcessor.extractCustomerIdFromTopic(topic));
}
@Test
public void testExtractEquipmentIdFromTopic() {
String topic = "/ap/Test_Client_21P10C68818122/opensync";
OvsdbSession session = Mockito.mock(OvsdbSession.class);
Mockito.when(session.getEquipmentId()).thenReturn(1L);
Mockito.when(ovsdbSessionMapInterface.getSession("Test_Client_21P10C68818122")).thenReturn(session);
assertEquals(1L, opensyncExternalIntegrationMqttProcessor.extractEquipmentIdFromTopic(topic));
}
@Test
public void testProcessMqttMessageStringReport() {
Report report = Report.newBuilder().setNodeID("21P10C68818122")
.addAllClients(getOpensyncStatsClientReportsList())
.addAllEventReport(getOpensyncStatsEventReportsList()).build();
String topic = "/ap/Test_Client_21P10C68818122/opensync";
OvsdbSession session = Mockito.mock(OvsdbSession.class);
Mockito.when(session.getEquipmentId()).thenReturn(1L);
Mockito.when(session.getCustomerId()).thenReturn(2);
Mockito.when(ovsdbSessionMapInterface.getSession("Test_Client_21P10C68818122")).thenReturn(session);
Status bssidStatus = new Status();
bssidStatus.setStatusDataType(StatusDataType.ACTIVE_BSSIDS);
bssidStatus.setCustomerId(2);
ActiveBSSIDs activeBssidsDetails = new ActiveBSSIDs();
activeBssidsDetails.setActiveBSSIDs(getActiveBssidList());
bssidStatus.setDetails(activeBssidsDetails);
Mockito.when(statusServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
ArgumentMatchers.eq(StatusDataType.ACTIVE_BSSIDS))).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();
clientInstance.setMacAddress(new MacAddress("7C:AB:60:E6:EA:4D"));
clientInstance.setDetails(new ClientInfoDetails());
com.telecominfraproject.wlan.client.models.Client clientInstance2 = new com.telecominfraproject.wlan.client.models.Client();
clientInstance2.setMacAddress(new MacAddress("C0:9A:D0:76:A9:69"));
clientInstance2.setDetails(new ClientInfoDetails());
Mockito.when(
clientServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.any(MacAddress.class)))
.thenReturn(clientInstance).thenReturn(clientInstance2);
Mockito.when(clientServiceInterface
.update(ArgumentMatchers.any(com.telecominfraproject.wlan.client.models.Client.class)))
.thenReturn(clientInstance).thenReturn(clientInstance2);
ClientSession clientSession = new ClientSession();
clientSession.setMacAddress(new MacAddress("7C:AB:60:E6:EA:4D"));
clientSession.setDetails(new ClientSessionDetails());
ClientSession clientSession2 = new ClientSession();
clientSession2.setMacAddress(new MacAddress("C0:9A:D0:76:A9:69"));
clientSession2.setDetails(new ClientSessionDetails());
Mockito.when(clientServiceInterface.getSessionOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
ArgumentMatchers.any(MacAddress.class))).thenReturn(clientSession).thenReturn(clientSession2);
Mockito.when(clientServiceInterface.updateSession(ArgumentMatchers.any(ClientSession.class)))
.thenReturn(clientSession).thenReturn(clientSession2);
opensyncExternalIntegrationMqttProcessor.processMqttMessage(topic, report);
// Mockito.verify(clientServiceInterface,
// Mockito.times(4)).getOrNull(Mockito.anyInt(),
// Mockito.any(MacAddress.class));
// Mockito.verify(clientServiceInterface,
// Mockito.times(4)).getSessionOrNull(Mockito.anyInt(),
// Mockito.anyLong(),
// Mockito.any(MacAddress.class));
// Mockito.verify(statusServiceInterface,
// Mockito.times(3)).getOrNull(Mockito.anyInt(), Mockito.anyLong(),
// Mockito.eq(StatusDataType.ACTIVE_BSSIDS));
}
@Ignore
public void testProcessMqttMessageStringFlowReport() {
// TODO: implement me when support flow reports
}
@Ignore
public void testProcessMqttMessageStringWCStatsReport() {
// TODO: implement me when wcs stats reports supported
}
@Test
public void testpopulateNetworkProbeMetrics() throws Exception {
InetAddress ip = InetAddress.getLocalHost();
DNSProbeMetric dnsProbeMetric = DNSProbeMetric.getDefaultInstance().toBuilder().setLatency(10)
.setState(StateUpDown.SUD_up).setServerIP(ip.getHostName()).build();
RADIUSMetrics radiusProbeMetric = RADIUSMetrics.getDefaultInstance().toBuilder().setLatency(10)
.setRadiusState(StateUpDown.SUD_up).setServerIP(ip.getHostName()).build();
VLANMetrics vlanMetrics = VLANMetrics.getDefaultInstance().toBuilder().setLatency(10)
.setDhcpState(StateUpDown.SUD_up).setVlanIF("vlan-1").build();
NetworkProbe networkProbe = NetworkProbe.getDefaultInstance().toBuilder().setVlanProbe(vlanMetrics)
.setDnsProbe(dnsProbeMetric).addRadiusProbe(radiusProbeMetric).build();
Report report = Report.getDefaultInstance().toBuilder().setNodeID("21P10C68818122")
.addNetworkProbe(networkProbe).build();
ApNodeMetrics apNodeMetrics = new ApNodeMetrics();
opensyncExternalIntegrationMqttProcessor.populateNetworkProbeMetrics(report, apNodeMetrics);
assertNotNull(apNodeMetrics.getNetworkProbeMetrics());
assert (apNodeMetrics.getNetworkProbeMetrics().get(0).getDnsLatencyMs() == 10);
assert (apNodeMetrics.getNetworkProbeMetrics().get(0).getDhcpLatencyMs() == 10);
assert (apNodeMetrics.getNetworkProbeMetrics().get(0).getRadiusState().equals(StateUpDownError.enabled));
assert (apNodeMetrics.getNetworkProbeMetrics().get(0).getDhcpState().equals(StateUpDownError.enabled));
assert (apNodeMetrics.getNetworkProbeMetrics().get(0).getDnsState().equals(StateUpDownError.enabled));
assert (apNodeMetrics.getNetworkProbeMetrics().get(0).getRadiusLatencyInMs() == 10);
assert (apNodeMetrics.getNetworkProbeMetrics().get(0).getVlanIF().equals("vlan-1"));
}
// Helper methods
private List<ActiveBSSID> getActiveBssidList() {
ActiveBSSID activeBssid = new ActiveBSSID();
activeBssid.setBssid("24:f5:a2:ef:2e:54");
activeBssid.setSsid("ssid-1");
activeBssid.setNumDevicesConnected(1);
activeBssid.setRadioType(RadioType.is2dot4GHz);
ActiveBSSID activeBssid2 = new ActiveBSSID();
activeBssid2.setBssid("24:f5:a2:ef:2e:55");
activeBssid2.setSsid("ssid-2");
activeBssid2.setNumDevicesConnected(1);
activeBssid2.setRadioType(RadioType.is5GHzL);
ActiveBSSID activeBssid3 = new ActiveBSSID();
activeBssid3.setBssid("24:f5:a2:ef:2e:56");
activeBssid3.setSsid("ssid-3");
activeBssid3.setNumDevicesConnected(1);
activeBssid3.setRadioType(RadioType.is5GHzU);
List<ActiveBSSID> bssidList = new ArrayList<>();
bssidList.add(activeBssid);
bssidList.add(activeBssid2);
bssidList.add(activeBssid3);
return bssidList;
}
private List<EventReport> getOpensyncStatsEventReportsList() {
List<ClientAssocEvent> clientAssocEventList = new ArrayList<>();
sts.OpensyncStats.EventReport.ClientAssocEvent.Builder clientAssocBuilder = EventReport.ClientAssocEvent
.getDefaultInstance().toBuilder();
clientAssocBuilder.setAssocType(AssocType.ASSOC);
clientAssocBuilder.setBand(RadioBandType.BAND5GU);
clientAssocBuilder.setRssi(-65);
clientAssocBuilder.setStaMac("C0:9A:D0:76:A9:69");
clientAssocBuilder.setStaMacBytes(ByteString.copyFrom("C0:9A:D0:76:A9:69".getBytes()));
clientAssocBuilder.setSessionId(1000L);
clientAssocBuilder.setInternalSc(1);
clientAssocBuilder.setSsid("ssid-3");
clientAssocBuilder.setStatus(1);
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<>();
EventReport.Builder eventReportBuilder = EventReport.getDefaultInstance().toBuilder();
sts.OpensyncStats.EventReport.ClientSession.Builder clientSessionBuilder = sts.OpensyncStats.EventReport.ClientSession
.getDefaultInstance().toBuilder();
clientSessionBuilder.setSessionId(1000L);
clientSessionBuilder.addAllClientAssocEvent(clientAssocEventList);
List<sts.OpensyncStats.EventReport.ClientSession> clientSessionList = new ArrayList<>();
clientSessionList.add(clientSessionBuilder.build());
eventReportBuilder.addAllClientSession(clientSessionList);
eventReportList.add(eventReportBuilder.build());
return eventReportList;
}
private List<ClientReport> getOpensyncStatsClientReportsList() {
int rssi = Long.valueOf(4294967239L).intValue();
Client.Stats clientStats = Client.Stats.getDefaultInstance().toBuilder().setRssi(rssi).setRxBytes(225554786)
.setRxRate(24000.0).setTxBytes(1208133026).setTxRate(433300.0).setRssi(758722570).setRxFrames(10000)
.setTxFrames(10000).setTxRate(24000.0).build();
Client client2g = Client.getDefaultInstance().toBuilder().setMacAddress("7C:AB:60:E6:EA:4D").setSsid("ssid-1")
.setConnected(true).setDurationMs(59977).setStats(clientStats).build();
Client client5gu = Client.getDefaultInstance().toBuilder().setMacAddress("C0:9A:D0:76:A9:69").setSsid("ssid-3")
.setConnected(true).setDurationMs(298127).setStats(clientStats).build();
ClientReport clientReport2g = ClientReport.getDefaultInstance().toBuilder().setBand(RadioBandType.BAND2G)
.setChannel(6).addAllClientList(ImmutableList.of(client2g)).build();
ClientReport clientReport5gl = ClientReport.getDefaultInstance().toBuilder().setBand(RadioBandType.BAND5GL)
.setChannel(36).addAllClientList(new ArrayList<Client>()).build();
ClientReport clientReport5gu = ClientReport.getDefaultInstance().toBuilder().setBand(RadioBandType.BAND5GU)
.setChannel(157).addAllClientList(ImmutableList.of(client5gu)).build();
List<ClientReport> clients = new ArrayList<>();
clients.add(clientReport2g);
clients.add(clientReport5gl);
clients.add(clientReport5gu);
return clients;
}
}

View File

@@ -1,119 +0,0 @@
package com.telecominfraproject.wlan.opensync.external.integration.controller;
import com.telecominfraproject.wlan.core.client.PingClient;
import com.telecominfraproject.wlan.core.model.service.GatewayType;
import com.telecominfraproject.wlan.datastore.exceptions.DsEntityNotFoundException;
import com.telecominfraproject.wlan.routing.RoutingServiceInterface;
import com.telecominfraproject.wlan.routing.models.EquipmentGatewayRecord;
import com.telecominfraproject.wlan.routing.models.EquipmentRoutingRecord;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import org.springframework.test.util.ReflectionTestUtils;
import java.io.IOException;
import java.util.Arrays;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.atLeast;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.verify;
class OpensyncCloudGatewayControllerTest {
OpensyncCloudGatewayController opensyncCloudGatewayController = new OpensyncCloudGatewayController();
RoutingServiceInterface routingSvc = Mockito.mock(RoutingServiceInterface.class);
PingClient pingClient = Mockito.mock(PingClient.class);
@BeforeEach
void setUp() {
ReflectionTestUtils.setField(opensyncCloudGatewayController, "eqRoutingSvc", routingSvc);
ReflectionTestUtils.setField(opensyncCloudGatewayController, "pingClient", pingClient);
}
@Test
void cleanupStaleGwRecord() throws IOException {
EquipmentGatewayRecord gatewayRecord = readGatewayRecord();
Mockito.when(pingClient.isReachable(anyString(), anyInt())).thenReturn(true);
opensyncCloudGatewayController.cleanupStaleGwRecord();
verify(pingClient, atLeastOnce()).isReachable("1.1.1.1",123);
}
@Test
void cleanupStaleGwRecord_pingFail() throws IOException {
EquipmentGatewayRecord gatewayRecord = readGatewayRecord();
Mockito.when(pingClient.isReachable(anyString(), anyInt())).thenReturn(false);
Mockito.when(routingSvc.deleteGateway(anyLong())).thenReturn(gatewayRecord);
opensyncCloudGatewayController.cleanupStaleGwRecord();
verify(routingSvc, atLeastOnce()).deleteGateway(gatewayRecord.getId());
}
@Test
void cleanupStaleEqptRoutingRecord_NoEntityFound() throws IOException {
EquipmentRoutingRecord routingRecord = readRoutingRecord();
Mockito.when(routingSvc.getGateway(anyLong())).thenThrow(new DsEntityNotFoundException());
Mockito.when(routingSvc.delete(anyLong())).thenReturn(new EquipmentRoutingRecord());
opensyncCloudGatewayController.cleanupStaleEqptRoutingRecord(123L);
verify(routingSvc, atLeastOnce()).delete(routingRecord.getId());
}
@Test
void cleanupStaleEqptRoutingRecord_GenericException() throws IOException {
EquipmentRoutingRecord routingRecord = readRoutingRecord();
Mockito.when(routingSvc.getGateway(anyLong())).thenThrow(new RuntimeException("Throwing exception to test"));
Mockito.when(routingSvc.delete(anyLong())).thenReturn(new EquipmentRoutingRecord());
opensyncCloudGatewayController.cleanupStaleEqptRoutingRecord(123L);
verify(routingSvc, atLeast(0)).delete(routingRecord.getId());
}
@Test
void cleanupStaleEqptRoutingRecord_GatewayResponds() throws IOException {
EquipmentRoutingRecord routingRecord = readRoutingRecord();
EquipmentGatewayRecord gatewayRecord = readGatewayRecord();
Mockito.when(routingSvc.getGateway(anyLong())).thenReturn(gatewayRecord);
Mockito.when(routingSvc.delete(anyLong())).thenReturn(new EquipmentRoutingRecord());
Mockito.when(pingClient.isReachable(anyString(), anyInt())).thenReturn(true);
opensyncCloudGatewayController.cleanupStaleEqptRoutingRecord(123L);
verify(routingSvc, atLeast(0)).delete(routingRecord.getId());
verify(pingClient, atLeastOnce()).isReachable(anyString(), anyInt());
}
@Test
void cleanupStaleEqptRoutingRecord_GatewayFails() throws IOException {
EquipmentRoutingRecord routingRecord = readRoutingRecord();
EquipmentGatewayRecord gatewayRecord = readGatewayRecord();
Mockito.when(routingSvc.getGateway(anyLong())).thenReturn(gatewayRecord);
Mockito.when(routingSvc.delete(anyLong())).thenReturn(new EquipmentRoutingRecord());
Mockito.when(pingClient.isReachable(anyString(), anyInt())).thenReturn(false);
opensyncCloudGatewayController.cleanupStaleEqptRoutingRecord(123L);
verify(routingSvc, atLeastOnce()).delete(routingRecord.getId());
verify(pingClient, atLeastOnce()).isReachable(anyString(), anyInt());
}
private EquipmentGatewayRecord readGatewayRecord() throws IOException {
EquipmentGatewayRecord gatewayRecord = EquipmentGatewayRecord.fromFile(
OpensyncCloudGatewayControllerTest.class.getResource("EquipmentGatewayRecords.json").getFile(),
EquipmentGatewayRecord.class);
Mockito.when(routingSvc.getGateway(GatewayType.CEGW)).thenReturn(Arrays.asList(gatewayRecord));
return gatewayRecord;
}
private EquipmentRoutingRecord readRoutingRecord() throws IOException {
EquipmentRoutingRecord routingRecord = EquipmentRoutingRecord.fromFile(
OpensyncCloudGatewayControllerTest.class.getResource("EquipmentRoutingRecord.json").getFile(),
EquipmentRoutingRecord.class);
Mockito.when(routingSvc.getRegisteredRouteList(anyLong())).thenReturn(Arrays.asList(routingRecord));
return routingRecord;
}
}

View File

@@ -1,9 +0,0 @@
{
"id": "1",
"hostname": "Host-1",
"ipAddr": "1.1.1.1",
"port": 123,
"gatewayType": "CEGW",
"createdTimestamp": 0,
"lastModifiedTimestamp": 0
}

View File

@@ -1,8 +0,0 @@
{
"id": 12,
"equipmentId": 123,
"customerId": 2,
"gatewayId": 110,
"createdTimestamp": 0,
"lastModifiedTimestamp": 0
}

View File

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

View File

@@ -0,0 +1,14 @@
package com.telecominfraproject.wlan.opensync.external.integration;
import java.util.Set;
public interface ConnectusOvsdbClientInterface {
Set<String> getConnectedClientIds();
String changeRedirectorAddress(String apId, String newRedirectorAddress);
void processConfigChanged(String apId);
String closeSession(String apId);
}

View File

@@ -1,7 +1,6 @@
package com.telecominfraproject.wlan.opensync.external.integration;
import java.util.List;
import java.util.Map;
import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo;
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPConfig;
@@ -34,8 +33,6 @@ public interface OpensyncExternalIntegrationInterface {
void wifiInetStateDbTableUpdate(List<OpensyncAPInetState> inetStateTables, String apId);
void wifiInetStateDbTableDelete(List<OpensyncAPInetState> inetStateTables, String apId);
void processMqttMessage(String topic, Report report);
void processMqttMessage(String topic, FlowReport flowReport);
@@ -47,8 +44,4 @@ public interface OpensyncExternalIntegrationInterface {
void wifiAssociatedClientsDbTableDelete(String deletedClientMac, String apId);
void awlanNodeDbTableUpdate(OpensyncAWLANNode opensyncAPState, String apId);
void dhcpLeasedIpDbTableUpdate(List<Map<String,String>> dhcpAttributes, String apId, RowUpdateOperation rowUpdateOperation);
void commandStateDbTableUpdate(List<Map<String,String>> commandStateAttributes, String apId, RowUpdateOperation rowUpdateOperation);
}

View File

@@ -1,37 +0,0 @@
package com.telecominfraproject.wlan.opensync.external.integration;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
public interface OvsdbClientInterface {
Set<String> getConnectedClientIds();
String changeRedirectorHost(String apId, String newRedirectorHost);
String startDebugEngine(String apId, String gatewayHostname, Integer gatewayPort);
String stopDebugEngine(String apId);
void processConfigChanged(String apId);
void processClientBlocklistChange(String apId, List<MacAddress> blockList);
String processFirmwareDownload(String apId, String firmwareUrl, String firmwareVersion, String username,
String validationCode);
String closeSession(String apId);
String processFirmwareFlash(String apId, String firmwareVersion, String username);
String processRebootRequest(String apId, boolean switchBanks);
String processFactoryResetRequest(String apId);
String processNewChannelsRequest(String apId, Map<RadioType,Integer> channelMap);
}

View File

@@ -2,13 +2,9 @@ package com.telecominfraproject.wlan.opensync.external.integration.models;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
public class ConnectNodeInfo implements Cloneable {
public Map<String, String> mqttSettings = new HashMap<>();
public Map<String, String> versionMatrix = new HashMap<>();
public Map<String, String> wifiRadioStates = new HashMap<>();
public class ConnectNodeInfo implements Cloneable{
public Map<String,String> mqttSettings;
public String redirectorAddr;
public String managerAddr;
public String skuNumber;
@@ -19,73 +15,29 @@ public class ConnectNodeInfo implements Cloneable {
public String firmwareVersion;
public String revision;
public String model;
public String ifName;
public String ifType;
public String country;
public String lanIpV4Address;
public String lanIfName;
public String lanIfType;
public String lanMacAddress;
@Override
public ConnectNodeInfo clone() {
try {
ConnectNodeInfo ret = (ConnectNodeInfo) super.clone();
if (this.mqttSettings != null) {
ConnectNodeInfo ret = (ConnectNodeInfo)super.clone();
if (this.mqttSettings!=null) {
ret.mqttSettings = new HashMap<>(this.mqttSettings);
}
if (this.wifiRadioStates != null) {
ret.wifiRadioStates = new HashMap<>(this.wifiRadioStates);
}
if (this.versionMatrix != null) {
ret.versionMatrix = new HashMap<>(this.versionMatrix);
}
return ret;
} catch (CloneNotSupportedException e) {
}catch(CloneNotSupportedException e) {
throw new IllegalStateException("Cannot clone ", e);
}
}
@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
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof ConnectNodeInfo)) {
return false;
}
ConnectNodeInfo other = (ConnectNodeInfo) obj;
return Objects.equals(country, other.country) && Objects.equals(firmwareVersion, other.firmwareVersion)
&& Objects.equals(ifName, other.ifName) && Objects.equals(ifType, other.ifType)
&& Objects.equals(ipV4Address, other.ipV4Address) && Objects.equals(lanIfName, other.lanIfName)
&& Objects.equals(lanIfType, other.lanIfType) && Objects.equals(lanIpV4Address, other.lanIpV4Address)
&& Objects.equals(lanMacAddress, other.lanMacAddress) && Objects.equals(macAddress, other.macAddress)
&& Objects.equals(managerAddr, other.managerAddr) && Objects.equals(model, other.model)
&& Objects.equals(mqttSettings, other.mqttSettings)
&& Objects.equals(platformVersion, other.platformVersion)
&& Objects.equals(redirectorAddr, other.redirectorAddr) && Objects.equals(revision, other.revision)
&& Objects.equals(serialNumber, other.serialNumber) && Objects.equals(skuNumber, other.skuNumber)
&& Objects.equals(versionMatrix, other.versionMatrix)
&& Objects.equals(wifiRadioStates, other.wifiRadioStates);
}
@Override
public String toString() {
return "ConnectNodeInfo [mqttSettings=" + mqttSettings + ", versionMatrix=" + versionMatrix
+ ", wifiRadioStates=" + wifiRadioStates + ", redirectorAddr=" + redirectorAddr + ", managerAddr="
+ managerAddr + ", skuNumber=" + skuNumber + ", serialNumber=" + serialNumber + ", macAddress="
+ macAddress + ", ipV4Address=" + ipV4Address + ", platformVersion=" + platformVersion
+ ", firmwareVersion=" + firmwareVersion + ", revision=" + revision + ", model=" + model + ", ifName="
+ ifName + ", ifType=" + ifType + ", country=" + country + ", lanIpV4Address=" + lanIpV4Address
+ ", lanIfName=" + lanIfName + ", lanIfType=" + lanIfType + ", lanMacAddress=" + lanMacAddress + "]";
return String.format(
"ConnectNodeInfo [mqttSettings=%s, redirectorAddr=%s, managerAddr=%s, skuNumber=%s, serialNumber=%s, "
+ "macAddress=%s, ipV4Address=%s, platformVersion=%s, firmwareVersion=%s, revision=%s, model=%s]",
mqttSettings, redirectorAddr, managerAddr, skuNumber, serialNumber, macAddress, ipV4Address,
platformVersion, firmwareVersion, revision, model);
}
}

View File

@@ -3,12 +3,10 @@ package com.telecominfraproject.wlan.opensync.external.integration.models;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import com.telecominfraproject.wlan.core.model.entity.CountryCode;
import com.telecominfraproject.wlan.core.model.equipment.EquipmentType;
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration;
@@ -26,291 +24,186 @@ import com.telecominfraproject.wlan.routing.models.EquipmentRoutingRecord;
public class OpensyncAPConfig extends BaseJsonModel {
private static final long serialVersionUID = 3917975477206236668L;
private static final long serialVersionUID = 3917975477206236668L;
private Equipment customerEquipment;
private OpensyncAPHotspot20Config hotspotConfig;
private Profile apProfile;
private Profile rfProfile;
private List<Profile> ssidProfile;
private List<Profile> metricsProfile;
private List<Profile> radiusProfiles;
private Location equipmentLocation;
private EquipmentRoutingRecord equipmentRouting;
private EquipmentGatewayRecord equipmentGateway;
private List<Profile> captiveProfiles;
private List<Profile> bonjourGatewayProfiles;
private List<MacAddress> blockedClients;
private Equipment customerEquipment;
private Profile apProfile;
private List<Profile> ssidProfile;
private List<Profile> radiusProfiles;
private Location equipmentLocation;
private EquipmentRoutingRecord equipmentRouting;
private EquipmentGatewayRecord equipmentGateway;
// Handle Legacy Config Support
public void setRadioConfig(OpensyncAPRadioConfig radioConfig) {
// Handle Legacy Config Support
public void setRadioConfig(OpensyncAPRadioConfig radioConfig) {
if (customerEquipment == null) {
customerEquipment = new Equipment();
customerEquipment.setId(0);
customerEquipment.setEquipmentType(EquipmentType.AP);
customerEquipment.setDetails(ApElementConfiguration.createWithDefaults());
ApElementConfiguration apConfig = (ApElementConfiguration) customerEquipment.getDetails();
apConfig.getRadioMap().get(RadioType.is2dot4GHz).setChannelNumber(radioConfig.getRadioChannel24G());
apConfig.getRadioMap().get(RadioType.is5GHzL).setChannelNumber(radioConfig.getRadioChannel5LG());
apConfig.getRadioMap().get(RadioType.is5GHzU).setChannelNumber(radioConfig.getRadioChannel5HG());
customerEquipment.setDetails(apConfig);
}
if (customerEquipment == null) {
customerEquipment = new Equipment();
customerEquipment.setId(0);
customerEquipment.setEquipmentType(EquipmentType.AP);
customerEquipment.setDetails(ApElementConfiguration.createWithDefaults());
ApElementConfiguration apConfig = (ApElementConfiguration) customerEquipment.getDetails();
apConfig.getRadioMap().get(RadioType.is2dot4GHz).setChannelNumber(radioConfig.getRadioChannel24G());
apConfig.getRadioMap().get(RadioType.is5GHzL).setChannelNumber(radioConfig.getRadioChannel5LG());
apConfig.getRadioMap().get(RadioType.is5GHzU).setChannelNumber(radioConfig.getRadioChannel5HG());
customerEquipment.setDetails(apConfig);
}
if (equipmentLocation == null) {
equipmentLocation = new Location();
equipmentLocation.setId(1);
equipmentLocation.setDetails(LocationDetails.createWithDefaults());
((LocationDetails) equipmentLocation.getDetails())
.setCountryCode(CountryCode.getByName(radioConfig.getCountry().toLowerCase()));
customerEquipment.setLocationId(equipmentLocation.getId());
}
if (equipmentLocation == null) {
equipmentLocation = new Location();
equipmentLocation.setId(1);
equipmentLocation.setDetails(LocationDetails.createWithDefaults());
((LocationDetails) equipmentLocation.getDetails())
.setCountryCode(CountryCode.getByName(radioConfig.getCountry().toLowerCase()));
customerEquipment.setLocationId(equipmentLocation.getId());
}
}
}
// Handle Legacy Config Support
public void setSsidConfigs(List<OpensyncAPSsidConfig> ssidConfigs) {
// Handle Legacy Config Support
public void setSsidConfigs(List<OpensyncAPSsidConfig> ssidConfigs) {
if (apProfile == null) {
apProfile = new Profile();
apProfile.setName("GeneratedApProfile");
apProfile.setId(2);
apProfile.setDetails(ApNetworkConfiguration.createWithDefaults());
}
if (apProfile == null) {
apProfile = new Profile();
apProfile.setName("GeneratedApProfile");
apProfile.setId(2);
apProfile.setDetails(ApNetworkConfiguration.createWithDefaults());
}
long ssidProfileId = 3;
for (OpensyncAPSsidConfig ssidConfig : ssidConfigs) {
long ssidProfileId = 3;
for (OpensyncAPSsidConfig ssidConfig : ssidConfigs) {
Profile profile = new Profile();
profile.setProfileType(ProfileType.ssid);
profile.setName(ssidConfig.getSsid());
SsidConfiguration cfg = SsidConfiguration.createWithDefaults();
Set<RadioType> appliedRadios = new HashSet<RadioType>();
appliedRadios.add(ssidConfig.getRadioType());
cfg.setAppliedRadios(appliedRadios);
cfg.setSsid(ssidConfig.getSsid());
if (ssidConfig.getEncryption().equals("WPA-PSK") && ssidConfig.getMode().equals("1"))
cfg.setSecureMode(SecureMode.wpaPSK);
else
cfg.setSecureMode(SecureMode.wpa2PSK);
cfg.setBroadcastSsid(ssidConfig.isBroadcast() ? StateSetting.enabled : StateSetting.disabled);
Profile profile = new Profile();
profile.setProfileType(ProfileType.ssid);
profile.setName(ssidConfig.getSsid());
SsidConfiguration cfg = SsidConfiguration.createWithDefaults();
Set<RadioType> appliedRadios = new HashSet<RadioType>();
appliedRadios.add(ssidConfig.getRadioType());
cfg.setAppliedRadios(appliedRadios);
cfg.setSsid(ssidConfig.getSsid());
if (ssidConfig.getEncryption().equals("WPA-PSK") && ssidConfig.getMode().equals("1"))
cfg.setSecureMode(SecureMode.wpaPSK);
else
cfg.setSecureMode(SecureMode.wpa2PSK);
cfg.setBroadcastSsid(ssidConfig.isBroadcast() ? StateSetting.enabled : StateSetting.disabled);
profile.setDetails(cfg);
profile.setId(ssidProfileId);
if (this.ssidProfile == null)
this.ssidProfile = new ArrayList<Profile>();
this.ssidProfile.add(profile);
apProfile.getChildProfileIds().add(ssidProfileId);
ssidProfileId++;
profile.setDetails(cfg);
profile.setId(ssidProfileId);
if (this.ssidProfile == null)
this.ssidProfile = new ArrayList<Profile>();
this.ssidProfile.add(profile);
apProfile.getChildProfileIds().add(ssidProfileId);
ssidProfileId++;
}
}
if (customerEquipment != null) {
customerEquipment.setProfileId(apProfile.getId());
}
if (customerEquipment != null) {
customerEquipment.setProfileId(apProfile.getId());
}
}
}
public EquipmentGatewayRecord getEquipmentGateway() {
return equipmentGateway;
}
public EquipmentGatewayRecord getEquipmentGateway() {
return equipmentGateway;
}
public void setEquipmentGateway(EquipmentGatewayRecord equipmentGateway) {
this.equipmentGateway = equipmentGateway;
}
public void setEquipmentGateway(EquipmentGatewayRecord equipmentGateway) {
this.equipmentGateway = equipmentGateway;
}
public EquipmentRoutingRecord getEquipmentRouting() {
return equipmentRouting;
}
public EquipmentRoutingRecord getEquipmentRouting() {
return equipmentRouting;
}
public void setEquipmentRouting(EquipmentRoutingRecord equipmentRouting) {
this.equipmentRouting = equipmentRouting;
}
public void setEquipmentRouting(EquipmentRoutingRecord equipmentRouting) {
this.equipmentRouting = equipmentRouting;
}
public Equipment getCustomerEquipment() {
return customerEquipment;
}
public Equipment getCustomerEquipment() {
return customerEquipment;
}
public void setCustomerEquipment(Equipment customerEquipment) {
this.customerEquipment = customerEquipment;
}
public void setCustomerEquipment(Equipment customerEquipment) {
this.customerEquipment = customerEquipment;
}
public OpensyncAPHotspot20Config getHotspotConfig() {
return hotspotConfig;
}
public Profile getApProfile() {
return apProfile;
}
public void setHotspotConfig(OpensyncAPHotspot20Config hotspotConfig) {
this.hotspotConfig = hotspotConfig;
}
public void setApProfile(Profile apProfile) {
this.apProfile = apProfile;
}
public Profile getApProfile() {
return apProfile;
}
public List<Profile> getSsidProfile() {
return ssidProfile;
}
public void setApProfile(Profile apProfile) {
this.apProfile = apProfile;
}
public void setSsidProfile(List<Profile> ssidProfile) {
this.ssidProfile = ssidProfile;
}
public Profile getRfProfile() {
return rfProfile;
}
public Location getEquipmentLocation() {
return equipmentLocation;
}
public void setRfProfile(Profile rfProfile) {
this.rfProfile = rfProfile;
}
public void setEquipmentLocation(Location equipmentLocation) {
this.equipmentLocation = equipmentLocation;
}
public List<Profile> getSsidProfile() {
return ssidProfile;
}
public String getCountryCode() {
return Location.getCountryCode(this.equipmentLocation).toString();
}
public void setSsidProfile(List<Profile> ssidProfile) {
this.ssidProfile = ssidProfile;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
public List<Profile> getBonjourGatewayProfiles() {
return bonjourGatewayProfiles;
}
@Override
public OpensyncAPConfig clone() {
OpensyncAPConfig ret = (OpensyncAPConfig) super.clone();
public void setBonjourGatewayProfiles(List<Profile> bonjourGatewayProfiles) {
this.bonjourGatewayProfiles = bonjourGatewayProfiles;
}
if (customerEquipment != null)
ret.customerEquipment = customerEquipment.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 (apProfile != null)
ret.apProfile = apProfile.clone();
if (equipmentRouting != null)
ret.equipmentRouting = equipmentRouting.clone();
if (equipmentGateway != null)
ret.equipmentGateway = equipmentGateway.clone();
public Location getEquipmentLocation() {
return equipmentLocation;
}
return ret;
}
public void setEquipmentLocation(Location equipmentLocation) {
this.equipmentLocation = equipmentLocation;
}
@Override
public String toString() {
StringBuffer sb = new StringBuffer();
sb.append(customerEquipment.toString());
sb.append(apProfile.toString());
for (Profile ssid : ssidProfile) {
sb.append(ssid.toString());
}
sb.append(equipmentLocation.toString());
public String getCountryCode() {
return Location.getCountryCode(this.equipmentLocation).toString();
}
return sb.toString();
public static long getSerialversionuid() {
return serialVersionUID;
}
}
@Override
public OpensyncAPConfig clone() {
OpensyncAPConfig ret = (OpensyncAPConfig) super.clone();
public List<Profile> getRadiusProfiles() {
return radiusProfiles;
}
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;
}
@Override
public int hashCode() {
return Objects.hash(apProfile, blockedClients, bonjourGatewayProfiles, captiveProfiles, customerEquipment,
equipmentGateway, equipmentLocation, equipmentRouting, hotspotConfig, metricsProfile,
radiusProfiles, rfProfile, ssidProfile);
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof OpensyncAPConfig)) {
return false;
}
OpensyncAPConfig other = (OpensyncAPConfig) obj;
return Objects.equals(apProfile, other.apProfile) && Objects.equals(blockedClients, other.blockedClients)
&& Objects.equals(bonjourGatewayProfiles, other.bonjourGatewayProfiles)
&& Objects.equals(captiveProfiles, other.captiveProfiles)
&& Objects.equals(customerEquipment, other.customerEquipment)
&& Objects.equals(equipmentGateway, other.equipmentGateway)
&& Objects.equals(equipmentLocation, other.equipmentLocation)
&& Objects.equals(equipmentRouting, other.equipmentRouting)
&& Objects.equals(hotspotConfig, other.hotspotConfig)
&& Objects.equals(metricsProfile, other.metricsProfile)
&& Objects.equals(radiusProfiles, other.radiusProfiles) && Objects.equals(rfProfile, other.rfProfile)
&& Objects.equals(ssidProfile, other.ssidProfile);
}
public void setRadiusProfiles(List<Profile> radiusProfiles) {
this.radiusProfiles = radiusProfiles;
}
}

View File

@@ -1,100 +0,0 @@
package com.telecominfraproject.wlan.opensync.external.integration.models;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
import com.telecominfraproject.wlan.profile.models.Profile;
public class OpensyncAPHotspot20Config extends BaseJsonModel {
private static final long serialVersionUID = -8495473152523219578L;
public static long getSerialversionuid() {
return serialVersionUID;
}
private Set<Profile> hotspot20ProfileSet;
private Set<Profile> hotspot20OperatorSet;
private Set<Profile> hotspot20VenueSet;
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
public OpensyncAPHotspot20Config clone() {
OpensyncAPHotspot20Config ret = (OpensyncAPHotspot20Config) super.clone();
if (hotspot20OperatorSet != null) {
ret.hotspot20OperatorSet = new HashSet<Profile>(hotspot20OperatorSet);
}
if (hotspot20ProfileSet != null) {
ret.hotspot20ProfileSet = new HashSet<Profile>(hotspot20ProfileSet);
}
if (hotspot20VenueSet != null) {
ret.hotspot20VenueSet = new HashSet<Profile>(hotspot20VenueSet);
}
if (hotspot20ProviderSet != null) {
ret.hotspot20ProviderSet = new HashSet<Profile>(hotspot20ProviderSet);
}
return ret;
}
@Override
public int hashCode() {
return Objects.hash(hotspot20OperatorSet, hotspot20ProfileSet, hotspot20ProviderSet, hotspot20VenueSet);
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof OpensyncAPHotspot20Config)) {
return false;
}
OpensyncAPHotspot20Config other = (OpensyncAPHotspot20Config) obj;
return Objects.equals(hotspot20OperatorSet, other.hotspot20OperatorSet)
&& Objects.equals(hotspot20ProfileSet, other.hotspot20ProfileSet)
&& Objects.equals(hotspot20ProviderSet, other.hotspot20ProviderSet)
&& Objects.equals(hotspot20VenueSet, other.hotspot20VenueSet);
}
}

View File

@@ -1,17 +1,18 @@
package com.telecominfraproject.wlan.opensync.external.integration.models;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
public class OpensyncAPInetState extends BaseJsonModel {
public class OpensyncAPInetState extends BaseJsonModel {
private static final long serialVersionUID = 1707053648715030173L;
public String ifName;
public Map<String, String> dhcpd;
public String dhcpd;
public String unpnpMode;
public String ifType;
public String softwdsMacAddr;
@@ -36,423 +37,167 @@ public class OpensyncAPInetState extends BaseJsonModel {
public String inetConfig;
public Uuid _uuid;
public Uuid version;
public String greLocalInetAddr;
public String greRemoteMacAddr;
public OpensyncAPInetState() {
super();
dns = new HashMap<>();
dhcpc = new HashMap<>();
}
public String getIfName() {
return ifName;
}
public void setIfName(String ifName) {
this.ifName = ifName;
}
public Map<String, String> getDhcpd() {
public String getDhcpd() {
return dhcpd;
}
public void setDhcpd(Map<String, String> 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 void setGreLocalInetAddr(String greLocalInetAddr) {
this.greLocalInetAddr = greLocalInetAddr;
}
public String getGreLocalInetAddr() {
return greLocalInetAddr;
}
public void setGreRemoteMacAddr(String greRemoteMacAddr) {
this.greRemoteMacAddr = greRemoteMacAddr;
}
public String getGreRemoteMacAddr(){
return this.greRemoteMacAddr;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((_uuid == null) ? 0 : _uuid.hashCode());
result = prime * result + ((broadcast == null) ? 0 : broadcast.hashCode());
result = prime * result + ((dhcpc == null) ? 0 : dhcpc.hashCode());
result = prime * result + ((dhcpd == null) ? 0 : dhcpd.hashCode());
result = prime * result + ((dns == null) ? 0 : dns.hashCode());
result = prime * result + (enabled ? 1231 : 1237);
result = prime * result + ((gateway == null) ? 0 : gateway.hashCode());
result = prime * result + ((greIfName == null) ? 0 : greIfName.hashCode());
result = prime * result + ((greLocalInetAddr == null) ? 0 : greLocalInetAddr.hashCode());
result = prime * result + ((greRemoteInetAddr == null) ? 0 : greRemoteInetAddr.hashCode());
result = prime * result + ((hwAddr == null) ? 0 : hwAddr.hashCode());
result = prime * result + ((ifName == null) ? 0 : ifName.hashCode());
result = prime * result + ((ifType == null) ? 0 : ifType.hashCode());
result = prime * result + ((ifUuid == null) ? 0 : ifUuid.hashCode());
result = prime * result + ((inetAddr == null) ? 0 : inetAddr.hashCode());
result = prime * result + ((inetConfig == null) ? 0 : inetConfig.hashCode());
result = prime * result + ((ipAssignScheme == null) ? 0 : ipAssignScheme.hashCode());
result = prime * result + mtw;
result = prime * result + (nat ? 1231 : 1237);
result = prime * result + ((netmask == null) ? 0 : netmask.hashCode());
result = prime * result + (network ? 1231 : 1237);
result = prime * result + ((parentIfName == null) ? 0 : parentIfName.hashCode());
result = prime * result + ((greRemoteMacAddr == null) ? 0 : greRemoteMacAddr.hashCode());
result = prime * result + ((softwdsMacAddr == null) ? 0 : softwdsMacAddr.hashCode());
result = prime * result + (sofwdsWrap ? 1231 : 1237);
result = prime * result + ((unpnpMode == null) ? 0 : unpnpMode.hashCode());
result = prime * result + ((version == null) ? 0 : version.hashCode());
result = prime * result + vlanId;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
OpensyncAPInetState other = (OpensyncAPInetState) obj;
if (_uuid == null) {
if (other._uuid != null)
return false;
} else if (!_uuid.equals(other._uuid))
return false;
if (broadcast == null) {
if (other.broadcast != null)
return false;
} else if (!broadcast.equals(other.broadcast))
return false;
if (dhcpc == null) {
if (other.dhcpc != null)
return false;
} else if (!dhcpc.equals(other.dhcpc))
return false;
if (dhcpd == null) {
if (other.dhcpd != null)
return false;
} else if (!dhcpd.equals(other.dhcpd))
return false;
if (dns == null) {
if (other.dns != null)
return false;
} else if (!dns.equals(other.dns))
return false;
if (enabled != other.enabled)
return false;
if (gateway == null) {
if (other.gateway != null)
return false;
} else if (!gateway.equals(other.gateway))
return false;
if (greIfName == null) {
if (other.greIfName != null)
return false;
} else if (!greIfName.equals(other.greIfName))
return false;
if (greLocalInetAddr == null) {
if (other.greLocalInetAddr != null)
return false;
} else if (!greLocalInetAddr.equals(other.greLocalInetAddr))
return false;
if (greRemoteInetAddr == null) {
if (other.greRemoteInetAddr != null)
return false;
} else if (!greRemoteInetAddr.equals(other.greRemoteInetAddr))
return false;
if (hwAddr == null) {
if (other.hwAddr != null)
return false;
} else if (!hwAddr.equals(other.hwAddr))
return false;
if (ifName == null) {
if (other.ifName != null)
return false;
} else if (!ifName.equals(other.ifName))
return false;
if (ifType == null) {
if (other.ifType != null)
return false;
} else if (!ifType.equals(other.ifType))
return false;
if (ifUuid == null) {
if (other.ifUuid != null)
return false;
} else if (!ifUuid.equals(other.ifUuid))
return false;
if (inetAddr == null) {
if (other.inetAddr != null)
return false;
} else if (!inetAddr.equals(other.inetAddr))
return false;
if (inetConfig == null) {
if (other.inetConfig != null)
return false;
} else if (!inetConfig.equals(other.inetConfig))
return false;
if (ipAssignScheme == null) {
if (other.ipAssignScheme != null)
return false;
} else if (!ipAssignScheme.equals(other.ipAssignScheme))
return false;
if (mtw != other.mtw)
return false;
if (nat != other.nat)
return false;
if (netmask == null) {
if (other.netmask != null)
return false;
} else if (!netmask.equals(other.netmask))
return false;
if (network != other.network)
return false;
if (parentIfName == null) {
if (other.parentIfName != null)
return false;
} else if (!parentIfName.equals(other.parentIfName))
return false;
if (greRemoteMacAddr == null) {
if (other.greRemoteMacAddr != null)
return false;
} else if (!greRemoteMacAddr.equals(other.greRemoteMacAddr))
return false;
if (softwdsMacAddr == null) {
if (other.softwdsMacAddr != null)
return false;
} else if (!softwdsMacAddr.equals(other.softwdsMacAddr))
return false;
if (sofwdsWrap != other.sofwdsWrap)
return false;
if (unpnpMode == null) {
if (other.unpnpMode != null)
return false;
} else if (!unpnpMode.equals(other.unpnpMode))
return false;
if (version == null) {
if (other.version != null)
return false;
} else if (!version.equals(other.version))
return false;
if (vlanId != other.vlanId)
return false;
return true;
}
@Override
public String toString() {
return "OpensyncAPInetState [ifName=" + ifName + ", dhcpd=" + dhcpd + ", unpnpMode=" + unpnpMode + ", ifType="
+ ifType + ", softwdsMacAddr=" + softwdsMacAddr + ", enabled=" + enabled + ", sofwdsWrap=" + sofwdsWrap
+ ", vlanId=" + vlanId + ", netmask=" + netmask + ", nat=" + nat + ", greRemoteInetAddr="
+ greRemoteInetAddr + ", ifUuid=" + ifUuid + ", inetAddr=" + inetAddr + ", hwAddr=" + hwAddr + ", mtw="
+ mtw + ", network=" + network + ", dns=" + dns + ", parentIfName=" + parentIfName + ", greIfName="
+ greIfName + ", broadcast=" + broadcast + ", dhcpc=" + dhcpc + ", gateway=" + gateway
+ ", ipAssignScheme=" + ipAssignScheme + ", inetConfig=" + inetConfig + ", _uuid=" + _uuid
+ ", version=" + version + ", greLocalInetAddr=" + greLocalInetAddr + ", greRemoteMacAddr="
+ greRemoteMacAddr + "]";
}
}

View File

@@ -3,10 +3,6 @@
*/
package com.telecominfraproject.wlan.opensync.external.integration.models;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -48,17 +44,6 @@ public class OpensyncAPRadioState extends BaseJsonModel {
public Map<String, String> hwParams;
public RadioType freqBand;
public int thermalIntegration;
public Set<Uuid> vifStates;
public OpensyncAPRadioState() {
super();
allowedChannels = new HashSet<>();
hwConfig = new HashMap<>();
channels = new HashMap<>();
hwParams = new HashMap<>();
vifStates = new HashSet<>();
}
public String channelMode;
public Uuid _uuid;
public Uuid version;
@@ -103,14 +88,6 @@ public class OpensyncAPRadioState extends BaseJsonModel {
this.mac = mac;
}
public Set<Uuid> getVifStates() {
return vifStates;
}
public void setVifStates(Set<Uuid> vifStates) {
this.vifStates = vifStates;
}
public int getBcnInt() {
return bcnInt;
}

View File

@@ -1,10 +1,8 @@
package com.telecominfraproject.wlan.opensync.external.integration.models;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
@@ -24,8 +22,7 @@ public class OpensyncAPVIFState extends BaseJsonModel {
public String ssid;
public Map<String, String> security;
public String macList;
public List<Uuid> associatedClients;
public Set<Uuid> associatedClients;
public boolean enabled;
public int vlanId;
public int btm;
@@ -46,13 +43,6 @@ public class OpensyncAPVIFState extends BaseJsonModel {
return ifName;
}
public OpensyncAPVIFState() {
super();
security = new HashMap<>();
associatedClients = new ArrayList<>();
}
public void setIfName(String ifName) {
this.ifName = ifName;
}
@@ -137,11 +127,11 @@ public class OpensyncAPVIFState extends BaseJsonModel {
this.macList = macList;
}
public List<Uuid> getAssociatedClients() {
public Set<Uuid> getAssociatedClients() {
return associatedClients;
}
public void setAssociatedClients(List<Uuid> list) {
public void setAssociatedClients(Set<Uuid> list) {
this.associatedClients = list;
}
@@ -268,4 +258,5 @@ public class OpensyncAPVIFState extends BaseJsonModel {
public void setVersion(Uuid version) {
this.version = version;
}
}

View File

@@ -3,8 +3,8 @@
*/
package com.telecominfraproject.wlan.opensync.external.integration.models;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
@@ -43,15 +43,6 @@ public class OpensyncAWLANNode extends BaseJsonModel {
public Uuid _uuid;
public Uuid version;
public OpensyncAWLANNode() {
super();
mqttSettings = new HashMap<>();
versionMatrix = new HashMap<>();
ledConfig = new HashMap<>();
mqttHeaders = new HashMap<>();
mqttTopics = new HashMap<>();
}
public Map<Object, Object> getMqttSettings() {
return mqttSettings;
}

View File

@@ -3,8 +3,8 @@
*/
package com.telecominfraproject.wlan.opensync.external.integration.models;
import java.util.HashSet;
import java.util.Set;
import java.util.UUID;
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
@@ -27,11 +27,6 @@ public class OpensyncWifiAssociatedClients extends BaseJsonModel {
public Uuid _uuid;
public Uuid version;
public OpensyncWifiAssociatedClients() {
super();
capabilities = new HashSet<>();
}
public String getKeyId() {
return keyId;
}

View File

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

View File

@@ -1,10 +1,7 @@
package com.telecominfraproject.wlan.opensync.external.integration;
import java.io.File;
import java.io.IOException;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
@@ -18,7 +15,6 @@ import com.telecominfraproject.wlan.equipment.models.Equipment;
import com.telecominfraproject.wlan.location.models.Location;
import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo;
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPConfig;
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPHotspot20Config;
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPInetState;
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPRadioState;
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPVIFState;
@@ -33,246 +29,139 @@ import wc.stats.IpDnsTelemetry.WCStatsReport;
@Component
public class OpensyncExternalIntegrationSimple implements OpensyncExternalIntegrationInterface {
private static final Logger LOG = LoggerFactory.getLogger(OpensyncExternalIntegrationSimple.class);
private static final Logger LOG = LoggerFactory.getLogger(OpensyncExternalIntegrationSimple.class);
@Value("${tip.wlan.ovsdb.customerEquipmentFileName:/app/config/EquipmentExample.json}")
private String customerEquipmentFileName;
@Value("${connectus.ovsdb.customerEquipmentFileName:/app/config/EquipmentExample.json}")
private String customerEquipmentFileName;
@Value("${tip.wlan.ovsdb.apProfileFileName:/app/config/ProfileAPExample.json}")
private String apProfileFileName;
@Value("${connectus.ovsdb.apProfileFileName:/app/config/ProfileAPExample.json}")
private String apProfileFileName;
@Value("${tip.wlan.ovsdb.rfProfileFileName:/app/config/ProfileRf.json}")
private String rfProfileFileName;
@Value("${connectus.ovsdb.ssidProfileFileName:/app/config/ProfileSsid.json}")
private String ssidProfileFileName;
@Value("${tip.wlan.ovsdb.ssidProfileFileName:/app/config/ProfileSsid.json}")
private String ssidProfileFileName;
@Value("${connectus.ovsdb.radiusProfileFileName:/app/config/ProfileRadius.json}")
private String radiusProfileFileName;
@Value("${tip.wlan.ovsdb.metricsProfileFileName:/app/config/ProfileMetrics.json}")
private String metricsProfileFileName;
@Value("${connectus.ovsdb.locationFileName:/app/config/LocationBuildingExample.json}")
private String locationFileName;
@Value("${tip.wlan.ovsdb.venueProfileFileName:/app/config/ProfileVenue.json}")
private String venueProfileFileName;
private String serialNumber = "";
@Value("${tip.wlan.ovsdb.operatorProfileFileName:/app/config/ProfileOperator.json}")
private String operatorProfileFileName;
@PostConstruct
private void postCreate() {
LOG.info("Using Static integration");
}
@Value("${tip.wlan.ovsdb.hotspot20ProfileFileName:/app/config/ProfileHotspot20.json}")
private String hotspot20ProfileFileName;
public void apConnected(String apId, ConnectNodeInfo connectNodeInfo) {
serialNumber = connectNodeInfo.serialNumber;
LOG.info("AP {} got connected to the gateway", apId);
LOG.info("ConnectNodeInfo {}", connectNodeInfo);
@Value("${tip.wlan.ovsdb.idProviderProfileFileName:/app/config/ProfileIdProvider.json}")
private String idProviderProfileFileName;
}
@Value("${tip.wlan.ovsdb.radiusProfileFileName:/app/config/ProfileRadius.json}")
private String radiusProfileFileName;
public void apDisconnected(String apId) {
LOG.info("AP {} got disconnected from the gateway", apId);
}
@Value("${tip.wlan.ovsdb.captiveProfileFileName:/app/config/ProfileCaptive.json}")
private String captiveProfileFileName;
public OpensyncAPConfig getApConfig(String apId) {
LOG.info("Retrieving config for AP {}", apId);
OpensyncAPConfig ret = null;
@Value("${tip.wlan.ovsdb.bonjourProfileFileName:/app/config/ProfileBonjour.json}")
private String bonjourProfileFileName;
try {
@Value("${tip.wlan.ovsdb.locationFileName:/app/config/LocationBuildingExample.json}")
private String locationFileName;
Equipment equipment = Equipment.fromFile(customerEquipmentFileName, Equipment.class);
equipment.setInventoryId(apId);
equipment.setName(apId);
private String serialNumber = "";
equipment.setSerial(serialNumber);
@PostConstruct
private void postCreate() {
LOG.info("Using Static integration");
}
com.telecominfraproject.wlan.profile.models.Profile apProfile = com.telecominfraproject.wlan.profile.models.Profile
.fromFile(apProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
public void apConnected(String apId, ConnectNodeInfo connectNodeInfo) {
serialNumber = connectNodeInfo.serialNumber;
LOG.info("AP {} got connected to the gateway", apId);
LOG.info("ConnectNodeInfo {}", connectNodeInfo);
List<com.telecominfraproject.wlan.profile.models.Profile> ssidProfiles = com.telecominfraproject.wlan.profile.models.Profile
.listFromFile(ssidProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
}
ssidProfiles.stream().forEach(p -> apProfile.getChildProfileIds().add(p.getId()));
public void apDisconnected(String apId) {
LOG.info("AP {} got disconnected from the gateway", apId);
}
List<com.telecominfraproject.wlan.profile.models.Profile> radiusProfiles = com.telecominfraproject.wlan.profile.models.Profile
.listFromFile(radiusProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
public OpensyncAPConfig getApConfig(String apId) {
LOG.info("Retrieving config for AP {}", apId);
OpensyncAPConfig ret = null;
equipment.setProfileId(apProfile.getId());
try {
Location location = Location.fromFile(locationFileName, Location.class);
Equipment equipment = Equipment.fromFile(customerEquipmentFileName, Equipment.class);
equipment.setInventoryId(apId);
equipment.setName(apId);
equipment.setSerial(serialNumber);
equipment.setLocationId(location.getId());
com.telecominfraproject.wlan.profile.models.Profile apProfile = com.telecominfraproject.wlan.profile.models.Profile
.fromFile(apProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
ret = new OpensyncAPConfig();
ret.setCustomerEquipment(equipment);
ret.setApProfile(apProfile);
ret.setSsidProfile(ssidProfiles);
ret.setRadiusProfiles(radiusProfiles);
ret.setEquipmentLocation(location);
com.telecominfraproject.wlan.profile.models.Profile rfProfile = com.telecominfraproject.wlan.profile.models.Profile
.fromFile(rfProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
} catch (IOException e) {
LOG.error("Cannot read config file", e);
}
apProfile.getChildProfileIds().add(rfProfile.getId());
LOG.debug("Config content : {}", ret);
List<com.telecominfraproject.wlan.profile.models.Profile> ssidProfiles = com.telecominfraproject.wlan.profile.models.Profile
.listFromFile(ssidProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
return ret;
}
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);
public void processMqttMessage(String topic, Report report) {
LOG.info("Received PlumeStatsReport on topic {} for ap {}\n{}", topic, report.getNodeID(), report);
}
public void processMqttMessage(String topic, FlowReport flowReport) {
LOG.info("Received flowReport on topic {} for ap {}", topic, flowReport.getObservationPoint().getNodeId());
}
ssidProfiles.stream().forEach(p -> apProfile.getChildProfileIds().add(p.getId()));
public void processMqttMessage(String topic, WCStatsReport wcStatsReport) {
LOG.info("Received wcStatsReport on topic {} for ap {}", topic,
wcStatsReport.getObservationPoint().getNodeId());
}
List<com.telecominfraproject.wlan.profile.models.Profile> metricsProfiles = com.telecominfraproject.wlan.profile.models.Profile
.listFromFile(metricsProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
@Override
public void wifiVIFStateDbTableUpdate(List<OpensyncAPVIFState> vifStateTables, String apId) {
LOG.info("Received table state update {} for ap {}", vifStateTables, apId);
}
List<com.telecominfraproject.wlan.profile.models.Profile> radiusProfiles = com.telecominfraproject.wlan.profile.models.Profile
.listFromFile(radiusProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
@Override
public void wifiRadioStatusDbTableUpdate(List<OpensyncAPRadioState> radioStateTable, String apId) {
LOG.info("Received table state update {} for ap {}", radioStateTable, apId);
}
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");
}
@Override
public void wifiInetStateDbTableUpdate(List<OpensyncAPInetState> inetStateTable, String apId) {
LOG.info("Received table state update {} for ap {}", inetStateTable, apId);
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());
@Override
public void wifiAssociatedClientsDbTableUpdate(List<OpensyncWifiAssociatedClients> wifiAssociatedClients,
String apId) {
LOG.info("Received table state update {} for ap {}", wifiAssociatedClients, apId);
Location location = Location.fromFile(locationFileName, Location.class);
}
equipment.setLocationId(location.getId());
@Override
public void awlanNodeDbTableUpdate(OpensyncAWLANNode opensyncAPState, String apId) {
LOG.info("Received table state update {} for ap {}", opensyncAPState, apId);
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));
@Override
public void wifiVIFStateDbTableDelete(List<OpensyncAPVIFState> vifStateTables, String apId) {
LOG.info("Received table delete {} for ap {}", vifStateTables, apId);
ret = new OpensyncAPConfig();
ret.setCustomerEquipment(equipment);
ret.setApProfile(apProfile);
ret.setRfProfile(rfProfile);
ret.setMetricsProfiles(metricsProfiles);
ret.setSsidProfile(ssidProfiles);
ret.setRadiusProfiles(radiusProfiles);
ret.setEquipmentLocation(location);
ret.setCaptiveProfiles(captiveProfiles);
ret.setBonjourGatewayProfiles(bonjourProfiles);
ret.setHotspotConfig(hotspotConfig);
}
} catch (IOException e) {
LOG.error("Cannot read config file", e);
}
@Override
public void wifiAssociatedClientsDbTableDelete(String deletedClientMac, String apId) {
LOG.info("Received Wifi_Associated_Clients row delete {} for ap {}", deletedClientMac, apId);
LOG.debug("Config content : {}", ret);
return ret;
}
public void processMqttMessage(String topic, Report report) {
LOG.info("Received OpensyncStatsReport on topic {} for ap {}\n{}", topic, report.getNodeID(), report);
report.getVideoVoiceReportList().stream().forEach(v -> {
LOG.info("VideoVoiceReport {}", v);
});
report.getEventReportList().stream().forEach(e -> {
LOG.info("Received EventReport {}", e);
});
}
public void processMqttMessage(String topic, FlowReport flowReport) {
LOG.info("Received FlowReport on topic {} for ap {}", topic, flowReport.getObservationPoint().getNodeId());
}
public void processMqttMessage(String topic, WCStatsReport wcStatsReport) {
LOG.info("Received WCStatsReport on topic {} for ap {}", topic,
wcStatsReport.getObservationPoint().getNodeId());
}
@Override
public void wifiVIFStateDbTableUpdate(List<OpensyncAPVIFState> vifStateTables, String apId) {
LOG.info("Received table state update {} for ap {}", vifStateTables, apId);
}
@Override
public void wifiRadioStatusDbTableUpdate(List<OpensyncAPRadioState> radioStateTable, String apId) {
LOG.info("Received table state update {} for ap {}", radioStateTable, apId);
}
@Override
public void wifiInetStateDbTableUpdate(List<OpensyncAPInetState> inetStateTable, String apId) {
LOG.info("Received table state update {} for ap {}", inetStateTable, apId);
}
@Override
public void wifiAssociatedClientsDbTableUpdate(List<OpensyncWifiAssociatedClients> wifiAssociatedClients,
String apId) {
LOG.info("Received table state update {} for ap {}", wifiAssociatedClients, apId);
}
@Override
public void awlanNodeDbTableUpdate(OpensyncAWLANNode opensyncAPState, String apId) {
LOG.info("Received table state update {} for ap {}", opensyncAPState, apId);
}
@Override
public void wifiVIFStateDbTableDelete(List<OpensyncAPVIFState> vifStateTables, String apId) {
LOG.info("Received table delete {} for ap {}", vifStateTables, apId);
}
@Override
public void wifiAssociatedClientsDbTableDelete(String deletedClientMac, String apId) {
LOG.info("Received Wifi_Associated_Clients row delete {} for ap {}", deletedClientMac, apId);
}
@Override
public void wifiInetStateDbTableDelete(List<OpensyncAPInetState> inetStateTables, String apId) {
LOG.info("Received Wifi_VIF_State row(s) delete {} for ap {}", inetStateTables, apId);
}
@Override
public void dhcpLeasedIpDbTableUpdate(List<Map<String, String>> dhcpAttributes, String apId,
RowUpdateOperation rowUpdateOperation) {
LOG.info("Received DHCP_Leased_IP row(s) {} rowUpdateOperation {} for ap {}", dhcpAttributes,
rowUpdateOperation, apId);
}
@Override
public void commandStateDbTableUpdate(List<Map<String, String>> commandStateAttributes, String apId,
RowUpdateOperation rowUpdateOperation) {
LOG.info("Received Command_State row(s) {} rowUpdateOperation {} for ap {}", commandStateAttributes,
rowUpdateOperation, apId);
}
}
}

View File

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

View File

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

View File

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

View File

@@ -1,29 +0,0 @@
[
{
"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,135 +0,0 @@
[
{
"model_type": "Profile",
"id": 14,
"customerId": 2,
"profileType": "captive_portal",
"name": "Captive-portal",
"details": {
"model_type": "CaptivePortalConfiguration",
"name": "Captive-portal",
"browserTitle": "Access the network as Guest",
"headerContent": "Captive Portal",
"userAcceptancePolicy": "Use this network at your own risk. No warranty of any kind.",
"successPageMarkdownText": "Welcome to the network",
"redirectURL": "",
"externalCaptivePortalURL": null,
"sessionTimeoutInMinutes": 60,
"logoFile": null,
"backgroundFile": null,
"walledGardenAllowlist": [],
"usernamePasswordFile": {
"model_type": "ManagedFileInfo",
"md5checksum": null,
"lastModifiedTimestamp": null,
"apExportUrl": "userList",
"fileCategory": "UsernamePasswordList",
"fileType": "TEXT",
"altSlot": true
},
"authenticationType": "guest",
"radiusAuthMethod": "CHAP",
"maxUsersWithSameCredentials": 42,
"externalPolicyFile": null,
"backgroundPosition": "left_top",
"backgroundRepeat": "no_repeat",
"radiusServiceName": null,
"expiryType": "unlimited",
"userList": [
{
"model_type": "TimedAccessUserRecord",
"username": "customer",
"password": "testing123",
"activationTime": 1602183994956,
"expirationTime": 1602212794956,
"numDevices": 1,
"userDetails": {
"model_type": "TimedAccessUserDetails",
"firstName": "Pac",
"lastName": "Man",
"passwordNeedsReset": false
},
"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": 1602183994959,
"lastModifiedTimestamp": 1602183994959,
"childProfileIds": []
}
]

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,34 +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": []
}
{
"model_type": "Profile",
"id": 1,
"customerId": 2,
"profileType": "radius",
"name": "RadiusProfileOttawa",
"details": {
"model_type": "RadiusProfile",
"subnetConfiguration": null,
"serviceRegionMap": {
"Ottawa": {
"model_type": "RadiusServiceRegion",
"serverMap": {
"RadiusProfileOttawa": [
{
"model_type": "RadiusServer",
"ipAddress": "localhost",
"secret": "testing123",
"authPort": 1812,
"timeout": null
}
]
},
"regionName": "Ottawa"
}
},
"profileType": "radius"
},
"createdTimestamp": 1591653174195,
"lastModifiedTimestamp": 1591653174195,
"childProfileIds": []
}
]

View File

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

View File

@@ -1,134 +1,184 @@
[
{
"model_type": "Profile",
"id": 15,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-hotspot-access",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-hotspot-access",
"appliedRadios": [
"is5GHzL",
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
"vlanId": 1,
"keyStr": "testing123",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"radiusAccountingServiceName": 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": 1605711164949,
"lastModifiedTimestamp": 1605711223372,
"childProfileIds": [
24
]
},
{
"model_type": "Profile",
"id": 16,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-hotspot-osu",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-hotspot-osu",
"appliedRadios": [
"is2dot4GHz"
],
"ssidAdminState": "enabled",
"secureMode": "open",
"vlanId": 1,
"keyStr": null,
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"radiusAccountingServiceName": 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": 1605711164950,
"lastModifiedTimestamp": 1605711171732,
"childProfileIds": [
19,
20
]
}
{
"model_type": "Profile",
"id": 6,
"customerId": 2,
"profileType": "ssid",
"name": "DefaultSsid-2g",
"details": {
"model_type": "SsidConfiguration",
"ssid": "Default-SSID-2g",
"appliedRadios": [
"is2dot4GHz"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
"vlanId": 1,
"keyStr": "12345678",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 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": 1591653239983,
"lastModifiedTimestamp": 1591653239983,
"childProfileIds": []
},
{
"model_type": "Profile",
"id": 7,
"customerId": 2,
"profileType": "ssid",
"name": "DefaultSsid-5gl",
"details": {
"model_type": "SsidConfiguration",
"ssid": "Default-SSID-5gl",
"appliedRadios": [
"is5GHzL"
],
"ssidAdminState": "enabled",
"secureMode": "wpaEAP",
"vlanId": 1,
"keyStr": "12345678",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": "RadiusProfileOttawa",
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 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": 1591653240017,
"lastModifiedTimestamp": 1591654215374,
"childProfileIds": [
1
]
},
{
"model_type": "Profile",
"id": 8,
"customerId": 2,
"profileType": "ssid",
"name": "DefaultSsid-5gu",
"details": {
"model_type": "SsidConfiguration",
"ssid": "Default-SSID-5gu",
"appliedRadios": [
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
"vlanId": 1,
"keyStr": "12345678",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 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": 1591654301763,
"lastModifiedTimestamp": 1591654301763,
"childProfileIds": []
}
]

View File

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

View File

@@ -10,7 +10,7 @@
"ssidConfigs" : [ {
"model_type" : "OpensyncAPSsidConfig",
"radioType" : "is2dot4GHz",
"ssid" : "Tip-wlan-local",
"ssid" : "Connectus-local",
"encryption" : "WPA-PSK",
"key" : "12345678",
"mode" : "2",
@@ -18,7 +18,7 @@
}, {
"model_type" : "OpensyncAPSsidConfig",
"radioType" : "is5GHzL",
"ssid" : "Tip-wlan-local-5l",
"ssid" : "Connectus-local-5l",
"encryption" : "WPA-PSK",
"key" : "12345678",
"mode" : "2",

View File

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

View File

@@ -14,8 +14,6 @@
<properties>
<docker.fabric.version>0.28.0</docker.fabric.version>
<docker.push.registry>tip-tip-wlan-cloud-docker-repo.jfrog.io</docker.push.registry>
<timestamp>${maven.build.timestamp}</timestamp>
<maven.build.timestamp.format>yyyy-MM-dd</maven.build.timestamp.format>
</properties>
<dependencies>
@@ -40,9 +38,6 @@
<image>
<name>opensync-gateway-cloud:${project.version}</name>
<build>
<tags>
<tag>${project.version}-${timestamp}</tag>
</tags>
<filter>@</filter>
<cleanup>try</cleanup>
<dockerFileDir>${project.basedir}/src/main/docker</dockerFileDir>

View File

@@ -0,0 +1,33 @@
FROM adoptopenjdk/openjdk13:alpine-jre
LABEL maintainer="ConnectUs.ai as part of the Telecom Infrastructure Project"
LABEL version="1.0"
LABEL description="This image runs the mqtt broker (mosquitto) and \
an OpenSync gateway."
# Update the package list and upgrade installed packages
RUN apk update && apk upgrade
RUN mkdir -p /opt/tip-wlan/certs
VOLUME ["/opt/tip-wlan/certs"]
# Configure mqtt broker
RUN apk add mosquitto
RUN mkdir -p /mosquitto/data /mosquitto/log
COPY app/mqtt/mosquitto.conf /etc/mosquitto/mosquitto.conf
VOLUME ["/mosquitto/data", "/mosquitto/log"]
# Configure OpenSync Gateway
RUN mkdir -p /app/logs /app/opensync /app/config
COPY maven/app.jar /app
COPY app/opensync/logback.xml /app/opensync/logback.xml
COPY app/run.sh /app
VOLUME ["/app/logs", "/app/config"]
RUN chmod +x /app/run.sh
EXPOSE 1883 6640 6643 4043
WORKDIR /app
ENTRYPOINT ["/app/run.sh"]
CMD [""]

View File

@@ -0,0 +1,18 @@
cafile /opt/tip-wlan/certs/cacert.pem
certfile /opt/tip-wlan/certs/mqttservercert.pem
keyfile /opt/tip-wlan/certs/mqttserverkey_dec.pem
require_certificate true
use_identity_as_username true
allow_anonymous false
allow_duplicate_messages true
autosave_interval 900
log_dest file /mosquitto/log/mosquitto.log
max_queued_bytes 0
max_queued_messages 0
message_size_limit 0
persistence true
persistence_file mosquitto.db
persistence_location /mosquitto/data/
pid_file /mosquitto/mosquitto.pid
port 1883

View File

@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- For assistance related to logback-translator or configuration -->
<!-- files in general, please contact the logback user mailing list -->
<!-- at http://www.qos.ch/mailman/listinfo/logback-user -->
<!-- -->
<!-- For professional support please see -->
<!-- http://www.qos.ch/shop/products/professionalSupport -->
<!-- -->
<configuration>
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="mqttDataFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/app/logs/mqttData.log</file>
<append>true</append>
<encoder>
<pattern>%date %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>/app/logs/mqttData.%i.log.gz</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>3</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>20MB</maxFileSize>
</triggeringPolicy>
</appender>
<appender name="logfile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/app/logs/opensyncgw.log</file>
<append>true</append>
<encoder>
<pattern>%date %level [%thread] %logger{36} [%file:%line] %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>/app/logs/opensyncgw.%i.log.gz</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>3</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>20MB</maxFileSize>
</triggeringPolicy>
</appender>
<!--
details: http://logback.qos.ch/manual/configuration.html#auto_configuration
runtime configuration, if need to override the defaults:
-Dlogback.configurationFile=/path/to/logback.xml
for log configuration debugging - use
-Dlogback.statusListenerClass=ch.qos.logback.core.status.OnConsoleStatusListener
log levels:
OFF ERROR WARN INFO DEBUG TRACE
-->
<logger name="org.apache.catalina.startup.DigesterFactory" level="ERROR"/>
<logger name="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" level="INFO"/>
<logger name="org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer" level="INFO"/>
<logger name="com.telecominfraproject.wlan" level="INFO"/>
<logger name="ai.connectus" level="INFO"/>
<logger name="com.netflix.servo.tag.aws.AwsInjectableTag" level="OFF"/>
<logger name="com.vmware.ovsdb.service.OvsdbConnectionInfo" level="OFF"/>
<logger name="com.vmware.ovsdb.netty.OvsdbConnectionHandler" level="ERROR"/>
<logger name="MQTT_DATA" level="DEBUG" additivity="false">
<appender-ref ref="mqttDataFile"/>
</logger>
<root level="WARN">
<appender-ref ref="logfile"/>
</root>
</configuration>

View File

@@ -0,0 +1,126 @@
#!/bin/sh
# Prepare the hosts file - do it only if does not have required entries
n1=`grep opensync-mqtt-broker /etc/hosts | wc -l`
if [[ $n1 -eq 0 ]]
then
echo Adding opensync-mqtt-broker to /etc/hosts
echo "127.0.0.1 opensync-mqtt-broker" >> /etc/hosts
fi
n2=`grep opensync-wifi-controller /etc/hosts | wc -l`
if [[ $n2 -eq 0 ]]
then
echo Adding opensync-wifi-controller to /etc/hosts
echo "127.0.0.1 opensync-wifi-controller" >> /etc/hosts
fi
echo Starting mosquitto MQTT broker
/usr/sbin/mosquitto -d -c /etc/mosquitto/mosquitto.conf
# Provide default values for the environment variables
MQTT_CLIENT_KEYSTORE_PASSWORD="${MQTT_CLIENT_KEYSTORE_PASSWORD:=mypassword}"
MQTT_CLIENT_KEYSTORE_FILE="${MQTT_CLIENT_KEYSTORE_FILE:=/opt/tip-wlan/certs/client_keystore.jks}"
MQTT_TRUSTSTORE_FILE="${MQTT_TRUSTSTORE_FILE:=/opt/tip-wlan/certs/truststore.jks}"
MQTT_TRUSTSTORE_PASSWORD="${MQTT_TRUSTSTORE_PASSWORD:=mypassword}"
OVSDB_SERVER_KEYSTORE_FILE="${OVSDB_SERVER_KEYSTORE_FILE:=/opt/tip-wlan/certs/server.pkcs12}"
OVSDB_SERVER_KEYSTORE_PASSWORD="${OVSDB_SERVER_KEYSTORE_PASSWORD:=mypassword}"
OVSDB_SERVER_TRUSTSTORE_FILE="${OVSDB_SERVER_TRUSTSTORE_FILE:=/opt/tip-wlan/certs/truststore.jks}"
OVSDB_SERVER_TRUSTSTORE_PASSWORD="${OVSDB_SERVER_TRUSTSTORE_PASSWORD:=mypassword}"
OVSDB_CONFIG_FILE="${OVSDB_CONFIG_FILE:=/app/opensync/config_2_ssids.json}"
echo Reading AP configuration from $OVSDB_CONFIG_FILE
EXT_CLIENT_KEYSTORE_PASSWORD="${EXT_CLIENT_KEYSTORE_PASSWORD:=mypassword}"
EXT_CLIENT_KEYSTORE_FILE="${EXT_CLIENT_KEYSTORE_FILE:=/opt/tip-wlan/certs/client_keystore.jks}"
EXT_TRUSTSTORE_FILE="${EXT_TRUSTSTORE_FILE:=/opt/tip-wlan/certs/truststore.jks}"
EXT_TRUSTSTORE_PASSWORD="${EXT_TRUSTSTORE_PASSWORD:=mypassword}"
MQTT_BROKER_HOST="${MQTT_BROKER_HOST:=opensync-mqtt-broker}"
OVSDB_MANAGER_HOST="${OVSDB_MANAGER_HOST:=opensync-wifi-controller}"
LOGBACK_CONFIG_FILE="${LOGBACK_CONFIG_FILE:=/app/opensync/logback.xml}"
# Create ssl.properties file
cat > /app/ssl.properties <<END_OF_FILE
truststorePass=$OVSDB_SERVER_TRUSTSTORE_PASSWORD
truststoreFile=file:$OVSDB_SERVER_TRUSTSTORE_FILE
truststoreType=JKS
truststoreProvider=SUN
keyAlias=1
keystorePass=$OVSDB_SERVER_KEYSTORE_PASSWORD
keystoreFile=file:$OVSDB_SERVER_KEYSTORE_FILE
keystoreType=pkcs12
keystoreProvider=SunJSSE
sslProtocol=TLS
END_OF_FILE
# Create httpClientConfig.json file
cat > /app/httpClientConfig.json <<END_OF_FILE
{
"maxConnectionsTotal":100,
"maxConnectionsPerRoute":10,
"truststoreType":"JKS",
"truststoreProvider":"SUN",
"truststoreFile":"file:$EXT_TRUSTSTORE_FILE",
"truststorePass":"$EXT_TRUSTSTORE_PASSWORD",
"keystoreType":"JKS",
"keystoreProvider":"SUN",
"keystoreFile":"file:$EXT_CLIENT_KEYSTORE_FILE",
"keystorePass":"$EXT_CLIENT_KEYSTORE_PASSWORD",
"keyAlias":"clientkeyalias",
"credentialsList":[
{"host":"localhost","port":-1,"user":"user","password":"password"}
]
}
END_OF_FILE
# Set environment for the opensync gateway process
PROFILES=" -Dspring.profiles.include=mqtt_receiver,ovsdb_redirector,ovsdb_manager"
SSL_PROPS=" "
SSL_PROPS="$SSL_PROPS -Dssl.props=file:/app/ssl.properties"
SSL_PROPS="$SSL_PROPS -Dtip.wlan.httpClientConfig=file:/app/httpClientConfig.json"
CLIENT_MQTT_SSL_PROPS=" "
CLIENT_MQTT_SSL_PROPS="$CLIENT_MQTT_SSL_PROPS -Djavax.net.ssl.keyStore=$MQTT_CLIENT_KEYSTORE_FILE"
CLIENT_MQTT_SSL_PROPS="$CLIENT_MQTT_SSL_PROPS -Djavax.net.ssl.keyStorePassword=$MQTT_CLIENT_KEYSTORE_PASSWORD"
CLIENT_MQTT_SSL_PROPS="$CLIENT_MQTT_SSL_PROPS -Djavax.net.ssl.trustStore=$MQTT_TRUSTSTORE_FILE"
CLIENT_MQTT_SSL_PROPS="$CLIENT_MQTT_SSL_PROPS -Djavax.net.ssl.trustStorePassword=$MQTT_TRUSTSTORE_PASSWORD"
OVSDB_PROPS=" "
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.managerAddr=$OVSDB_MANAGER_HOST"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.listenPort=6640 "
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.redirector.listenPort=6643"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.timeoutSec=30"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.trustStore=$OVSDB_SERVER_TRUSTSTORE_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.trustStorePassword=$OVSDB_SERVER_TRUSTSTORE_PASSWORD"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.keyStore=$OVSDB_SERVER_KEYSTORE_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.keyStorePassword=$OVSDB_SERVER_KEYSTORE_PASSWORD"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.configFileName=$OVSDB_CONFIG_FILE"
MQTT_PROPS=" "
MQTT_PROPS="$MQTT_PROPS -Dconnectus.mqttBroker.address=$MQTT_BROKER_HOST"
MQTT_PROPS="$MQTT_PROPS -Dconnectus.mqttBroker.listenPort=1883"
LOGGING_PROPS=" -Dlogging.config=file:$LOGBACK_CONFIG_FILE"
RESTAPI_PROPS=" "
RESTAPI_PROPS="$RESTAPI_PROPS -Dserver.port=4043"
SPRING_EXTRA_PROPS=" --add-opens java.base/java.lang=ALL-UNNAMED"
export ALL_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 Result: $ALL_PROPS
java $ALL_PROPS -jar app.jar > /app/opensync-wifi-controller-stdout.out 2>&1

View File

@@ -1,5 +1,5 @@
FROM adoptopenjdk/openjdk13:alpine-jre
MAINTAINER TipWlan
MAINTAINER ConnectUs
# Update the package list and upgrade installed packages
RUN apk update && apk upgrade && apk add bash
@@ -9,7 +9,6 @@ RUN mkdir -p /opt/tip-wlan/certs
COPY maven/app.jar /app
COPY app/opensync/logback.xml /app/opensync/logback.xml
COPY app/run.sh /app
COPY app/commit.properties /app
RUN chmod +x /app/run.sh

View File

@@ -1,4 +0,0 @@
#This is a dummy property file to be used when running docker locally
date=${date}
commitId=${commit.id}
projectVersion=${project.version}

View File

@@ -14,21 +14,15 @@
</encoder>
</appender>
<appender name="mqttDataFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/app/logs/mqttData.log</file>
<append>true</append>
<!--
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>myApp.log</file>
<encoder>
<pattern>%date %msg%n</pattern>
<pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>/app/logs/mqttData.%i.log.gz</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>3</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>20MB</maxFileSize>
</triggeringPolicy>
</appender>
-->
<appender name="logfile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/app/logs/opensyncgw.log</file>
@@ -63,15 +57,19 @@
<logger name="org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer" level="INFO"/>
<logger name="com.telecominfraproject.wlan" level="DEBUG"/>
<logger name="ai.connectus" level="DEBUG"/>
<logger name="com.netflix.servo.tag.aws.AwsInjectableTag" level="OFF"/>
<logger name="com.vmware.ovsdb.service.OvsdbConnectionInfo" level="OFF"/>
<logger name="com.vmware.ovsdb.netty.OvsdbConnectionHandler" level="ERROR"/>
<logger name="MQTT_DATA" level="DEBUG" additivity="false">
<appender-ref ref="mqttDataFile"/>
</logger>
<logger name="MQTT_DATA" level="DEBUG"/>
<!--
<logger name="org.springframework.security.web.authentication.preauth" level="DEBUG"/>
-->
<root level="WARN">
<!-- <appender-ref ref="stdout"/>-->
<appender-ref ref="logfile"/>
</root>

View File

@@ -10,112 +10,28 @@ CLIENT_MQTT_SSL_PROPS+=" -Djavax.net.ssl.keyStore=/opt/tip-wlan/certs/client_key
CLIENT_MQTT_SSL_PROPS+=" -Djavax.net.ssl.keyStorePassword=mypassword"
CLIENT_MQTT_SSL_PROPS+=" -Djavax.net.ssl.trustStore=/opt/tip-wlan/certs/truststore.jks"
CLIENT_MQTT_SSL_PROPS+=" -Djavax.net.ssl.trustStorePassword=mypassword"
CLIENT_MQTT_SSL_PROPS+=" -Dtip.wlan.mqttBroker.password=admin"
OVSDB_MANAGER_HOST=${OVSDB_MANAGER}
MQTT_BROKER_HOST_INTERNAL="${MQTT_SERVER_INTERNAL}"
MQTT_BROKER_HOST_EXTERNAL="${MQTT_SERVER_EXTERNAL}"
PROV_SERVER_HOST="${PROV_SERVER}"
SSC_SERVER_HOST="${SSC_SERVER}"
ALL_IN_ONE_HOST="${INTEGRATED_SERVER}"
FILE_STORE_DIRECTORY="${FILE_STORE_DIRECTORY_INTERNAL:=/tmp/filestore}"
FILE_STORE_EXTERNAL_URL="${FILE_STORE_URL}"
MQTT_BROKER_EXTERNAL_PORT="${MQTT_BROKER_EXTERNAL_PORT}"
OVSDB_EXTERNAL_PORT="${OVSDB_EXTERNAL_PORT}"
CLIENT_MQTT_SSL_PROPS+=" -Dconnectus.mqttBroker.password=admin"
OVSDB_PROPS=" "
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.managerAddr=$OVSDB_MANAGER_HOST"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.listenPort=6640 "
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.redirector.listenPort=6643"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.timeoutSec=30"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.trustStore=/opt/tip-wlan/certs/truststore.jks"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.keyStore=/opt/tip-wlan/certs/server.pkcs12"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.configFileName=/app/opensync/config_2_ssids.json"
OVSDB_PROPS+=" -Dconnectus.ovsdb.managerAddr=opensync-controller"
OVSDB_PROPS+=" -Dconnectus.ovsdb.listenPort=6640 "
OVSDB_PROPS+=" -Dconnectus.ovsdb.redirector.listenPort=6643"
OVSDB_PROPS+=" -Dconnectus.ovsdb.timeoutSec=30"
OVSDB_PROPS+=" -Dconnectus.ovsdb.trustStore=/opt/tip-wlan/certs/truststore.jks"
OVSDB_PROPS+=" -Dconnectus.ovsdb.keyStore=/opt/tip-wlan/certs/server.pkcs12"
OVSDB_PROPS+=" -Dconnectus.ovsdb.configFileName=/app/opensync/config_2_ssids.json"
MQTT_PROPS=" "
MQTT_PROPS+=" -Dtip.wlan.mqttBroker.address.internal=$MQTT_BROKER_HOST_INTERNAL"
MQTT_PROPS+=" -Dtip.wlan.mqttBroker.address.external=$MQTT_BROKER_HOST_EXTERNAL"
MQTT_PROPS+=" -Dtip.wlan.ovsdb.externalPort=$OVSDB_EXTERNAL_PORT"
MQTT_PROPS+=" -Dtip.wlan.mqttBroker.externalPort=$MQTT_BROKER_EXTERNAL_PORT"
MQTT_PROPS+=" -Dtip.wlan.mqttBroker.listenPort=1883"
MQTT_PROPS+=" -Dconnectus.mqttBroker.address=tip-wlan-opensync-mqtt-broker"
MQTT_PROPS+=" -Dconnectus.mqttBroker.listenPort=1883"
LOGBACK_CONFIG_FILE="${LOGBACK_CONFIG_FILE:=/app/opensync/logback.xml}"
LOGGING_PROPS=" -Dlogging.config=file:$LOGBACK_CONFIG_FILE"
LOGGING_PROPS=" -Dlogging.config=file:/app/opensync/logback.xml"
RESTAPI_PROPS=" "
RESTAPI_PROPS+=" -Dserver.port=9096 -Dtip.wlan.secondaryPort=9097"
RESTAPI_PROPS+=" -Dserver.port=443"
SPRING_EXTRA_PROPS=" --add-opens java.base/java.lang=ALL-UNNAMED"
HOST_PROPS=" "
## These properties are used by the Routing Service and the values will be
## overridden in Helm chart to the IP-Address of running opensync-gw pod
## If OVSDB_MANAGER_IP variable is not defined, these properties default
## to the Hostname of the container
if [[ -n ${OVSDB_MANAGER_IP} ]]
then
HOST_PROPS+=" -Dtip.wlan.externalHostName=${OVSDB_MANAGER_IP}"
HOST_PROPS+=" -Dtip.wlan.internalHostName=${OVSDB_MANAGER_IP}"
HOST_PROPS+=" -Dtip.wlan.introspectTokenApi.host=${OVSDB_MANAGER_IP}:9096"
fi
if [[ -n $PROV_SERVER_HOST && -n $SSC_SERVER_HOST ]]
then
echo Use specifed local host
SSC_URL=https://${SSC_SERVER_HOST}:9031
PROV_URL=https://${PROV_SERVER_HOST}:9091
else
echo Its an Integrated server environment
SSC_URL=https://${ALL_IN_ONE_HOST}:9092
PROV_URL=https://${ALL_IN_ONE_HOST}:9092
fi
# SSC URLs
HOST_PROPS+=" -Dtip.wlan.cloudEventDispatcherBaseUrl=$SSC_URL"
HOST_PROPS+=" -Dtip.wlan.statusServiceBaseUrl=$SSC_URL"
HOST_PROPS+=" -Dtip.wlan.routingServiceBaseUrl=$SSC_URL"
HOST_PROPS+=" -Dtip.wlan.alarmServiceBaseUrl=$SSC_URL"
HOST_PROPS+=" -Dtip.wlan.systemEventServiceBaseUrl=$SSC_URL"
HOST_PROPS+=" -Dtip.wlan.clientServiceBaseUrl=$SSC_URL"
HOST_PROPS+=" -Dtip.wlan.serviceMetricServiceBaseUrl=$SSC_URL"
# PROV URLs
HOST_PROPS+=" -Dtip.wlan.customerServiceBaseUrl=$PROV_URL"
HOST_PROPS+=" -Dtip.wlan.portalUserServiceBaseUrl=$PROV_URL"
HOST_PROPS+=" -Dtip.wlan.firmwareServiceBaseUrl=$PROV_URL"
HOST_PROPS+=" -Dtip.wlan.locationServiceBaseUrl=$PROV_URL"
HOST_PROPS+=" -Dtip.wlan.manufacturerServiceBaseUrl=$PROV_URL"
HOST_PROPS+=" -Dtip.wlan.equipmentServiceBaseUrl=$PROV_URL"
HOST_PROPS+=" -Dtip.wlan.profileServiceBaseUrl=$PROV_URL"
DEFAULT_BRIDGE="${DEFAULT_BRIDGE:=lan}"
DEFAULT_WAN_TYPE="${DEFAULT_WAN_TYPE:=bridge}"
DEFAULT_LAN_TYPE="${DEFAULT_LAN_TYPE:=bridge}"
DEFAULT_LAN_NAME="${DEFAULT_LAN_NAME:=lan}"
DEFAULT_WAN_NAME="${DEFAULT_WAN_NAME:=wan}"
AUTO_PROV_CUSTOMER_ID="${AUTO_PROV_CUSTOMER_ID:=2}"
PROV_PROPS=" "
PROV_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_bridge=$DEFAULT_BRIDGE"
PROV_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_wan_type=$DEFAULT_WAN_TYPE"
PROV_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_wan_name=$DEFAULT_WAN_NAME"
PROV_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_lan_type=$DEFAULT_LAN_TYPE"
PROV_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_lan_name=$DEFAULT_LAN_NAME"
PROV_PROPS+=" -Dtip.wlan.ovsdb.autoProvisionedCustomerId=$AUTO_PROV_CUSTOMER_ID"
FILE_STORE_PROPS=" "
FILE_STORE_PROPS+=" -Dtip.wlan.fileStoreDirectory=$FILE_STORE_DIRECTORY"
FILE_STORE_PROPS+=" -Dtip.wlan.externalFileStoreURL=$FILE_STORE_EXTERNAL_URL"
REMOTE_DEBUG_PORT=5005
REMOTE_DEBUG=" -agentlib:jdwp=transport=dt_socket,server=y,address=*:$REMOTE_DEBUG_PORT,suspend=n"
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="$PROFILES $SSL_PROPS $CLIENT_MQTT_SSL_PROPS $OVSDB_PROPS $MQTT_PROPS $LOGGING_PROPS $RESTAPI_PROPS $SPRING_EXTRA_PROPS"
java $ALL_PROPS -jar app.jar

View File

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

View File

@@ -24,11 +24,19 @@
<artifactId>opensync-ext-cloud</artifactId>
<version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency>
<artifactId>base-container</artifactId>
<groupId>com.telecominfraproject.wlan</groupId>
<version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency>
<artifactId>filestore-service</artifactId>
<groupId>com.telecominfraproject.wlan</groupId>
<version>${tip-wlan-cloud.release.version}</version>
</dependency>
<dependency>
<artifactId>customer-service-remote</artifactId>
<groupId>com.telecominfraproject.wlan</groupId>

View File

@@ -1,40 +0,0 @@
package com.telecominfraproject.wlan.opensync.startuptasks;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.context.annotation.Configuration;
import com.telecominfraproject.wlan.core.model.pair.PairIntString;
import com.telecominfraproject.wlan.customer.service.CustomerServiceInterface;
import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface;
@Configuration
public class OpensyncGatewayStartupListener implements ApplicationRunner {
private static final Logger LOG = LoggerFactory.getLogger(OpensyncGatewayStartupListener.class);
@Autowired
private CustomerServiceInterface customerServiceInterface;
@Autowired
private EquipmentServiceInterface equipmentServiceInterface;
@Override
public void run(ApplicationArguments args) throws Exception {
LOG.debug("OSGW startup commands");
try {
// List<PairIntString> first10Customers = customerServiceInterface.getAll(10, -1);
// LOG.info("first10Customers: {}", first10Customers);
} catch (Exception e) {
LOG.error("Got Exception ", e);
}
LOG.debug("Completed OSGW startup commands");
}
}

View File

@@ -11,6 +11,7 @@
"keystorePass":"mypassword",
"keyAlias":"clientqrcode",
"credentialsList":[
{"host":"localhost","port":-1,"user":"user","password":"password"}
]
}

View File

@@ -81,9 +81,7 @@ spring.profiles.include=use_ssl_with_client_cert_and_basic_auth,client_certifica
tip.wlan.httpClientConfig=classpath:httpClientConfig.json
#this user/password is used together with http_digest_auth and http_basic_auth spring profiles
tip.wlan.serviceUser=user
# The value in here is bcrypt-encoded string "password", generated with the following command
# htpasswd -nBC 10 "" | cut -d ':' -f2
tip.wlan.servicePassword=$2y$10$rXnaSR5q2PsFWs8WEfJAguKAPh0oHLFkAJFqd7Pf7PVa3cOIClGoS
tip.wlan.servicePassword=password
spring.main.show-banner=false
server.port=9096
@@ -96,8 +94,6 @@ tip.wlan.listOfPathsToProtect=/api,/filestore
#this server only supports REST requests, CSRF would get in the way
tip.wlan.csrf-enabled=false
# do not allow clientCn alteration
tip.wlan.preventClientCnAlteration=false
#properties that configure remote interfaces to communicate with cloud
# when separate portal - prov - ssc processes are in use:
##SSC-related services
@@ -105,9 +101,6 @@ tip.wlan.preventClientCnAlteration=false
#tip.wlan.statusServiceBaseUrl=https://localhost:9031
#tip.wlan.routingServiceBaseUrl=https://localhost:9031
#tip.wlan.alarmServiceBaseUrl=https://localhost:9031
#tip.wlan.clientServiceBaseUrl=https://localhost:9031
#tip.wlan.systemEventServiceBaseUrl=https://localhost:9031
#tip.wlan.serviceMetricServiceBaseUrl=https://localhost:9031
##PROV-related services
#tip.wlan.customerServiceBaseUrl=https://localhost:9091
#tip.wlan.locationServiceBaseUrl=https://localhost:9091
@@ -115,7 +108,6 @@ tip.wlan.preventClientCnAlteration=false
#tip.wlan.profileServiceBaseUrl=https://localhost:9091
#tip.wlan.firmwareServiceBaseUrl=https://localhost:9091
#tip.wlan.manufacturerServiceBaseUrl=https://localhost:9091
#tip.wlan.portalUserServiceBaseUrl=https://localhost:9091
# For all-cloud-in-one-process :
#SSC-related services
@@ -123,20 +115,14 @@ tip.wlan.cloudEventDispatcherBaseUrl=https://localhost:9092
tip.wlan.statusServiceBaseUrl=https://localhost:9092
tip.wlan.routingServiceBaseUrl=https://localhost:9092
tip.wlan.alarmServiceBaseUrl=https://localhost:9092
tip.wlan.clientServiceBaseUrl=https://localhost:9092
tip.wlan.systemEventServiceBaseUrl=https://localhost:9092
tip.wlan.serviceMetricServiceBaseUrl=https://localhost:9092
#PROV-related services
tip.wlan.customerServiceBaseUrl=https://localhost:9092
tip.wlan.locationServiceBaseUrl=https://localhost:9092
tip.wlan.equipmentServiceBaseUrl=https://localhost:9092
tip.wlan.profileServiceBaseUrl=https://localhost:9092
tip.wlan.clientServiceBaseUrl=https://localhost:9092
tip.wlan.firmwareServiceBaseUrl=https://localhost:9092
tip.wlan.manufacturerServiceBaseUrl=https://localhost:9092
tip.wlan.portalUserServiceBaseUrl=https://localhost:9092
tip.wlan.fileStoreDirectory=/tmp/tip-wlan-filestore
tip.wlan.externalFileStoreURL=https://localhost:9096
#server.session-timeout= # session timeout in seconds
#server.tomcat.max-threads = 0 # number of threads in protocol handler

View File

@@ -21,5 +21,5 @@
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="opensync-gateway-cloud-process"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="opensync-gateway-cloud-process"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="--add-opens java.base/java.lang=ALL-UNNAMED&#10;&#10;-Dssl.props=file://${project_loc:opensync-gateway-cloud-process}/src/main/resources/app/certs/ssl.properties&#10;-Dtip.wlan.httpClientConfig=file://${project_loc:opensync-gateway-cloud-process}/src/main/resources/app/certs/httpClientConfig.json&#10;&#10;-Djavax.net.ssl.keyStore=${tip_wlan_service_certs}/client_keystore.jks&#10;-Djavax.net.ssl.keyStorePassword=mypassword&#10;-Djavax.net.ssl.trustStore=${tip_wlan_service_certs}/truststore.jks&#10;-Djavax.net.ssl.trustStorePassword=mypassword&#10;&#10;-Dtip.wlan.ovsdb.managerAddr=${local_server_address}&#10;-Dtip.wlan.ovsdb.listenPort=6640&#10;-Dtip.wlan.ovsdb.redirector.listenPort=6643&#10;-Dtip.wlan.ovsdb.timeoutSec=30&#10;-Dtip.wlan.ovsdb.trustStore=${tip_wlan_service_certs}/truststore.jks&#10;-Dtip.wlan.ovsdb.keyStore=${tip_wlan_service_certs}/server.pkcs12&#10;-Dtip.wlan.mqttBroker.address.internal=${mqtt_broker_address}&#10;-Dtip.wlan.mqttBroker.address.external=${mqtt_broker_address}&#10;-Dtip.wlan.mqttBroker.listenPort=1883&#10;-Dtip.wlan.introspectTokenApi.host=${local_server_address}:9096&#10;-Dtip.wlan.introspectTokenApi.clientToken=token_placeholder&#10;-Dtip.wlan.ovsdb.autoProvisionedCustomerId=2&#10;-Dtip.wlan.ovsdb.autoProvisionedSsid=TipWlan-cloud&#10;-Dtip.wlan.preventClientCnAlteration=false&#10;-Dserver.port=9096&#10;-Dtip.wlan.secondaryPort=7071&#10;-Dspring.profiles.include=opensync_cloud_config,mqtt_receiver,ovsdb_redirector,ovsdb_manager"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="--add-opens java.base/java.lang=ALL-UNNAMED&#10;&#10;-Dssl.props=file://${project_loc:opensync-gateway-cloud-process}/src/main/resources/app/certs/ssl.properties&#10;-Dtip.wlan.httpClientConfig=file://${project_loc:opensync-gateway-cloud-process}/src/main/resources/app/certs/httpClientConfig.json&#10;&#10;-Djavax.net.ssl.keyStore=${connectus_certs}/client_keystore.jks&#10;-Djavax.net.ssl.keyStorePassword=mypassword&#10;-Djavax.net.ssl.trustStore=${connectus_certs}/truststore.jks&#10;-Djavax.net.ssl.trustStorePassword=mypassword&#10;&#10;-Dconnectus.ovsdb.managerAddr=${local_server_address}&#10;-Dconnectus.ovsdb.listenPort=6640&#10;-Dconnectus.ovsdb.redirector.listenPort=6643&#10;-Dconnectus.ovsdb.timeoutSec=30&#10;-Dconnectus.ovsdb.trustStore=${connectus_certs}/truststore.jks&#10;-Dconnectus.ovsdb.keyStore=${connectus_certs}/server.pkcs12&#10;&#10;-Dconnectus.mqttBroker.address=${local_server_address}&#10;-Dconnectus.mqttBroker.listenPort=1883&#10;-Dconnectus.ovsdb.wifi-iface.default_bridge=br-lan&#10;-Dtip.wlan.introspectTokenApi.host=${local_server_address}:9096&#10;-Dtip.wlan.introspectTokenApi.clientToken=token_placeholder&#10;-Dtip.wlan.serviceUser=user&#10;-Dtip.wlan.servicePassword=password&#10;-Dconnectus.ovsdb.autoProvisionedCustomerId=2&#10;-Dconnectus.ovsdb.autoProvisionedSsid=Connectus-cloud&#10;-Dspring.main.show-banner=false&#10;-Dserver.port=9096&#10;-Dtip.wlan.secondaryPort=7071&#10;-Dtip.wlan.csrf-enabled=false&#10;-Dspring.profiles.include=opensync_cloud_config,mqtt_receiver,ovsdb_redirector,ovsdb_manager"/>
</launchConfiguration>

View File

@@ -60,6 +60,7 @@
<logger name ="com.telecominfraproject.wlan.core.server.webconfig.WebMvcRegistrationsConfiguration$1$1" level="INFO"/>
<logger name="com.telecominfraproject.wlan" level="DEBUG"/>
<logger name="ai.connectus" level="DEBUG"/>
<logger name="com.vmware.ovsdb.service.OvsdbConnectionInfo" level="OFF"/>
<logger name="com.vmware.ovsdb.netty.OvsdbConnectionHandler" level="ERROR"/>

View File

@@ -14,8 +14,6 @@
<properties>
<docker.fabric.version>0.28.0</docker.fabric.version>
<docker.push.registry>tip-tip-wlan-cloud-docker-repo.jfrog.io</docker.push.registry>
<timestamp>${maven.build.timestamp}</timestamp>
<maven.build.timestamp.format>yyyy-MM-dd</maven.build.timestamp.format>
</properties>
<dependencies>
@@ -34,15 +32,12 @@
<artifactId>docker-maven-plugin</artifactId>
<version>${docker.fabric.version}</version>
<configuration>
<verbose>false</verbose>
<verbose>true</verbose>
<apiVersion>1.23</apiVersion>
<images>
<image>
<name>opensync-gateway-static:${project.version}</name>
<build>
<tags>
<tag>${project.version}-${timestamp}</tag>
</tags>
<filter>@</filter>
<cleanup>try</cleanup>
<dockerFileDir>${project.basedir}/src/main/docker</dockerFileDir>
@@ -65,9 +60,6 @@
<image>
<name>opensync-gateway-and-mqtt:${project.version}</name>
<build>
<tags>
<tag>${project.version}-${timestamp}</tag>
</tags>
<filter>@</filter>
<cleanup>try</cleanup>
<dockerFileDir>${project.basedir}/src/main/docker-opensync-gateway-and-mqtt</dockerFileDir>

View File

@@ -1,6 +1,6 @@
FROM adoptopenjdk/openjdk13:alpine-jre
LABEL maintainer="TipWlan"
LABEL maintainer="ConnectUs.ai as part of the Telecom Infrastructure Project"
LABEL version="1.0"
LABEL description="This image runs the mqtt broker (mosquitto) and \
a statically configured OpenSync gateway."
@@ -26,14 +26,6 @@ COPY app/opensync/EquipmentExample.json /app/opensync/EquipmentExample.json
COPY app/opensync/ProfileAPExample.json /app/opensync/ProfileAPExample.json
COPY app/opensync/ProfileSsid.json /app/opensync/ProfileSsid.json
COPY app/opensync/LocationBuildingExample.json /app/opensync/LocationBuildingExample.json
COPY app/opensync/ProfileMetrics.json /app/opensync/ProfileMetrics.json
COPY app/opensync/ProfileRf.json /app/opensync/ProfileRf.json
COPY app/opensync/ProfileHotspot20.json /app/opensync/ProfileHotspot20.json
COPY app/opensync/ProfileOperator.json /app/opensync/ProfileOperator.json
COPY app/opensync/ProfileVenue.json /app/opensync/ProfileVenue.json
COPY app/opensync/ProfileIdProvider.json /app/opensync/ProfileIdProvider.json
COPY app/opensync/ProfileBonjour.json /app/opensync/ProfileBonjour.json
COPY app/commit.properties /app
VOLUME ["/app/logs", "/app/config"]

View File

@@ -1,4 +0,0 @@
#This is a dummy property file to be used when running docker locally
date=${date}
commitId=${commit.id}
projectVersion=${project.version}

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,29 +0,0 @@
[
{
"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,135 +0,0 @@
[
{
"model_type": "Profile",
"id": 14,
"customerId": 2,
"profileType": "captive_portal",
"name": "Captive-portal",
"details": {
"model_type": "CaptivePortalConfiguration",
"name": "Captive-portal",
"browserTitle": "Access the network as Guest",
"headerContent": "Captive Portal",
"userAcceptancePolicy": "Use this network at your own risk. No warranty of any kind.",
"successPageMarkdownText": "Welcome to the network",
"redirectURL": "",
"externalCaptivePortalURL": null,
"sessionTimeoutInMinutes": 60,
"logoFile": null,
"backgroundFile": null,
"walledGardenAllowlist": [],
"usernamePasswordFile": {
"model_type": "ManagedFileInfo",
"md5checksum": null,
"lastModifiedTimestamp": null,
"apExportUrl": "userList",
"fileCategory": "UsernamePasswordList",
"fileType": "TEXT",
"altSlot": true
},
"authenticationType": "guest",
"radiusAuthMethod": "CHAP",
"maxUsersWithSameCredentials": 42,
"externalPolicyFile": null,
"backgroundPosition": "left_top",
"backgroundRepeat": "no_repeat",
"radiusServiceName": null,
"expiryType": "unlimited",
"userList": [
{
"model_type": "TimedAccessUserRecord",
"username": "customer",
"password": "testing123",
"activationTime": 1602183994956,
"expirationTime": 1602212794956,
"numDevices": 1,
"userDetails": {
"model_type": "TimedAccessUserDetails",
"firstName": "Pac",
"lastName": "Man",
"passwordNeedsReset": false
},
"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": 1602183994959,
"lastModifiedTimestamp": 1602183994959,
"childProfileIds": []
}
]

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,34 +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": []
}
{
"model_type": "Profile",
"id": 1,
"customerId": 2,
"profileType": "radius",
"name": "RadiusProfileOttawa",
"details": {
"model_type": "RadiusProfile",
"subnetConfiguration": null,
"serviceRegionMap": {
"Ottawa": {
"model_type": "RadiusServiceRegion",
"serverMap": {
"RadiusProfileOttawa": [
{
"model_type": "RadiusServer",
"ipAddress": "localhost",
"secret": "testing123",
"authPort": 1812,
"timeout": null
}
]
},
"regionName": "Ottawa"
}
},
"profileType": "radius"
},
"createdTimestamp": 1591653174195,
"lastModifiedTimestamp": 1591653174195,
"childProfileIds": []
}
]

View File

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

View File

@@ -1,134 +1,184 @@
[
{
"model_type": "Profile",
"id": 15,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-hotspot-access",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-hotspot-access",
"appliedRadios": [
"is5GHzL",
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
"vlanId": 1,
"keyStr": "testing123",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"radiusAccountingServiceName": 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": 1605711164949,
"lastModifiedTimestamp": 1605711223372,
"childProfileIds": [
24
]
},
{
"model_type": "Profile",
"id": 16,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-hotspot-osu",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-hotspot-osu",
"appliedRadios": [
"is2dot4GHz"
],
"ssidAdminState": "enabled",
"secureMode": "open",
"vlanId": 1,
"keyStr": null,
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"radiusAccountingServiceName": 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": 1605711164950,
"lastModifiedTimestamp": 1605711171732,
"childProfileIds": [
19,
20
]
}
{
"model_type": "Profile",
"id": 6,
"customerId": 2,
"profileType": "ssid",
"name": "DefaultSsid-2g",
"details": {
"model_type": "SsidConfiguration",
"ssid": "Default-SSID-2g",
"appliedRadios": [
"is2dot4GHz"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
"vlanId": 1,
"keyStr": "12345678",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 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": 1591653239983,
"lastModifiedTimestamp": 1591653239983,
"childProfileIds": []
},
{
"model_type": "Profile",
"id": 7,
"customerId": 2,
"profileType": "ssid",
"name": "DefaultSsid-5gl",
"details": {
"model_type": "SsidConfiguration",
"ssid": "Default-SSID-5gl",
"appliedRadios": [
"is5GHzL"
],
"ssidAdminState": "enabled",
"secureMode": "wpaEAP",
"vlanId": 1,
"keyStr": "12345678",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": "RadiusProfileOttawa",
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 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": 1591653240017,
"lastModifiedTimestamp": 1591654215374,
"childProfileIds": [
1
]
},
{
"model_type": "Profile",
"id": 8,
"customerId": 2,
"profileType": "ssid",
"name": "DefaultSsid-5gu",
"details": {
"model_type": "SsidConfiguration",
"ssid": "Default-SSID-5gu",
"appliedRadios": [
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
"vlanId": 1,
"keyStr": "12345678",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 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": 1591654301763,
"lastModifiedTimestamp": 1591654301763,
"childProfileIds": []
}
]

View File

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

View File

@@ -64,6 +64,7 @@
<logger name="org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer" level="INFO"/>
<logger name="com.telecominfraproject.wlan" level="INFO"/>
<logger name="ai.connectus" level="INFO"/>
<logger name="com.netflix.servo.tag.aws.AwsInjectableTag" level="OFF"/>
<logger name="com.vmware.ovsdb.service.OvsdbConnectionInfo" level="OFF"/>
<logger name="com.vmware.ovsdb.netty.OvsdbConnectionHandler" level="ERROR"/>

View File

@@ -1,20 +1,20 @@
#!/bin/sh
# Prepare the hosts file - do it only if does not have required entries
n1=`grep opensync-mqtt-broker.zone1.lab.wlan.tip.build /etc/hosts | wc -l`
n1=`grep opensync-mqtt-broker /etc/hosts | wc -l`
if [[ $n1 -eq 0 ]]
then
echo Adding opensync-mqtt-broker.zone1.lab.wlan.tip.build to /etc/hosts
echo "127.0.0.1 opensync-mqtt-broker.zone1.lab.wlan.tip.build" >> /etc/hosts
echo Adding opensync-mqtt-broker to /etc/hosts
echo "127.0.0.1 opensync-mqtt-broker" >> /etc/hosts
fi
n2=`grep opensync-controller.zone1.lab.wlan.tip.build /etc/hosts | wc -l`
n2=`grep opensync-wifi-controller /etc/hosts | wc -l`
if [[ $n2 -eq 0 ]]
then
echo Adding opensync-controller.zone1.lab.wlan.tip.build to /etc/hosts
echo "127.0.0.1 opensync-controller.zone1.lab.wlan.tip.build" >> /etc/hosts
echo Adding opensync-wifi-controller to /etc/hosts
echo "127.0.0.1 opensync-wifi-controller" >> /etc/hosts
fi
@@ -33,36 +33,24 @@ OVSDB_SERVER_TRUSTSTORE_FILE="${OVSDB_SERVER_TRUSTSTORE_FILE:=/opt/tip-wlan/cert
OVSDB_SERVER_TRUSTSTORE_PASSWORD="${OVSDB_SERVER_TRUSTSTORE_PASSWORD:=mypassword}"
OVSDB_EQUIPMENT_CONFIG_FILE="${OVSDB_EQUIPMENT_CONFIG_FILE:=/app/opensync/EquipmentExample.json}"
OVSDB_APPROFILE_CONFIG_FILE="${OVSDB_AP_PROFILE_CONFIG_FILE:=/app/opensync/ProfileAPExample.json}"
OVSDB_METRICSPROFILE_CONFIG_FILE="${OVSDB_METRICSPROFILE_CONFIG_FILE:=/app/opensync/ProfileMetrics.json}"
OVSDB_HOTSPOT20SPROFILE_CONFIG_FILE="${OVSDB_HOTSPOT20PROFILE_CONFIG_FILE:=/app/opensync/ProfileHotspot20.json}"
OVSDB_OPERATORPROFILE_CONFIG_FILE="${OVSDB_OPERATORPROFILE_CONFIG_FILE:=/app/opensync/ProfileOperator.json}"
OVSDB_BONJOURPROFILE_CONFIG_FILE="${OVSDB_BONJOURPROFILE_CONFIG_FILE:=/app/opensync/ProfileBonjour.json}"
OVSDB_VENUEPROFILE_CONFIG_FILE="${OVSDB_VENUEPROFILE_CONFIG_FILE:=/app/opensync/ProfileVenue.json}"
OVSDB_IDPROVIDERPROFILE_CONFIG_FILE="${OVSDB_IDPROVIDERPROFILE_CONFIG_FILE:=/app/opensync/ProfileIdProvider.json}"
OVSDB_RFPROFILE_CONFIG_FILE="${OVSDB_RF_PROFILE_CONFIG_FILE:=/app/opensync/ProfileRf.json}"
OVSDB_SSIDPROFILE_CONFIG_FILE="${OVSDB_SSIDPROFILE_CONFIG_FILE:=/app/opensync/ProfileSsid.json}"
OVSDB_LOCATION_CONFIG_FILE="${OVSDB_LOCATION_CONFIG_FILE:=/app/opensync/LocationBuildingExample.json}"
OVSDB_RADIUSPROFILE_CONFIG_FILE="${OVSDB_RADIUSPROFILE_CONFIG_FILE:=/app/opensync/ProfileRadius.json}"
OVSDB_CAPTIVEPROFILE_CONFIG_FILE="${OVSDB_CAPTIVEPROFILE_CONFIG_FILE:=/app/opensync/ProfileCaptive.json}"
OVSDB_IF_DEFAULT_BRIDGE="${OVSDB_IF_DEFAULT_BRIDGE:=lan}"
OVSDB_IF_DEFAULT_BRIDGE="${OVSDB_IF_DEFAULT_BRIDGE:=br-home}"
echo $OVSDB_IF_DEFAULT_BRIDGE
OVSDB_IF_DEFAULT_RADIO_0="${OVSDB_IF_DEFAULT_RADIO_0:=wlan0}"
OVSDB_IF_DEFAULT_RADIO_0="${OVSDB_IF_DEFAULT_RADIO_0:=home-ap-u50}"
echo $OVSDB_IF_DEFAULT_RADIO_0
OVSDB_IF_DEFAULT_RADIO_1="${OVSDB_IF_DEFAULT_RADIO_1:=wlan1}"
OVSDB_IF_DEFAULT_RADIO_1="${OVSDB_IF_DEFAULT_RADIO_1:=home-ap-24}"
echo $OVSDB_IF_DEFAULT_RADIO_1
OVSDB_IF_DEFAULT_RADIO_2="${OVSDB_IF_DEFAULT_RADIO_2:=wlan2}"
OVSDB_IF_DEFAULT_RADIO_2="${OVSDB_IF_DEFAULT_RADIO_2:=home-ap-l50}"
echo $OVSDB_IF_DEFAULT_RADIO_2
OVSDB_DEVICE_DEFAULT_WAN_TYPE="${OVSDB_DEVICE_DEFAULT_WAN_TYPE:=bridge}"
echo $OVSDB_DEVICE_DEFAULT_WAN_TYPE
OVSDB_DEVICE_DEFAULT_WAN_NAME="${OVSDB_DEVICE_DEFAULT_WAN_NAME:=wan}"
echo $OVSDB_DEVICE_DEFAULT_WAN_NAME
OVSDB_DEVICE_DEFAULT_LAN_TYPE="${OVSDB_DEVICE_DEFAULT_LAN_TYPE:=bridge}"
echo $OVSDB_DEVICE_DEFAULT_LAN_TYPE
OVSDB_DEVICE_DEFAULT_LAN_NAME="${OVSDB_DEVICE_DEFAULT_LAN_NAME:=lan}"
echo $OVSDB_DEVICE_DEFAULT_LAN_NAME
OVSDB_PREVENT_CLIENTCN_ALTERATION="${OVSDB_PREVENT_CLIENTCN_ALTERATION:=false}"
echo $OVSDB_PREVENT_CLIENTCN_ALTERATION
OVSDB_DEVICE_RADIO_0="${OVSDB_DEVICE_RADIO_0:=wifi2}"
echo $OVSDB_DEVICE_RADIO_0
OVSDB_DEVICE_RADIO_1="${OVSDB_DEVICE_RADIO_1:=wifi0}"
echo $OVSDB_DEVICE_RADIO_1
OVSDB_DEVICE_RADIO_2="${OVSDB_DEVICE_RADIO_2:=wifi1}"
echo $OVSDB_DEVICE_RADIO_2
echo Reading AP configuration from $OVSDB_CONFIG_FILE
@@ -71,9 +59,8 @@ EXT_CLIENT_KEYSTORE_FILE="${EXT_CLIENT_KEYSTORE_FILE:=/opt/tip-wlan/certs/client
EXT_TRUSTSTORE_FILE="${EXT_TRUSTSTORE_FILE:=/opt/tip-wlan/certs/truststore.jks}"
EXT_TRUSTSTORE_PASSWORD="${EXT_TRUSTSTORE_PASSWORD:=mypassword}"
MQTT_BROKER_HOST_INTERNAL="${MQTT_BROKER_HOST_INTERNAL:=opensync-mqtt-broker.zone1.lab.wlan.tip.build}"
MQTT_BROKER_HOST_EXTERNAL="${MQTT_BROKER_HOST_EXTERNAL:=opensync-mqtt-broker.zone1.lab.wlan.tip.build}"
OVSDB_MANAGER_HOST="${OVSDB_MANAGER_HOST:=opensync-controller.zone1.lab.wlan.tip.build}"
MQTT_BROKER_HOST="${MQTT_BROKER_HOST:=opensync-mqtt-broker}"
OVSDB_MANAGER_HOST="${OVSDB_MANAGER_HOST:=opensync-wifi-controller}"
LOGBACK_CONFIG_FILE="${LOGBACK_CONFIG_FILE:=/app/opensync/logback.xml}"
@@ -128,44 +115,33 @@ CLIENT_MQTT_SSL_PROPS="$CLIENT_MQTT_SSL_PROPS -Djavax.net.ssl.trustStore=$MQTT_T
CLIENT_MQTT_SSL_PROPS="$CLIENT_MQTT_SSL_PROPS -Djavax.net.ssl.trustStorePassword=$MQTT_TRUSTSTORE_PASSWORD"
OVSDB_PROPS=" "
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.managerAddr=$OVSDB_MANAGER_HOST"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.listenPort=6640 "
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.redirector.listenPort=6643"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.timeoutSec=30"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.trustStore=$OVSDB_SERVER_TRUSTSTORE_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.trustStorePassword=$OVSDB_SERVER_TRUSTSTORE_PASSWORD"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.keyStore=$OVSDB_SERVER_KEYSTORE_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.keyStorePassword=$OVSDB_SERVER_KEYSTORE_PASSWORD"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.customerEquipmentFileName=$OVSDB_EQUIPMENT_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.apProfileFileName=$OVSDB_APPROFILE_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.metricsProfileFileName=$OVSDB_METRICSPROFILE_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.hotspot20ProfileFileName=$OVSDB_HOTSPOT20PROFILE_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.operatorProfileFileName=$OVSDB_OPERATORPROFILE_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.venueProfileFileName=$OVSDB_VENUEPROFILE_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.idProviderProfileFileName=$OVSDB_IDPROVIDERPROFILE_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.rfProfileFileName=$OVSDB_RFPROFILE_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.preventClientCnAlteration=$OVSDB_PREVENT_CLIENTCN_ALTERATION"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.ssidProfileFileName=$OVSDB_SSIDPROFILE_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.radiusProfileFileName=$OVSDB_RADIUSPROFILE_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.locationFileName=$OVSDB_LOCATION_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.captiveProfileFileName=$OVSDB_CAPTIVEPROFILE_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.bonjourProfileFileName=$OVSDB_BONJOURPROFILE_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_bridge=$OVSDB_IF_DEFAULT_BRIDGE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_wan_type=$OVSDB_DEVICE_DEFAULT_WAN_TYPE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_wan_name=$OVSDB_DEVICE_DEFAULT_WAN_NAME"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_lan_type=$OVSDB_DEVICE_DEFAULT_LAN_TYPE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_lan_name=$OVSDB_DEVICE_DEFAULT_LAN_NAME"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_radio0=$OVSDB_IF_DEFAULT_RADIO_0"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_radio1=$OVSDB_IF_DEFAULT_RADIO_1"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.wifi-iface.default_radio2=$OVSDB_IF_DEFAULT_RADIO_2"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.managerAddr=$OVSDB_MANAGER_HOST"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.listenPort=6640 "
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.redirector.listenPort=6643"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.timeoutSec=30"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.trustStore=$OVSDB_SERVER_TRUSTSTORE_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.trustStorePassword=$OVSDB_SERVER_TRUSTSTORE_PASSWORD"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.keyStore=$OVSDB_SERVER_KEYSTORE_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.keyStorePassword=$OVSDB_SERVER_KEYSTORE_PASSWORD"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.customerEquipmentFileName=$OVSDB_EQUIPMENT_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.apProfileFileName=$OVSDB_APPROFILE_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.ssidProfileFileName=$OVSDB_SSIDPROFILE_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.radiusProfileFileName=$OVSDB_RADIUSPROFILE_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.locationFileName=$OVSDB_LOCATION_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.wifi-iface.default_bridge=$OVSDB_IF_DEFAULT_BRIDGE"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.wifi-iface.default_radio0=$OVSDB_IF_DEFAULT_RADIO_0"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.wifi-iface.default_radio1=$OVSDB_IF_DEFAULT_RADIO_1"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.wifi-iface.default_radio2=$OVSDB_IF_DEFAULT_RADIO_2"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.wifi-device.radio0=$OVSDB_DEVICE_RADIO_0"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.wifi-device.radio1=$OVSDB_DEVICE_RADIO_1"
OVSDB_PROPS="$OVSDB_PROPS -Dconnectus.ovsdb.wifi-device.radio2=$OVSDB_DEVICE_RADIO_2"
echo OVSDB_PROPS $OVSDB_PROPS
MQTT_PROPS=" "
MQTT_PROPS="$MQTT_PROPS -Dtip.wlan.mqttBroker.address.internal=$MQTT_BROKER_HOST_INTERNAL"
MQTT_PROPS="$MQTT_PROPS -Dtip.wlan.mqttBroker.address.external=$MQTT_BROKER_HOST_EXTERNAL"
MQTT_PROPS="$MQTT_PROPS -Dtip.wlan.mqttBroker.listenPort=1883"
MQTT_PROPS="$MQTT_PROPS -Dconnectus.mqttBroker.address=$MQTT_BROKER_HOST"
MQTT_PROPS="$MQTT_PROPS -Dconnectus.mqttBroker.listenPort=1883"
LOGGING_PROPS=" -Dlogging.config=file:$LOGBACK_CONFIG_FILE"

View File

@@ -1,5 +1,5 @@
FROM adoptopenjdk/openjdk13:alpine-jre
MAINTAINER TipWlan
MAINTAINER ConnectUs
# Update the package list and upgrade installed packages
RUN apk update && apk upgrade && apk add bash
@@ -13,15 +13,7 @@ COPY app/opensync/EquipmentExample.json /app/opensync/EquipmentExample.json
COPY app/opensync/ProfileAPExample.json /app/opensync/ProfileAPExample.json
COPY app/opensync/ProfileSsid.json /app/opensync/ProfileSsid.json
COPY app/opensync/LocationBuildingExample.json /app/opensync/LocationBuildingExample.json
COPY app/opensync/ProfileMetrics.json /app/opensync/ProfileMetrics.json
COPY app/opensync/ProfileRf.json /app/opensync/ProfileRf.json
COPY app/opensync/ProfileHotspot20.json /app/opensync/ProfileHotspot20.json
COPY app/opensync/ProfileOperator.json /app/opensync/ProfileOperator.json
COPY app/opensync/ProfileVenue.json /app/opensync/ProfileVenue.json
COPY app/opensync/ProfileIdProvider.json /app/opensync/ProfileIdProvider.json
COPY app/opensync/ProfileBonjour.json /app/opensync/ProfileBonjour.json
COPY app/commit.properties /app
RUN chmod +x /app/run.sh
WORKDIR /app

View File

@@ -1,4 +0,0 @@
#This is a dummy property file to be used when running docker locally
date=${date}
commitId=${commit.id}
projectVersion=${project.version}

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,29 +0,0 @@
[
{
"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,135 +0,0 @@
[
{
"model_type": "Profile",
"id": 14,
"customerId": 2,
"profileType": "captive_portal",
"name": "Captive-portal",
"details": {
"model_type": "CaptivePortalConfiguration",
"name": "Captive-portal",
"browserTitle": "Access the network as Guest",
"headerContent": "Captive Portal",
"userAcceptancePolicy": "Use this network at your own risk. No warranty of any kind.",
"successPageMarkdownText": "Welcome to the network",
"redirectURL": "",
"externalCaptivePortalURL": null,
"sessionTimeoutInMinutes": 60,
"logoFile": null,
"backgroundFile": null,
"walledGardenAllowlist": [],
"usernamePasswordFile": {
"model_type": "ManagedFileInfo",
"md5checksum": null,
"lastModifiedTimestamp": null,
"apExportUrl": "userList",
"fileCategory": "UsernamePasswordList",
"fileType": "TEXT",
"altSlot": true
},
"authenticationType": "guest",
"radiusAuthMethod": "CHAP",
"maxUsersWithSameCredentials": 42,
"externalPolicyFile": null,
"backgroundPosition": "left_top",
"backgroundRepeat": "no_repeat",
"radiusServiceName": null,
"expiryType": "unlimited",
"userList": [
{
"model_type": "TimedAccessUserRecord",
"username": "customer",
"password": "testing123",
"activationTime": 1602183994956,
"expirationTime": 1602212794956,
"numDevices": 1,
"userDetails": {
"model_type": "TimedAccessUserDetails",
"firstName": "Pac",
"lastName": "Man",
"passwordNeedsReset": false
},
"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": 1602183994959,
"lastModifiedTimestamp": 1602183994959,
"childProfileIds": []
}
]

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,34 +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": []
}
{
"model_type": "Profile",
"id": 1,
"customerId": 2,
"profileType": "radius",
"name": "RadiusProfileOttawa",
"details": {
"model_type": "RadiusProfile",
"subnetConfiguration": null,
"serviceRegionMap": {
"Ottawa": {
"model_type": "RadiusServiceRegion",
"serverMap": {
"RadiusProfileOttawa": [
{
"model_type": "RadiusServer",
"ipAddress": "localhost",
"secret": "testing123",
"authPort": 1812,
"timeout": null
}
]
},
"regionName": "Ottawa"
}
},
"profileType": "radius"
},
"createdTimestamp": 1591653174195,
"lastModifiedTimestamp": 1591653174195,
"childProfileIds": []
}
]

View File

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

View File

@@ -1,134 +1,184 @@
[
{
"model_type": "Profile",
"id": 15,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-hotspot-access",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-hotspot-access",
"appliedRadios": [
"is5GHzL",
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
"vlanId": 1,
"keyStr": "testing123",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"radiusAccountingServiceName": 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": 1605711164949,
"lastModifiedTimestamp": 1605711223372,
"childProfileIds": [
24
]
},
{
"model_type": "Profile",
"id": 16,
"customerId": 2,
"profileType": "ssid",
"name": "TipWlan-cloud-hotspot-osu",
"details": {
"model_type": "SsidConfiguration",
"ssid": "TipWlan-cloud-hotspot-osu",
"appliedRadios": [
"is2dot4GHz"
],
"ssidAdminState": "enabled",
"secureMode": "open",
"vlanId": 1,
"keyStr": null,
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"radiusAccountingServiceName": 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": 1605711164950,
"lastModifiedTimestamp": 1605711171732,
"childProfileIds": [
19,
20
]
}
{
"model_type": "Profile",
"id": 6,
"customerId": 2,
"profileType": "ssid",
"name": "DefaultSsid-2g",
"details": {
"model_type": "SsidConfiguration",
"ssid": "Default-SSID-2g",
"appliedRadios": [
"is2dot4GHz"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
"vlanId": 1,
"keyStr": "12345678",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 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": 1591653239983,
"lastModifiedTimestamp": 1591653239983,
"childProfileIds": []
},
{
"model_type": "Profile",
"id": 7,
"customerId": 2,
"profileType": "ssid",
"name": "DefaultSsid-5gl",
"details": {
"model_type": "SsidConfiguration",
"ssid": "Default-SSID-5gl",
"appliedRadios": [
"is5GHzL"
],
"ssidAdminState": "enabled",
"secureMode": "wpaEAP",
"vlanId": 1,
"keyStr": "12345678",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": "RadiusProfileOttawa",
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 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": 1591653240017,
"lastModifiedTimestamp": 1591654215374,
"childProfileIds": [
1
]
},
{
"model_type": "Profile",
"id": 8,
"customerId": 2,
"profileType": "ssid",
"name": "DefaultSsid-5gu",
"details": {
"model_type": "SsidConfiguration",
"ssid": "Default-SSID-5gu",
"appliedRadios": [
"is5GHzU"
],
"ssidAdminState": "enabled",
"secureMode": "wpa2PSK",
"vlanId": 1,
"keyStr": "12345678",
"broadcastSsid": "enabled",
"keyRefresh": 0,
"noLocalSubnets": false,
"radiusServiceName": null,
"captivePortalId": null,
"bandwidthLimitDown": 0,
"bandwidthLimitUp": 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": 1591654301763,
"lastModifiedTimestamp": 1591654301763,
"childProfileIds": []
}
]

View File

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

View File

@@ -57,6 +57,7 @@
<logger name="org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer" level="INFO"/>
<logger name="com.telecominfraproject.wlan" level="DEBUG"/>
<logger name="ai.connectus" level="DEBUG"/>
<logger name="com.netflix.servo.tag.aws.AwsInjectableTag" level="OFF"/>
<logger name="com.vmware.ovsdb.service.OvsdbConnectionInfo" level="OFF"/>
<logger name="com.vmware.ovsdb.netty.OvsdbConnectionHandler" level="ERROR"/>

View File

@@ -10,44 +10,33 @@ CLIENT_MQTT_SSL_PROPS+=" -Djavax.net.ssl.keyStore=/opt/tip-wlan/certs/client_key
CLIENT_MQTT_SSL_PROPS+=" -Djavax.net.ssl.keyStorePassword=mypassword"
CLIENT_MQTT_SSL_PROPS+=" -Djavax.net.ssl.trustStore=/opt/tip-wlan/certs/truststore.jks"
CLIENT_MQTT_SSL_PROPS+=" -Djavax.net.ssl.trustStorePassword=mypassword"
CLIENT_MQTT_SSL_PROPS+=" -Dtip.wlan.mqttBroker.password=admin"
CLIENT_MQTT_SSL_PROPS+=" -Dconnectus.mqttBroker.password=admin"
OVSDB_PROPS=" "
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.managerAddr=opensync-controller"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.listenPort=6640 "
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.redirector.listenPort=6643"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.timeoutSec=30"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.trustStore=/opt/tip-wlan/certs/truststore.jks"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.keyStore=/opt/tip-wlan/certs/server.pkcs12"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.customerEquipmentFileName=$OVSDB_EQUIPMENT_CONFIG_FILE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.apProfileFileName=$OVSDB_APPROFILE_CONFIG_FILE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.metricsProfileFileName=$OVSDB_METRICSPROFILE_CONFIG_FILE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.hotspot20ProfileFileName=$OVSDB_HOTSPOT20PROFILE_CONFIG_FILE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.operatorProfileFileName=$OVSDB_OPERATORPROFILE_CONFIG_FILE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.venueProfileFileName=$OVSDB_VENUEPROFILE_CONFIG_FILE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.idProviderProfileFileName=$OVSDB_IDPROVIDERPROFILE_CONFIG_FILE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.rfProfileFileName=$OVSDB_RFPROFILE_CONFIG_FILE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.ssidProfileFileName=$OVSDB_SSIDPROFILE_CONFIG_FILE"
OVSDB_PROPS+=" -Dtip.wlan.preventClientCnAlteration=$OVSDB_PREVENT_CLIENTCN_ALTERATION"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.radiusProfileFileName=$OVSDB_RADIUSPROFILE_CONFIG_FILE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.captiveProfileFileName=$OVSDB_CAPTIVEPROFILE_CONFIG_FILE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.bonjourProfileFileName=$OVSDB_BONJOURPROFILE_CONFIG_FILE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.locationFileName=$OVSDB_LOCATION_CONFIG_FILE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_bridge=$OVSDB_IF_DEFAULT_BRIDGE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_wan_type=$OVSDB_DEVICE_DEFAULT_WAN_TYPE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_wan_name=$OVSDB_DEVICE_DEFAULT_WAN_NAME"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_lan_type=$OVSDB_DEVICE_DEFAULT_LAN_TYPE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_lan_name=$OVSDB_DEVICE_DEFAULT_LAN_NAME"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_radio0=$OVSDB_IF_DEFAULT_RADIO_0"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_radio1=$OVSDB_IF_DEFAULT_RADIO_1"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_radio2=$OVSDB_IF_DEFAULT_RADIO_2"
OVSDB_PROPS+=" -Dconnectus.ovsdb.managerAddr=opensync-controller"
OVSDB_PROPS+=" -Dconnectus.ovsdb.listenPort=6640 "
OVSDB_PROPS+=" -Dconnectus.ovsdb.redirector.listenPort=6643"
OVSDB_PROPS+=" -Dconnectus.ovsdb.timeoutSec=30"
OVSDB_PROPS+=" -Dconnectus.ovsdb.trustStore=/opt/tip-wlan/certs/truststore.jks"
OVSDB_PROPS+=" -Dconnectus.ovsdb.keyStore=/opt/tip-wlan/certs/server.pkcs12"
OVSDB_PROPS+=" -Dconnectus.ovsdb.customerEquipmentFileName=$OVSDB_EQUIPMENT_CONFIG_FILE"
OVSDB_PROPS+=" -Dconnectus.ovsdb.apProfileFileName=$OVSDB_APPROFILE_CONFIG_FILE"
OVSDB_PROPS+=" -Dconnectus.ovsdb.ssidProfileFileName=$OVSDB_SSIDPROFILE_CONFIG_FILE"
OVSDB_PROPS+=" -Dconnectus.ovsdb.radiusProfileFileName=$OVSDB_RADIUSPROFILE_CONFIG_FILE"
OVSDB_PROPS+=" -Dconnectus.ovsdb.locationFileName=$OVSDB_LOCATION_CONFIG_FILE"
OVSDB_PROPS+=" -Dconnectus.ovsdb.wifi-iface.default_bridge=$OVSDB_IF_DEFAULT_BRIDGE"
OVSDB_PROPS+=" -Dconnectus.ovsdb.wifi-iface.default_radio0=$OVSDB_IF_DEFAULT_RADIO_0"
OVSDB_PROPS+=" -Dconnectus.ovsdb.wifi-iface.default_radio1=$OVSDB_IF_DEFAULT_RADIO_1"
OVSDB_PROPS+=" -Dconnectus.ovsdb.wifi-iface.default_radio2=$OVSDB_IF_DEFAULT_RADIO_2"
OVSDB_PROPS+=" -Dconnectus.ovsdb.wifi-device.radio0=$OVSDB_DEVICE_RADIO_0"
OVSDB_PROPS+=" -Dconnectus.ovsdb.wifi-device.radio1=$OVSDB_DEVICE_RADIO_1"
OVSDB_PROPS+=" -Dconnectus.ovsdb.wifi-device.radio2=$OVSDB_DEVICE_RADIO_2"
echo OVSDB_PROPS $OVSDB_PROPS
MQTT_PROPS=" "
MQTT_PROPS+=" -Dtip.wlan.mqttBroker.address.internal=tip-wlan-opensync-mqtt-broker-internal"
MQTT_PROPS+=" -Dtip.wlan.mqttBroker.address.external=tip-wlan-opensync-mqtt-broker-external"
MQTT_PROPS+=" -Dtip.wlan.mqttBroker.listenPort=1883"
MQTT_PROPS+=" -Dconnectus.mqttBroker.address=tip-wlan-opensync-mqtt-broker"
MQTT_PROPS+=" -Dconnectus.mqttBroker.listenPort=1883"
LOGGING_PROPS=" -Dlogging.config=file:/app/opensync/logback.xml"

View File

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

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