mirror of
https://github.com/Telecominfraproject/wlan-cloud-opensync-controller.git
synced 2025-11-01 11:07:49 +00:00
Compare commits
283 Commits
WIFI-797-R
...
change_ses
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
49d59dcd15 | ||
|
|
711fea3407 | ||
|
|
e5e7ac7e8b | ||
|
|
6264a8c490 | ||
|
|
1070708b44 | ||
|
|
80845aa800 | ||
|
|
7a646fd459 | ||
|
|
905f37cc68 | ||
|
|
1a58b3af01 | ||
|
|
bb130e5f3e | ||
|
|
b8e4c404bb | ||
|
|
42a520b7ec | ||
|
|
90b0da4850 | ||
|
|
b842c532a8 | ||
|
|
785dc0e6c4 | ||
|
|
927ce4e589 | ||
|
|
c287f7cdc6 | ||
|
|
2aa51afe9d | ||
|
|
716e5d8129 | ||
|
|
4f462ecf70 | ||
|
|
fc61328fc4 | ||
|
|
18698fc188 | ||
|
|
34a6baf956 | ||
|
|
2e3b0c277a | ||
|
|
4370753206 | ||
|
|
aaa584ca3c | ||
|
|
210976887f | ||
|
|
43f53ee0be | ||
|
|
1381451989 | ||
|
|
6124309dbb | ||
|
|
f2e30505e5 | ||
|
|
bda589e65e | ||
|
|
5a98d4bd83 | ||
|
|
a772cbe7fa | ||
|
|
11adb02fd2 | ||
|
|
9aa4a102a5 | ||
|
|
d482b4062f | ||
|
|
ee49415b0a | ||
|
|
cc035e7fe1 | ||
|
|
d617efbcc1 | ||
|
|
53f19028dc | ||
|
|
f2b4b616ad | ||
|
|
9802ed2a3f | ||
|
|
cfc5caee64 | ||
|
|
b0abd3847a | ||
|
|
71c947427b | ||
|
|
0dc72a6fe4 | ||
|
|
5540d83dd3 | ||
|
|
572f48445c | ||
|
|
4df8bda2b3 | ||
|
|
047ce7f07a | ||
|
|
1264640c33 | ||
|
|
eef372cf0d | ||
|
|
fcccf418dd | ||
|
|
c098cd72b6 | ||
|
|
42ecccee5e | ||
|
|
663340e749 | ||
|
|
01c7f270ad | ||
|
|
91c17a6271 | ||
|
|
92235affee | ||
|
|
bbe36d4a9f | ||
|
|
3c9ee65742 | ||
|
|
53022b5813 | ||
|
|
b59a40afc0 | ||
|
|
3447df19ef | ||
|
|
de671722f7 | ||
|
|
6b7c418ccd | ||
|
|
e6472cf80b | ||
|
|
07489c2550 | ||
|
|
f39f148706 | ||
|
|
e0c26b66e0 | ||
|
|
ee1350fbe9 | ||
|
|
b7a3564153 | ||
|
|
e173e02eae | ||
|
|
1fbc4e1dff | ||
|
|
cd67fc15dd | ||
|
|
a98cca3d8c | ||
|
|
4552118b4e | ||
|
|
67abbc0bc7 | ||
|
|
9d33afec93 | ||
|
|
1bdecada9b | ||
|
|
9b31e67822 | ||
|
|
1af6b363b8 | ||
|
|
04c6a13675 | ||
|
|
44238de99a | ||
|
|
d644fa5e37 | ||
|
|
1e74c777fd | ||
|
|
d43a1d0f7b | ||
|
|
d2e3fa7a72 | ||
|
|
f96b5b4bed | ||
|
|
eeeec8999f | ||
|
|
052bad3ef2 | ||
|
|
cc007f6115 | ||
|
|
18dbc3fe96 | ||
|
|
ee4cf9ff59 | ||
|
|
cfa8c7e039 | ||
|
|
4565d7a446 | ||
|
|
89f608b5bc | ||
|
|
0fda8b51bf | ||
|
|
180fc3ceb1 | ||
|
|
9607124360 | ||
|
|
acf798bbc9 | ||
|
|
1cee28a694 | ||
|
|
68037ecf80 | ||
|
|
7eb9ea5039 | ||
|
|
89f9e2b11e | ||
|
|
087fb461a9 | ||
|
|
c9e93e2bb3 | ||
|
|
0d77847761 | ||
|
|
4d2d0d3990 | ||
|
|
0ad90840fd | ||
|
|
ea6e5cf761 | ||
|
|
1e0fd00d98 | ||
|
|
7928dceefb | ||
|
|
4773530305 | ||
|
|
a0a12d3c8c | ||
|
|
6fc02664ad | ||
|
|
ff8b0a006c | ||
|
|
8510882ed8 | ||
|
|
d6f907f1af | ||
|
|
b04cd86cda | ||
|
|
657f61466c | ||
|
|
234c087180 | ||
|
|
7d785e3a10 | ||
|
|
738d11b11c | ||
|
|
2c787b4fef | ||
|
|
23f9da0af0 | ||
|
|
15a7741909 | ||
|
|
a66049a600 | ||
|
|
36d5f30a73 | ||
|
|
db944d8509 | ||
|
|
85bf7e8f98 | ||
|
|
aefc799975 | ||
|
|
0021d52624 | ||
|
|
6416a76f88 | ||
|
|
036f402824 | ||
|
|
19be90a423 | ||
|
|
8ce5b3ed89 | ||
|
|
6647075961 | ||
|
|
995b4a294b | ||
|
|
88dac08eb1 | ||
|
|
010251bffb | ||
|
|
469c5fefb5 | ||
|
|
511f3c1253 | ||
|
|
e7c288683f | ||
|
|
e54ec7ab01 | ||
|
|
e1f84648c8 | ||
|
|
b42a1f4318 | ||
|
|
925246604b | ||
|
|
32160fd699 | ||
|
|
61b55491ed | ||
|
|
7ae99a1b51 | ||
|
|
877cf41249 | ||
|
|
dc6e1a56b8 | ||
|
|
f0f534fd70 | ||
|
|
ae846588b2 | ||
|
|
6a8d5478a0 | ||
|
|
2f12768168 | ||
|
|
b4d010e64f | ||
|
|
460b1f78be | ||
|
|
7e0a4bcddf | ||
|
|
f4691fccd6 | ||
|
|
b51cd52f80 | ||
|
|
5a87904787 | ||
|
|
ef31af48db | ||
|
|
cea96f49f3 | ||
|
|
b7ab0b973c | ||
|
|
0ea56397b2 | ||
|
|
bba5008753 | ||
|
|
095c611b8a | ||
|
|
cdc29b6b32 | ||
|
|
4822a60f79 | ||
|
|
6a22a9b2fb | ||
|
|
455b61c6c3 | ||
|
|
7fa1270066 | ||
|
|
346476ef33 | ||
|
|
b245061ed9 | ||
|
|
8a58ccd636 | ||
|
|
49050f774f | ||
|
|
2cbe0b8b34 | ||
|
|
ab0061b582 | ||
|
|
a0f475a789 | ||
|
|
9b52e7bf78 | ||
|
|
cd4874ae18 | ||
|
|
9659433e76 | ||
|
|
9a79c0e103 | ||
|
|
cc0fd8c009 | ||
|
|
41570bb705 | ||
|
|
932edc34c2 | ||
|
|
34aba7191a | ||
|
|
9b83f28ab3 | ||
|
|
cced70dd20 | ||
|
|
4a9ca9c949 | ||
|
|
41f65673ca | ||
|
|
33e004a3e0 | ||
|
|
cabbebcb7a | ||
|
|
40ac428bb5 | ||
|
|
aead466770 | ||
|
|
14cc34ef75 | ||
|
|
01c75f8175 | ||
|
|
2f32ec66d5 | ||
|
|
eea9d9b044 | ||
|
|
8cf2e9e402 | ||
|
|
aeb949a884 | ||
|
|
67c0ae9ffc | ||
|
|
8ff3010190 | ||
|
|
9cd260f1a9 | ||
|
|
66035a22ad | ||
|
|
1d6c356a1a | ||
|
|
77b67ca3d2 | ||
|
|
40c283ba89 | ||
|
|
08b9b62f81 | ||
|
|
8bc37f4a9a | ||
|
|
b8cd98017d | ||
|
|
0c89e6c624 | ||
|
|
becf59dc0f | ||
|
|
feff3d6530 | ||
|
|
2e7a090722 | ||
|
|
6ece024535 | ||
|
|
4837b0e026 | ||
|
|
0eca082a4d | ||
|
|
db4672a9a2 | ||
|
|
9e58a9d7b7 | ||
|
|
f083c3488c | ||
|
|
b28655a5bd | ||
|
|
124b6054b5 | ||
|
|
d79917d20f | ||
|
|
c0bb71aed2 | ||
|
|
5e32798159 | ||
|
|
01fa2d3977 | ||
|
|
f0daa18906 | ||
|
|
d6d454bfc1 | ||
|
|
f30b1ca02e | ||
|
|
84f3d4ea5d | ||
|
|
a5fb061359 | ||
|
|
d8ff2f1a31 | ||
|
|
1d1b5f1c42 | ||
|
|
74587349fe | ||
|
|
b463d6720a | ||
|
|
036bd8ccc2 | ||
|
|
eebdfba431 | ||
|
|
52a5a2ac72 | ||
|
|
44b3d5e526 | ||
|
|
f9ece26ccf | ||
|
|
5f35b59a34 | ||
|
|
d3729a47d2 | ||
|
|
dc8e22a1b5 | ||
|
|
20484b634a | ||
|
|
a7af164bb1 | ||
|
|
e31b8ebd12 | ||
|
|
bdde9561f3 | ||
|
|
2964aa3c3c | ||
|
|
01d9d7538c | ||
|
|
ed5f445f11 | ||
|
|
b47d2ccda1 | ||
|
|
b6d6e4dea7 | ||
|
|
1e822e432c | ||
|
|
95173ada39 | ||
|
|
5bfd5dfac7 | ||
|
|
14b410e84b | ||
|
|
c8bace4850 | ||
|
|
b182a6953d | ||
|
|
acdd5eddbf | ||
|
|
c1de88aa05 | ||
|
|
28fcf06175 | ||
|
|
a3159ed34e | ||
|
|
ee56a5b2bb | ||
|
|
b60a72c202 | ||
|
|
b9dd818ca4 | ||
|
|
1d7f822ed4 | ||
|
|
6c784367ed | ||
|
|
176f549168 | ||
|
|
896c38c024 | ||
|
|
15e26fd829 | ||
|
|
4df03431ed | ||
|
|
7ef59937f2 | ||
|
|
0e80415e52 | ||
|
|
10b3a6227d | ||
|
|
3adb56f113 | ||
|
|
39da1f83a3 | ||
|
|
7f51486979 | ||
|
|
62672f090b | ||
|
|
012935818d |
1
opensync-ext-cloud/.gitignore
vendored
1
opensync-ext-cloud/.gitignore
vendored
@@ -1 +0,0 @@
|
|||||||
/target/
|
|
||||||
@@ -1,12 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<artifactId>tip-wlan-cloud-root-pom</artifactId>
|
<artifactId>tip-wlan-cloud-root-pom</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
<relativePath>../../wlan-cloud-root</relativePath>
|
<relativePath>../../wlan-cloud-root</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>opensync-ext-cloud</artifactId>
|
<artifactId>opensync-ext-cloud</artifactId>
|
||||||
@@ -16,112 +14,126 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<artifactId>opensync-ext-interface</artifactId>
|
<artifactId>opensync-ext-interface</artifactId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<artifactId>opensync-gateway</artifactId>
|
<artifactId>opensync-gateway</artifactId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<artifactId>base-container</artifactId>
|
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>base-client</artifactId>
|
<artifactId>base-client</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>equipment-gateway-models</artifactId>
|
<artifactId>equipment-gateway-models</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>customer-service-interface</artifactId>
|
<artifactId>customer-service-interface</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>location-service-interface</artifactId>
|
<artifactId>location-service-interface</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>equipment-service-interface</artifactId>
|
<artifactId>equipment-service-interface</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>profile-service-interface</artifactId>
|
<artifactId>profile-service-interface</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>portal-user-service-interface</artifactId>
|
<artifactId>portal-user-service-interface</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>service-metric-service-interface</artifactId>
|
<artifactId>service-metric-service-interface</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<artifactId>service-metric-models</artifactId>
|
||||||
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>system-event-service-interface</artifactId>
|
<artifactId>system-event-service-interface</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<artifactId>system-event-models</artifactId>
|
||||||
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>alarm-service-interface</artifactId>
|
<artifactId>alarm-service-interface</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>status-service-interface</artifactId>
|
<artifactId>status-service-interface</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>client-service-interface</artifactId>
|
<artifactId>client-service-interface</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<artifactId>client-models</artifactId>
|
||||||
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>routing-service-interface</artifactId>
|
<artifactId>routing-service-interface</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>firmware-service-interface</artifactId>
|
<artifactId>firmware-service-interface</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>manufacturer-service-interface</artifactId>
|
<artifactId>manufacturer-service-interface</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>cloud-event-dispatcher-interface</artifactId>
|
<artifactId>cloud-event-dispatcher-interface</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
package com.telecominfraproject.wlan.opensync.external.integration.controller;
|
package com.telecominfraproject.wlan.opensync.external.integration.controller;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -24,6 +25,7 @@ import org.springframework.security.web.bind.annotation.AuthenticationPrincipal;
|
|||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import com.telecominfraproject.wlan.core.client.PingClient;
|
import com.telecominfraproject.wlan.core.client.PingClient;
|
||||||
@@ -32,6 +34,7 @@ import com.telecominfraproject.wlan.core.model.service.GatewayType;
|
|||||||
import com.telecominfraproject.wlan.core.model.service.ServiceInstanceInformation;
|
import com.telecominfraproject.wlan.core.model.service.ServiceInstanceInformation;
|
||||||
import com.telecominfraproject.wlan.core.server.container.ConnectorProperties;
|
import com.telecominfraproject.wlan.core.server.container.ConnectorProperties;
|
||||||
import com.telecominfraproject.wlan.datastore.exceptions.DsEntityNotFoundException;
|
import com.telecominfraproject.wlan.datastore.exceptions.DsEntityNotFoundException;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.CellSizeAttributes;
|
||||||
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWBaseCommand;
|
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWBaseCommand;
|
||||||
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWBlinkRequest;
|
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWBlinkRequest;
|
||||||
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWChangeRedirectorHost;
|
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWChangeRedirectorHost;
|
||||||
@@ -42,11 +45,13 @@ import com.telecominfraproject.wlan.equipmentgateway.models.CEGWConfigChangeNoti
|
|||||||
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWFirmwareDownloadRequest;
|
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWFirmwareDownloadRequest;
|
||||||
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWFirmwareFlashRequest;
|
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWFirmwareFlashRequest;
|
||||||
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWNewChannelRequest;
|
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWNewChannelRequest;
|
||||||
|
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWCellSizeAttributesRequest;
|
||||||
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWRadioResetRequest;
|
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWRadioResetRequest;
|
||||||
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWRebootRequest;
|
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWRebootRequest;
|
||||||
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWRouteCheck;
|
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWRouteCheck;
|
||||||
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWStartDebugEngine;
|
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWStartDebugEngine;
|
||||||
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWStopDebugEngine;
|
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWStopDebugEngine;
|
||||||
|
import com.telecominfraproject.wlan.equipmentgateway.models.CEGatewayCommand;
|
||||||
import com.telecominfraproject.wlan.equipmentgateway.models.EquipmentCommand;
|
import com.telecominfraproject.wlan.equipmentgateway.models.EquipmentCommand;
|
||||||
import com.telecominfraproject.wlan.equipmentgateway.models.EquipmentCommandResponse;
|
import com.telecominfraproject.wlan.equipmentgateway.models.EquipmentCommandResponse;
|
||||||
import com.telecominfraproject.wlan.equipmentgateway.models.GatewayDefaults;
|
import com.telecominfraproject.wlan.equipmentgateway.models.GatewayDefaults;
|
||||||
@@ -147,19 +152,16 @@ public class OpensyncCloudGatewayController {
|
|||||||
String inventoryId = command.getInventoryId();
|
String inventoryId = command.getInventoryId();
|
||||||
|
|
||||||
if (com.telecominfraproject.wlan.core.model.json.BaseJsonModel.hasUnsupportedValue(command)) {
|
if (com.telecominfraproject.wlan.core.model.json.BaseJsonModel.hasUnsupportedValue(command)) {
|
||||||
LOG.error("[{}] Failed to deliver command {}, command contains unsupported value", inventoryId,
|
LOG.error("[{}] Failed to deliver command {}, command contains unsupported value", inventoryId, command);
|
||||||
command);
|
ret.add(new EquipmentCommandResponse(CEGWCommandResultCode.UnsupportedCommand, "Unsupported value in command for " + inventoryId, command,
|
||||||
ret.add(new EquipmentCommandResponse(CEGWCommandResultCode.UnsupportedCommand,
|
registeredGateway == null ? null : registeredGateway.getHostname(), registeredGateway == null ? -1 : registeredGateway.getPort()));
|
||||||
"Unsupported value in command for " + inventoryId, command, registeredGateway.getHostname(),
|
|
||||||
registeredGateway.getPort()));
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
OvsdbSession session = ovsdbSessionMapInterface.getSession(inventoryId);
|
OvsdbSession session = ovsdbSessionMapInterface.getSession(inventoryId);
|
||||||
if (session == null) {
|
if (session == null) {
|
||||||
LOG.warn("[{}] Failed to deliver command {}, equipment session not found", inventoryId, command);
|
LOG.warn("[{}] Failed to deliver command {}, equipment session not found", inventoryId, command);
|
||||||
ret.add(new EquipmentCommandResponse(CEGWCommandResultCode.NoRouteToCE,
|
ret.add(new EquipmentCommandResponse(CEGWCommandResultCode.NoRouteToCE, "No session found for " + inventoryId, command,
|
||||||
"No session found for " + inventoryId, command, registeredGateway.getHostname(),
|
registeredGateway == null ? null : registeredGateway.getHostname(), registeredGateway == null ? -1 : registeredGateway.getPort()));
|
||||||
registeredGateway.getPort()));
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -199,30 +201,35 @@ public class OpensyncCloudGatewayController {
|
|||||||
ret.add(processRadioReboot(session, (CEGWRebootRequest) command));
|
ret.add(processRadioReboot(session, (CEGWRebootRequest) command));
|
||||||
break;
|
break;
|
||||||
case ClientBlocklistChangeNotification:
|
case ClientBlocklistChangeNotification:
|
||||||
ret.add(sendClientBlocklistChangeNotification(session,
|
ret.add(sendClientBlocklistChangeNotification(session, (CEGWClientBlocklistChangeNotification) command));
|
||||||
(CEGWClientBlocklistChangeNotification) command));
|
|
||||||
break;
|
break;
|
||||||
case NewChannelRequest:
|
case NewChannelRequest:
|
||||||
ret.add(sendNewChannelRequest(session, (CEGWNewChannelRequest) command));
|
ret.add(sendNewChannelRequest(session, (CEGWNewChannelRequest) command));
|
||||||
break;
|
break;
|
||||||
|
case CellSizeAttributesRequest:
|
||||||
|
ret.add(sendCellSizeRequest(session, (CEGWCellSizeAttributesRequest) command));
|
||||||
|
break;
|
||||||
|
case MostRecentStatsTimestamp:
|
||||||
|
ret.add(sendGetMostRecentStatsTimestampRequest(command, inventoryId));
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
LOG.warn("[{}] Failed to deliver command {}, unsupported command type", inventoryId, command);
|
LOG.warn("[{}] Failed to deliver command {}, unsupported command type", inventoryId, command);
|
||||||
ret.add(new EquipmentCommandResponse(
|
ret.add(new EquipmentCommandResponse(CEGWCommandResultCode.UnsupportedCommand,
|
||||||
CEGWCommandResultCode.UnsupportedCommand, "Invalid command type ("
|
"Invalid command type (" + command.getCommandType() + ") for equipment (" + inventoryId + ")", command,
|
||||||
+ command.getCommandType() + ") for equipment (" + inventoryId + ")",
|
registeredGateway == null ? null : registeredGateway.getHostname(),
|
||||||
command, registeredGateway.getHostname(), registeredGateway.getPort()));
|
registeredGateway == null ? -1 : registeredGateway.getPort()));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
private EquipmentCommandResponse processFirmwareDownload(OvsdbSession session,
|
private EquipmentCommandResponse processFirmwareDownload(OvsdbSession session, CEGWFirmwareDownloadRequest command) {
|
||||||
CEGWFirmwareDownloadRequest command) {
|
|
||||||
return sendMessage(session, command.getInventoryId(), command);
|
return sendMessage(session, command.getInventoryId(), command);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -243,6 +250,33 @@ public class OpensyncCloudGatewayController {
|
|||||||
return new GatewayDefaults();
|
return new GatewayDefaults();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private EquipmentCommandResponse sendGetMostRecentStatsTimestampRequest(CEGWBaseCommand command, String inventoryId) {
|
||||||
|
Long ts = lastReceivedStatsTimestamp(inventoryId);
|
||||||
|
if (ts == null) {
|
||||||
|
return new EquipmentCommandResponse(CEGWCommandResultCode.NoRouteToCE,
|
||||||
|
null, command,
|
||||||
|
registeredGateway == null ? null : registeredGateway.getHostname(),
|
||||||
|
registeredGateway == null ? -1 : registeredGateway.getPort());
|
||||||
|
} else {
|
||||||
|
return new EquipmentCommandResponse(CEGWCommandResultCode.Success,
|
||||||
|
ts.toString(), command,
|
||||||
|
registeredGateway == null ? null : registeredGateway.getHostname(),
|
||||||
|
registeredGateway == null ? -1 : registeredGateway.getPort());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/lastReceivedStatsTimestamp", method = RequestMethod.GET)
|
||||||
|
public Long lastReceivedStatsTimestamp(@RequestParam String apId) {
|
||||||
|
Long ret = null;
|
||||||
|
if (ovsdbSessionMapInterface.getSession(apId) != null) {
|
||||||
|
ret = ovsdbSessionMapInterface.getSession(apId).getMostRecentStatsTimestamp();
|
||||||
|
LOG.debug("lastReceivedStatsTimestamp for apId {} {}",apId,ret);
|
||||||
|
} else {
|
||||||
|
LOG.warn("lastReceivedStatsTimestamp found no session for {}, cannot get timestamp",apId);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Verify a route to customer equipment
|
* Verify a route to customer equipment
|
||||||
*
|
*
|
||||||
@@ -254,19 +288,18 @@ public class OpensyncCloudGatewayController {
|
|||||||
if (null != command.getRoutingId()) {
|
if (null != command.getRoutingId()) {
|
||||||
if (!command.getRoutingId().equals(session.getRoutingId())) {
|
if (!command.getRoutingId().equals(session.getRoutingId())) {
|
||||||
|
|
||||||
LOG.info("[C:{} E:{} R:{}] Stale routing entry ({}) detected", session.getCustomerId(),
|
LOG.info("[E:{} R:{}] Stale routing entry ({}) detected", command.getInventoryId(), session.getRoutingId(),
|
||||||
command.getInventoryId(), session.getRoutingId(), command.getRoutingId());
|
command.getRoutingId());
|
||||||
|
|
||||||
return new EquipmentCommandResponse(CEGWCommandResultCode.NoRouteToCE, "Inactive Route Identifer",
|
return new EquipmentCommandResponse(CEGWCommandResultCode.NoRouteToCE, "Inactive Route Identifer", command,
|
||||||
command, registeredGateway.getHostname(), registeredGateway.getPort());
|
registeredGateway == null ? null : registeredGateway.getHostname(), registeredGateway == null ? -1 : registeredGateway.getPort());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return new EquipmentCommandResponse(CEGWCommandResultCode.Success, "Route active", command,
|
return new EquipmentCommandResponse(CEGWCommandResultCode.Success, "Route active", command,
|
||||||
registeredGateway.getHostname(), registeredGateway.getPort());
|
registeredGateway == null ? null : registeredGateway.getHostname(), registeredGateway == null ? -1 : registeredGateway.getPort());
|
||||||
}
|
}
|
||||||
|
|
||||||
private EquipmentCommandResponse sendConfigChangeNotification(OvsdbSession session,
|
private EquipmentCommandResponse sendConfigChangeNotification(OvsdbSession session, CEGWConfigChangeNotification command) {
|
||||||
CEGWConfigChangeNotification command) {
|
|
||||||
|
|
||||||
return sendMessage(session, command.getInventoryId(), command);
|
return sendMessage(session, command.getInventoryId(), command);
|
||||||
}
|
}
|
||||||
@@ -276,20 +309,17 @@ public class OpensyncCloudGatewayController {
|
|||||||
session.getOvsdbClient().shutdown();
|
session.getOvsdbClient().shutdown();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("[{}] Failed to close session on CE: {}", command.getInventoryId(), e.getLocalizedMessage());
|
LOG.error("[{}] Failed to close session on CE: {}", command.getInventoryId(), e.getLocalizedMessage());
|
||||||
return new EquipmentCommandResponse(
|
return new EquipmentCommandResponse(CEGWCommandResultCode.FailedToSend,
|
||||||
CEGWCommandResultCode.FailedToSend, "Failed to send command " + command.getCommandType() + " to "
|
"Failed to send command " + command.getCommandType() + " to " + command.getInventoryId() + ": " + e.getMessage(), command,
|
||||||
+ command.getInventoryId() + ": " + e.getMessage(),
|
registeredGateway == null ? null : registeredGateway.getHostname(), registeredGateway == null ? -1 : registeredGateway.getPort());
|
||||||
command, registeredGateway.getHostname(), registeredGateway.getPort());
|
|
||||||
}
|
}
|
||||||
LOG.debug("[{}] Closed session to CE", command.getInventoryId());
|
LOG.debug("[{}] Closed session to CE", command.getInventoryId());
|
||||||
return new EquipmentCommandResponse(CEGWCommandResultCode.Success,
|
return new EquipmentCommandResponse(CEGWCommandResultCode.Success, "Closed session to " + command.getInventoryId(), command,
|
||||||
"Closed session to " + command.getInventoryId(), command, registeredGateway.getHostname(),
|
registeredGateway == null ? null : registeredGateway.getHostname(), registeredGateway == null ? -1 : registeredGateway.getPort());
|
||||||
registeredGateway.getPort());
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private EquipmentCommandResponse sendClientBlocklistChangeNotification(OvsdbSession session,
|
private EquipmentCommandResponse sendClientBlocklistChangeNotification(OvsdbSession session, CEGWClientBlocklistChangeNotification command) {
|
||||||
CEGWClientBlocklistChangeNotification command) {
|
|
||||||
return sendMessage(session, command.getInventoryId(), command);
|
return sendMessage(session, command.getInventoryId(), command);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -297,6 +327,10 @@ public class OpensyncCloudGatewayController {
|
|||||||
return sendMessage(session, command.getInventoryId(), command);
|
return sendMessage(session, command.getInventoryId(), command);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private EquipmentCommandResponse sendCellSizeRequest(OvsdbSession session, CEGWCellSizeAttributesRequest command) {
|
||||||
|
return sendMessage(session, command.getInventoryId(), command);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deliver a message in payload to the CE
|
* Deliver a message in payload to the CE
|
||||||
*
|
*
|
||||||
@@ -308,15 +342,17 @@ public class OpensyncCloudGatewayController {
|
|||||||
private EquipmentCommandResponse sendMessage(OvsdbSession session, String inventoryId, EquipmentCommand command) {
|
private EquipmentCommandResponse sendMessage(OvsdbSession session, String inventoryId, EquipmentCommand command) {
|
||||||
|
|
||||||
LOG.debug("Received command {} for {}", command.getCommandType(), inventoryId);
|
LOG.debug("Received command {} for {}", command.getCommandType(), inventoryId);
|
||||||
EquipmentCommandResponse response = new EquipmentCommandResponse(CEGWCommandResultCode.Success,
|
EquipmentCommandResponse response =
|
||||||
"Received Command " + command.getCommandType() + " for " + inventoryId, command,
|
new EquipmentCommandResponse(CEGWCommandResultCode.Success, "Received Command " + command.getCommandType() + " for " + inventoryId, command,
|
||||||
registeredGateway.getHostname(), registeredGateway.getPort());
|
registeredGateway == null ? null : registeredGateway.getHostname(), registeredGateway == null ? -1 : registeredGateway.getPort());
|
||||||
|
|
||||||
if (command instanceof CEGWConfigChangeNotification) {
|
if (command instanceof CEGWBlinkRequest) {
|
||||||
|
String resultDetails = tipwlanOvsdbClient.processBlinkRequest(inventoryId, ((CEGWBlinkRequest)command).getBlinkAllLEDs());
|
||||||
|
response.setResultDetail(resultDetails);
|
||||||
|
} else if (command instanceof CEGWConfigChangeNotification) {
|
||||||
tipwlanOvsdbClient.processConfigChanged(inventoryId);
|
tipwlanOvsdbClient.processConfigChanged(inventoryId);
|
||||||
} else if (command instanceof CEGWClientBlocklistChangeNotification) {
|
} else if (command instanceof CEGWClientBlocklistChangeNotification) {
|
||||||
tipwlanOvsdbClient.processClientBlocklistChange(inventoryId,
|
tipwlanOvsdbClient.processClientBlocklistChange(inventoryId, ((CEGWClientBlocklistChangeNotification) command).getBlockList());
|
||||||
((CEGWClientBlocklistChangeNotification) command).getBlockList());
|
|
||||||
} else if (command instanceof CEGWChangeRedirectorHost) {
|
} else if (command instanceof CEGWChangeRedirectorHost) {
|
||||||
String newRedirectorAddress = ((CEGWChangeRedirectorHost) command).getRedirectorHost();
|
String newRedirectorAddress = ((CEGWChangeRedirectorHost) command).getRedirectorHost();
|
||||||
tipwlanOvsdbClient.changeRedirectorHost(inventoryId, newRedirectorAddress);
|
tipwlanOvsdbClient.changeRedirectorHost(inventoryId, newRedirectorAddress);
|
||||||
@@ -329,7 +365,15 @@ public class OpensyncCloudGatewayController {
|
|||||||
} else if (command instanceof CEGWNewChannelRequest) {
|
} else if (command instanceof CEGWNewChannelRequest) {
|
||||||
CEGWNewChannelRequest request = (CEGWNewChannelRequest) command;
|
CEGWNewChannelRequest request = (CEGWNewChannelRequest) command;
|
||||||
Map<RadioType, Integer> newBackupChannels = request.getNewBackupChannels();
|
Map<RadioType, Integer> newBackupChannels = request.getNewBackupChannels();
|
||||||
String resultDetails = tipwlanOvsdbClient.processNewChannelsRequest(inventoryId, newBackupChannels);
|
Map<RadioType, Integer> newPrimaryChannels = request.getNewPrimaryChannels();
|
||||||
|
|
||||||
|
String resultDetails = tipwlanOvsdbClient.processNewChannelsRequest(inventoryId, newBackupChannels, newPrimaryChannels);
|
||||||
|
response.setResultDetail(resultDetails);
|
||||||
|
} else if (command instanceof CEGWCellSizeAttributesRequest) {
|
||||||
|
CEGWCellSizeAttributesRequest request = (CEGWCellSizeAttributesRequest) command;
|
||||||
|
Map<RadioType, CellSizeAttributes> cellSizeAttributeMap = request.getCellSizeAttributesMap();
|
||||||
|
|
||||||
|
String resultDetails = tipwlanOvsdbClient.processCellSizeAttributesRequest(inventoryId, cellSizeAttributeMap);
|
||||||
response.setResultDetail(resultDetails);
|
response.setResultDetail(resultDetails);
|
||||||
|
|
||||||
} else if (command instanceof CEGWFirmwareDownloadRequest) {
|
} else if (command instanceof CEGWFirmwareDownloadRequest) {
|
||||||
@@ -339,10 +383,8 @@ public class OpensyncCloudGatewayController {
|
|||||||
String filepath = dlRequest.getFilePath();
|
String filepath = dlRequest.getFilePath();
|
||||||
String firmwareVersion = dlRequest.getFirmwareVersion();
|
String firmwareVersion = dlRequest.getFirmwareVersion();
|
||||||
String username = dlRequest.getUsername();
|
String username = dlRequest.getUsername();
|
||||||
String validationCode = dlRequest.getValidationCode();
|
|
||||||
|
|
||||||
String resultDetails = tipwlanOvsdbClient.processFirmwareDownload(inventoryId, filepath, firmwareVersion,
|
String resultDetails = tipwlanOvsdbClient.processFirmwareDownload(inventoryId, filepath, firmwareVersion, username);
|
||||||
username, validationCode);
|
|
||||||
|
|
||||||
response.setResultDetail(resultDetails);
|
response.setResultDetail(resultDetails);
|
||||||
|
|
||||||
@@ -354,15 +396,15 @@ public class OpensyncCloudGatewayController {
|
|||||||
flashRequest.getInventoryId();
|
flashRequest.getInventoryId();
|
||||||
flashRequest.getUsername();
|
flashRequest.getUsername();
|
||||||
|
|
||||||
String resultDetails = tipwlanOvsdbClient.processFirmwareFlash(flashRequest.getInventoryId(),
|
String resultDetails =
|
||||||
flashRequest.getFirmwareVersion(), flashRequest.getUsername());
|
tipwlanOvsdbClient.processFirmwareFlash(flashRequest.getInventoryId(), flashRequest.getFirmwareVersion(), flashRequest.getUsername());
|
||||||
|
|
||||||
response.setResultDetail(resultDetails);
|
response.setResultDetail(resultDetails);
|
||||||
|
|
||||||
} else if (command instanceof CEGWRadioResetRequest) {
|
} else if (command instanceof CEGWRadioResetRequest) {
|
||||||
response = new EquipmentCommandResponse(CEGWCommandResultCode.UnsupportedCommand,
|
response = new EquipmentCommandResponse(CEGWCommandResultCode.UnsupportedCommand,
|
||||||
"Received Command " + command.getCommandType() + " for " + inventoryId, command,
|
"Received Command " + command.getCommandType() + " for " + inventoryId, command,
|
||||||
registeredGateway.getHostname(), registeredGateway.getPort());
|
registeredGateway == null ? null : registeredGateway.getHostname(), registeredGateway == null ? -1 : registeredGateway.getPort());
|
||||||
} else if (command instanceof CEGWRebootRequest) {
|
} else if (command instanceof CEGWRebootRequest) {
|
||||||
|
|
||||||
CEGWRebootRequest rebootRequest = (CEGWRebootRequest) command;
|
CEGWRebootRequest rebootRequest = (CEGWRebootRequest) command;
|
||||||
@@ -386,10 +428,9 @@ public class OpensyncCloudGatewayController {
|
|||||||
default:
|
default:
|
||||||
response = new EquipmentCommandResponse(CEGWCommandResultCode.UnsupportedCommand,
|
response = new EquipmentCommandResponse(CEGWCommandResultCode.UnsupportedCommand,
|
||||||
"Received Command " + command.getCommandType() + " for " + inventoryId, command,
|
"Received Command " + command.getCommandType() + " for " + inventoryId, command,
|
||||||
registeredGateway.getHostname(), registeredGateway.getPort());
|
registeredGateway == null ? null : registeredGateway.getHostname(), registeredGateway == null ? -1 : registeredGateway.getPort());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return response;
|
return response;
|
||||||
@@ -407,15 +448,14 @@ public class OpensyncCloudGatewayController {
|
|||||||
return sendMessage(session, command.getInventoryId(), command);
|
return sendMessage(session, command.getInventoryId(), command);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private EquipmentCommandResponse processBlinkRequest(OvsdbSession session, CEGWBlinkRequest command) {
|
private EquipmentCommandResponse processBlinkRequest(OvsdbSession session, CEGWBlinkRequest command) {
|
||||||
|
|
||||||
return sendMessage(session, command.getInventoryId(), command);
|
return sendMessage(session, command.getInventoryId(), command);
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "/commandWithUser", method = RequestMethod.POST)
|
@RequestMapping(value = "/commandWithUser", method = RequestMethod.POST)
|
||||||
public EquipmentCommandResponse sendCommandWithAuthUser(@RequestBody EquipmentCommand command,
|
public EquipmentCommandResponse sendCommandWithAuthUser(@RequestBody EquipmentCommand command, @AuthenticationPrincipal Object requestUser,
|
||||||
@AuthenticationPrincipal Object requestUser, HttpServletRequest httpServletRequest) {
|
HttpServletRequest httpServletRequest) {
|
||||||
|
|
||||||
// use these properties to get address and port where request has
|
// use these properties to get address and port where request has
|
||||||
// arrived
|
// arrived
|
||||||
@@ -448,8 +488,7 @@ public class OpensyncCloudGatewayController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (eqRoutingSvc == null) {
|
if (eqRoutingSvc == null) {
|
||||||
throw new ConfigurationException(
|
throw new ConfigurationException("Unable to register gateway with routing service: routing service interface not initialized");
|
||||||
"Unable to register gateway with routing service: routing service interface not initialized");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanupStaleGwRecord();
|
cleanupStaleGwRecord();
|
||||||
@@ -465,13 +504,11 @@ public class OpensyncCloudGatewayController {
|
|||||||
EquipmentGatewayRecord result = eqRoutingSvc.registerGateway(gwRecord);
|
EquipmentGatewayRecord result = eqRoutingSvc.registerGateway(gwRecord);
|
||||||
registeredGwId = result.getId();
|
registeredGwId = result.getId();
|
||||||
registeredGateway = result;
|
registeredGateway = result;
|
||||||
LOG.info("Successfully registered (name={}, id={}) with Routing Service", result.getHostname(),
|
LOG.info("Successfully registered (name={}, id={}) with Routing Service", result.getHostname(), registeredGwId);
|
||||||
registeredGwId);
|
|
||||||
registeredWithRoutingService = true;
|
registeredWithRoutingService = true;
|
||||||
} catch (RuntimeException e) {
|
} catch (RuntimeException e) {
|
||||||
// failed
|
// failed
|
||||||
LOG.error("Failed to register Customer Equipment Gateway (name={}) with Routing Service : {}",
|
LOG.error("Failed to register Customer Equipment Gateway (name={}) with Routing Service : {}", getGatewayName(), e.getLocalizedMessage());
|
||||||
getGatewayName(), e.getLocalizedMessage());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -496,8 +533,7 @@ public class OpensyncCloudGatewayController {
|
|||||||
eqRoutingSvc.deleteGateway(eqpRec.getId());
|
eqRoutingSvc.deleteGateway(eqpRec.getId());
|
||||||
} catch (RuntimeException e) {
|
} catch (RuntimeException e) {
|
||||||
// failed
|
// failed
|
||||||
LOG.error("Failed to delete Equipment Gateway (name={}) from Routing Service: {}",
|
LOG.error("Failed to delete Equipment Gateway (name={}) from Routing Service: {}", eqpRec.getHostname(), e.getLocalizedMessage());
|
||||||
eqpRec.getHostname(), e.getLocalizedMessage());
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
LOG.debug("Gateway {} is reachable.", eqpRec.getHostname());
|
LOG.debug("Gateway {} is reachable.", eqpRec.getHostname());
|
||||||
@@ -508,9 +544,8 @@ public class OpensyncCloudGatewayController {
|
|||||||
}
|
}
|
||||||
} catch (Exception ex) { // Catching Exception to prevent crashing the
|
} catch (Exception ex) { // Catching Exception to prevent crashing the
|
||||||
// register thread
|
// register thread
|
||||||
LOG.debug("Generic Exception encountered when trying to cleanup "
|
LOG.debug("Generic Exception encountered when trying to cleanup " + "the stale not-reachable GateWays. Continuing to register the new Gateway."
|
||||||
+ "the stale not-reachable GateWays. Continuing to register the new Gateway." + " Error: {} ",
|
+ " Error: {} ", ex.getMessage());
|
||||||
ex.getMessage());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -534,14 +569,13 @@ public class OpensyncCloudGatewayController {
|
|||||||
if (registeredWithRoutingService) {
|
if (registeredWithRoutingService) {
|
||||||
try {
|
try {
|
||||||
eqRoutingSvc.deleteGateway(registeredGwId);
|
eqRoutingSvc.deleteGateway(registeredGwId);
|
||||||
LOG.info("Deregistered Customer Equipment Gateway (name={},id={}) with Routing Service",
|
LOG.info("Deregistered Customer Equipment Gateway (name={},id={}) with Routing Service", getGatewayName(), registeredGwId);
|
||||||
getGatewayName(), registeredGwId);
|
|
||||||
registeredGwId = -1;
|
registeredGwId = -1;
|
||||||
registeredGateway = null;
|
registeredGateway = null;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// failed
|
// failed
|
||||||
LOG.error("Failed to deregister Customer Equipment Gateway (name={},id={}) with Routing Service: {}",
|
LOG.error("Failed to deregister Customer Equipment Gateway (name={},id={}) with Routing Service: {}", getGatewayName(), registeredGwId,
|
||||||
getGatewayName(), registeredGwId, e.getLocalizedMessage());
|
e.getLocalizedMessage());
|
||||||
}
|
}
|
||||||
registeredWithRoutingService = false;
|
registeredWithRoutingService = false;
|
||||||
}
|
}
|
||||||
@@ -559,12 +593,10 @@ public class OpensyncCloudGatewayController {
|
|||||||
* @param equipmentId
|
* @param equipmentId
|
||||||
* @return associationId
|
* @return associationId
|
||||||
*/
|
*/
|
||||||
public EquipmentRoutingRecord registerCustomerEquipment(String equipmentName, Integer customerId,
|
public EquipmentRoutingRecord registerCustomerEquipment(String equipmentName, Integer customerId, Long equipmentId) {
|
||||||
Long equipmentId) {
|
|
||||||
registerWithRoutingService();
|
registerWithRoutingService();
|
||||||
if (!registeredWithRoutingService) {
|
if (!registeredWithRoutingService) {
|
||||||
LOG.error("Unable to register customer equipement (name={},id={}): gateway not registered.", equipmentName,
|
LOG.error("Unable to register customer equipement (name={},id={}): gateway not registered.", equipmentName, equipmentId);
|
||||||
equipmentId);
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
// Clean up stale records
|
// Clean up stale records
|
||||||
@@ -576,13 +608,11 @@ public class OpensyncCloudGatewayController {
|
|||||||
try {
|
try {
|
||||||
routingRecord = eqRoutingSvc.create(routingRecord);
|
routingRecord = eqRoutingSvc.create(routingRecord);
|
||||||
|
|
||||||
LOG.debug("Registered customer equipment (name={},id={}) with route id={}", equipmentName, equipmentId,
|
LOG.debug("Registered customer equipment (name={},id={}) with route id={}", equipmentName, equipmentId, routingRecord.getId());
|
||||||
routingRecord.getId());
|
|
||||||
return routingRecord;
|
return routingRecord;
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("Failed to register customer equipement (name={},id={}): {}", equipmentName, equipmentId,
|
LOG.error("Failed to register customer equipement (name={},id={}): {}", equipmentName, equipmentId, e.getLocalizedMessage());
|
||||||
e.getLocalizedMessage());
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -608,20 +638,17 @@ public class OpensyncCloudGatewayController {
|
|||||||
if (gwRec != null) {
|
if (gwRec != null) {
|
||||||
if (!isGwReachable(gwRec.getIpAddr(), gwRec.getPort())) {
|
if (!isGwReachable(gwRec.getIpAddr(), gwRec.getPort())) {
|
||||||
// GW isn't reachable --> invoke unregister
|
// GW isn't reachable --> invoke unregister
|
||||||
LOG.debug("Gateway {} is not-reachable... Deleting the equipment routing entry",
|
LOG.debug("Gateway {} is not-reachable... Deleting the equipment routing entry", gwRec.getHostname());
|
||||||
gwRec.getHostname());
|
|
||||||
deleteUnresponiveGwRoutingRecord(eqRouting.getId(), equipmentId);
|
deleteUnresponiveGwRoutingRecord(eqRouting.getId(), equipmentId);
|
||||||
} else {
|
} else {
|
||||||
LOG.debug("Gateway {} is reachable.", gwRec.getHostname());
|
LOG.debug("Gateway {} is reachable.", gwRec.getHostname());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
LOG.debug("Gateway with ID {} not found. Deleting the equipment routing entry ",
|
LOG.debug("Gateway with ID {} not found. Deleting the equipment routing entry ", eqRouting.getGatewayId());
|
||||||
eqRouting.getGatewayId());
|
|
||||||
deleteUnresponiveGwRoutingRecord(eqRouting.getId(), equipmentId);
|
deleteUnresponiveGwRoutingRecord(eqRouting.getId(), equipmentId);
|
||||||
}
|
}
|
||||||
} catch (DsEntityNotFoundException entityNotFoundException) {
|
} catch (DsEntityNotFoundException entityNotFoundException) {
|
||||||
LOG.debug("Gateway ID: {} not found... Deleting the equipment routing entry",
|
LOG.debug("Gateway ID: {} not found... Deleting the equipment routing entry", eqRouting.getGatewayId());
|
||||||
eqRouting.getGatewayId());
|
|
||||||
deleteUnresponiveGwRoutingRecord(eqRouting.getId(), equipmentId);
|
deleteUnresponiveGwRoutingRecord(eqRouting.getId(), equipmentId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -630,9 +657,10 @@ public class OpensyncCloudGatewayController {
|
|||||||
}
|
}
|
||||||
} catch (Exception genericException) { // Catching Exception to prevent
|
} catch (Exception genericException) { // Catching Exception to prevent
|
||||||
// crashing the register thread
|
// crashing the register thread
|
||||||
LOG.debug("Generic Exception encountered when trying to cleanup "
|
LOG.debug(
|
||||||
+ "the stale routing records for equipment ID: {}. Continuing to register the new RoutingRecord."
|
"Generic Exception encountered when trying to cleanup "
|
||||||
+ " Error: {} ", equipmentId, genericException.getMessage());
|
+ "the stale routing records for equipment ID: {}. Continuing to register the new RoutingRecord." + " Error: {} ",
|
||||||
|
equipmentId, genericException.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -641,8 +669,7 @@ public class OpensyncCloudGatewayController {
|
|||||||
eqRoutingSvc.delete(routingId);
|
eqRoutingSvc.delete(routingId);
|
||||||
} catch (RuntimeException e) {
|
} catch (RuntimeException e) {
|
||||||
// failed
|
// failed
|
||||||
LOG.error("Failed to delete Equipment routing record (ID={}) from Routing Service: {}", eqptId,
|
LOG.error("Failed to delete Equipment routing record (ID={}) from Routing Service: {}", eqptId, e.getLocalizedMessage());
|
||||||
e.getLocalizedMessage());
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@@ -650,18 +677,16 @@ public class OpensyncCloudGatewayController {
|
|||||||
|
|
||||||
public void deregisterCustomerEquipment(Long routingId, String equipmentName, Long equipmentId) {
|
public void deregisterCustomerEquipment(Long routingId, String equipmentName, Long equipmentId) {
|
||||||
if (!registeredWithRoutingService) {
|
if (!registeredWithRoutingService) {
|
||||||
LOG.error("Unable to deregister customer equipement (name={},id={}): gateway not registered", equipmentName,
|
LOG.error("Unable to deregister customer equipement (name={},id={}): gateway not registered", equipmentName, equipmentId);
|
||||||
equipmentId);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
LOG.debug("Deregistering customer equipment (name={},id={}) with route id={}", equipmentName, equipmentId,
|
LOG.debug("Deregistering customer equipment (name={},id={}) with route id={}", equipmentName, equipmentId, routingId);
|
||||||
routingId);
|
|
||||||
|
|
||||||
eqRoutingSvc.delete(routingId);
|
eqRoutingSvc.delete(routingId);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("Failed to deregister customer equipement (name={},id={}) with route id={}: {}", equipmentName,
|
LOG.error("Failed to deregister customer equipement (name={},id={}) with route id={}: {}", equipmentName, equipmentId, routingId,
|
||||||
equipmentId, routingId, e.getLocalizedMessage());
|
e.getLocalizedMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
package com.telecominfraproject.wlan.opensync.external.integration;
|
package com.telecominfraproject.wlan.opensync.external.integration;
|
||||||
|
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
@@ -5,6 +6,7 @@ import static org.junit.Assert.assertNull;
|
|||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.EnumMap;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -48,6 +50,8 @@ import com.telecominfraproject.wlan.core.model.entity.CountryCode;
|
|||||||
import com.telecominfraproject.wlan.core.model.equipment.EquipmentType;
|
import com.telecominfraproject.wlan.core.model.equipment.EquipmentType;
|
||||||
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
|
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
|
||||||
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
||||||
|
import com.telecominfraproject.wlan.core.model.pagination.PaginationContext;
|
||||||
|
import com.telecominfraproject.wlan.core.model.pagination.PaginationResponse;
|
||||||
import com.telecominfraproject.wlan.customer.models.Customer;
|
import com.telecominfraproject.wlan.customer.models.Customer;
|
||||||
import com.telecominfraproject.wlan.customer.models.CustomerDetails;
|
import com.telecominfraproject.wlan.customer.models.CustomerDetails;
|
||||||
import com.telecominfraproject.wlan.customer.models.EquipmentAutoProvisioningSettings;
|
import com.telecominfraproject.wlan.customer.models.EquipmentAutoProvisioningSettings;
|
||||||
@@ -66,6 +70,7 @@ import com.telecominfraproject.wlan.opensync.external.integration.controller.Ope
|
|||||||
import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo;
|
import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPRadioState;
|
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPRadioState;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPVIFState;
|
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPVIFState;
|
||||||
|
import com.telecominfraproject.wlan.opensync.external.integration.utils.MqttStatsPublisher;
|
||||||
import com.telecominfraproject.wlan.profile.ProfileServiceInterface;
|
import com.telecominfraproject.wlan.profile.ProfileServiceInterface;
|
||||||
import com.telecominfraproject.wlan.profile.models.Profile;
|
import com.telecominfraproject.wlan.profile.models.Profile;
|
||||||
import com.telecominfraproject.wlan.profile.models.ProfileType;
|
import com.telecominfraproject.wlan.profile.models.ProfileType;
|
||||||
@@ -74,6 +79,7 @@ import com.telecominfraproject.wlan.profile.rf.models.RfConfiguration;
|
|||||||
import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration;
|
import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration;
|
||||||
import com.telecominfraproject.wlan.routing.RoutingServiceInterface;
|
import com.telecominfraproject.wlan.routing.RoutingServiceInterface;
|
||||||
import com.telecominfraproject.wlan.status.StatusServiceInterface;
|
import com.telecominfraproject.wlan.status.StatusServiceInterface;
|
||||||
|
import com.telecominfraproject.wlan.status.equipment.models.EquipmentChannelStatusData;
|
||||||
import com.telecominfraproject.wlan.status.equipment.models.EquipmentProtocolStatusData;
|
import com.telecominfraproject.wlan.status.equipment.models.EquipmentProtocolStatusData;
|
||||||
import com.telecominfraproject.wlan.status.equipment.models.EquipmentUpgradeStatusData;
|
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.ActiveBSSID;
|
||||||
@@ -88,15 +94,13 @@ import sts.OpensyncStats.Client;
|
|||||||
import sts.OpensyncStats.ClientReport;
|
import sts.OpensyncStats.ClientReport;
|
||||||
import sts.OpensyncStats.EventReport;
|
import sts.OpensyncStats.EventReport;
|
||||||
import sts.OpensyncStats.EventReport.ClientAssocEvent;
|
import sts.OpensyncStats.EventReport.ClientAssocEvent;
|
||||||
import sts.OpensyncStats.EventType;
|
|
||||||
import sts.OpensyncStats.RadioBandType;
|
import sts.OpensyncStats.RadioBandType;
|
||||||
import sts.OpensyncStats.Report;
|
import sts.OpensyncStats.Report;
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@ActiveProfiles(profiles = { "integration_test", })
|
@ActiveProfiles(profiles = {"integration_test",})
|
||||||
@SpringBootTest(webEnvironment = WebEnvironment.NONE, classes = OpensyncExternalIntegrationCloudTest.class)
|
@SpringBootTest(webEnvironment = WebEnvironment.NONE, classes = OpensyncExternalIntegrationCloudTest.class)
|
||||||
@Import(value = { AlarmServiceInterface.class, OpensyncExternalIntegrationCloud.class,
|
@Import(value = {AlarmServiceInterface.class, OpensyncExternalIntegrationCloud.class, OpensyncExternalIntegrationCloudTest.Config.class,
|
||||||
OpensyncExternalIntegrationCloudTest.Config.class,
|
|
||||||
|
|
||||||
})
|
})
|
||||||
public class OpensyncExternalIntegrationCloudTest {
|
public class OpensyncExternalIntegrationCloudTest {
|
||||||
@@ -126,12 +130,11 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
@MockBean(answer = Answers.RETURNS_MOCKS)
|
@MockBean(answer = Answers.RETURNS_MOCKS)
|
||||||
OpensyncCloudGatewayController gatewayController;
|
OpensyncCloudGatewayController gatewayController;
|
||||||
@MockBean
|
@MockBean
|
||||||
OpensyncExternalIntegrationMqttMessageProcessor opensyncExternalIntegrationMqttProcessor;
|
MqttStatsPublisher opensyncExternalIntegrationMqttProcessor;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
OpensyncExternalIntegrationCloud opensyncExternalIntegrationCloud;
|
OpensyncExternalIntegrationCloud opensyncExternalIntegrationCloud;
|
||||||
|
|
||||||
|
|
||||||
MockitoSession mockito;
|
MockitoSession mockito;
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@@ -162,30 +165,18 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testGetCustomerEquipment() {
|
|
||||||
|
|
||||||
Equipment equipment = new Equipment();
|
|
||||||
equipment.setDetails(ApElementConfiguration.createWithDefaults());
|
|
||||||
|
|
||||||
Mockito.when(
|
|
||||||
equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.eq("Test_Client_21P10C68818122")))
|
|
||||||
.thenReturn(equipment);
|
|
||||||
assertNotNull(opensyncExternalIntegrationCloud.getCustomerEquipment("Test_Client_21P10C68818122"));
|
|
||||||
assertNull(opensyncExternalIntegrationCloud.getCustomerEquipment("Test_Client_21P10C68818133"));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testApConnected() {
|
public void testApConnected() {
|
||||||
|
|
||||||
Location location = new Location();
|
Location location = new Location();
|
||||||
location.setId(8L);
|
location.setId(8L);
|
||||||
location.setCustomerId(2);
|
location.setCustomerId(2);
|
||||||
location.setDetails(LocationDetails.createWithDefaults());
|
LocationDetails details = LocationDetails.createWithDefaults();
|
||||||
|
details.setCountryCode(CountryCode.CA);
|
||||||
|
location.setDetails(details);
|
||||||
location.setName("Location-UT");
|
location.setName("Location-UT");
|
||||||
location.setLocationType(LocationType.BUILDING);
|
location.setLocationType(LocationType.BUILDING);
|
||||||
|
Mockito.when(locationServiceInterface.get(8L)).thenReturn(location);
|
||||||
Customer customer = new Customer();
|
Customer customer = new Customer();
|
||||||
customer.setId(2);
|
customer.setId(2);
|
||||||
CustomerDetails customerDetails = new CustomerDetails();
|
CustomerDetails customerDetails = new CustomerDetails();
|
||||||
@@ -204,25 +195,21 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
ssidProfile.setDetails(SsidConfiguration.createWithDefaults());
|
ssidProfile.setDetails(SsidConfiguration.createWithDefaults());
|
||||||
|
|
||||||
apProfile.setChildProfileIds(ImmutableSet.of(ssidProfile.getId()));
|
apProfile.setChildProfileIds(ImmutableSet.of(ssidProfile.getId()));
|
||||||
Mockito.when(profileServiceInterface.create(ArgumentMatchers.any(Profile.class)))
|
Mockito.when(profileServiceInterface.create(ArgumentMatchers.any(Profile.class))).thenAnswer(i -> i.getArguments()[0]);
|
||||||
.thenAnswer(i -> i.getArguments()[0]);
|
|
||||||
// .thenReturn(ssidProfile);
|
// .thenReturn(ssidProfile);
|
||||||
Mockito.when(profileServiceInterface.update(ArgumentMatchers.any(Profile.class)))
|
Mockito.when(profileServiceInterface.update(ArgumentMatchers.any(Profile.class))).thenAnswer(i -> i.getArguments()[0]);
|
||||||
.thenAnswer(i -> i.getArguments()[0]);
|
|
||||||
|
|
||||||
Status fwStatus = new Status();
|
Status fwStatus = new Status();
|
||||||
fwStatus.setDetails(new EquipmentUpgradeStatusData());
|
fwStatus.setDetails(new EquipmentUpgradeStatusData());
|
||||||
Mockito.when(statusServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
|
Mockito.when(statusServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(), ArgumentMatchers.eq(StatusDataType.FIRMWARE)))
|
||||||
ArgumentMatchers.eq(StatusDataType.FIRMWARE))).thenReturn(fwStatus);
|
.thenReturn(fwStatus);
|
||||||
|
|
||||||
Mockito.when(firmwareServiceInterface.getDefaultCustomerTrackSetting())
|
Mockito.when(firmwareServiceInterface.getDefaultCustomerTrackSetting()).thenReturn(new CustomerFirmwareTrackSettings());
|
||||||
.thenReturn(new CustomerFirmwareTrackSettings());
|
|
||||||
CustomerFirmwareTrackRecord fwTrackRecord = new CustomerFirmwareTrackRecord();
|
CustomerFirmwareTrackRecord fwTrackRecord = new CustomerFirmwareTrackRecord();
|
||||||
fwTrackRecord.setSettings(new CustomerFirmwareTrackSettings());
|
fwTrackRecord.setSettings(new CustomerFirmwareTrackSettings());
|
||||||
fwTrackRecord.setTrackRecordId(3);
|
fwTrackRecord.setTrackRecordId(3);
|
||||||
fwTrackRecord.setCustomerId(2);
|
fwTrackRecord.setCustomerId(2);
|
||||||
Mockito.when(firmwareServiceInterface.getCustomerFirmwareTrackRecord(ArgumentMatchers.anyInt()))
|
Mockito.when(firmwareServiceInterface.getCustomerFirmwareTrackRecord(ArgumentMatchers.anyInt())).thenReturn(fwTrackRecord);
|
||||||
.thenReturn(fwTrackRecord);
|
|
||||||
|
|
||||||
Equipment equipment = new Equipment();
|
Equipment equipment = new Equipment();
|
||||||
equipment.setCustomerId(2);
|
equipment.setCustomerId(2);
|
||||||
@@ -234,24 +221,18 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
equipment.setDetails(ApElementConfiguration.createWithDefaults());
|
equipment.setDetails(ApElementConfiguration.createWithDefaults());
|
||||||
|
|
||||||
Mockito.when(equipmentServiceInterface.get(1L)).thenReturn(equipment);
|
Mockito.when(equipmentServiceInterface.get(1L)).thenReturn(equipment);
|
||||||
Mockito.when(
|
Mockito.when(equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.eq("Test_Client_21P10C68818122"))).thenReturn(equipment);
|
||||||
equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.eq("Test_Client_21P10C68818122")))
|
|
||||||
.thenReturn(equipment);
|
|
||||||
|
|
||||||
Mockito.when(equipmentServiceInterface.create(ArgumentMatchers.any(Equipment.class)))
|
Mockito.when(equipmentServiceInterface.create(ArgumentMatchers.any(Equipment.class))).thenAnswer(i -> i.getArguments()[0]);
|
||||||
.thenAnswer(i -> i.getArguments()[0]);
|
Mockito.when(equipmentServiceInterface.update(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);
|
OvsdbSession session = Mockito.mock(OvsdbSession.class);
|
||||||
|
|
||||||
Mockito.when(ovsdbSessionMapInterface.getSession("Test_Client_21P10C68818122")).thenReturn(session);
|
Mockito.when(ovsdbSessionMapInterface.getSession("Test_Client_21P10C68818122")).thenReturn(session);
|
||||||
|
|
||||||
opensyncExternalIntegrationCloud.apConnected("Test_Client_21P10C68818122", createConnectNodeInfo());
|
opensyncExternalIntegrationCloud.apConnected("Test_Client_21P10C68818122", createConnectNodeInfo());
|
||||||
|
|
||||||
|
|
||||||
Mockito.verify(firmwareServiceInterface).getDefaultCustomerTrackSetting();
|
Mockito.verify(firmwareServiceInterface).getDefaultCustomerTrackSetting();
|
||||||
Mockito.verifyNoInteractions(locationServiceInterface);
|
Mockito.verify(locationServiceInterface).get(8L);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -260,10 +241,11 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
Location location = new Location();
|
Location location = new Location();
|
||||||
location.setId(8L);
|
location.setId(8L);
|
||||||
location.setCustomerId(2);
|
location.setCustomerId(2);
|
||||||
location.setDetails(LocationDetails.createWithDefaults());
|
LocationDetails details = LocationDetails.createWithDefaults();
|
||||||
|
details.setCountryCode(CountryCode.CA);
|
||||||
|
location.setDetails(details);
|
||||||
location.setName("Location-UT");
|
location.setName("Location-UT");
|
||||||
location.setLocationType(LocationType.BUILDING);
|
location.setLocationType(LocationType.BUILDING);
|
||||||
|
|
||||||
Mockito.when(locationServiceInterface.get(8L)).thenReturn(location);
|
Mockito.when(locationServiceInterface.get(8L)).thenReturn(location);
|
||||||
|
|
||||||
Customer customer = new Customer();
|
Customer customer = new Customer();
|
||||||
@@ -297,8 +279,7 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
childProfileIds.add(ssidProfile.getId());
|
childProfileIds.add(ssidProfile.getId());
|
||||||
apProfile.setChildProfileIds(childProfileIds);
|
apProfile.setChildProfileIds(childProfileIds);
|
||||||
|
|
||||||
Mockito.when(profileServiceInterface.create(ArgumentMatchers.any(Profile.class))).thenReturn(apProfile)
|
Mockito.when(profileServiceInterface.create(ArgumentMatchers.any(Profile.class))).thenReturn(apProfile).thenReturn(ssidProfile).thenReturn(rfProfile);
|
||||||
.thenReturn(ssidProfile).thenReturn(rfProfile);
|
|
||||||
Mockito.when(profileServiceInterface.update(ArgumentMatchers.any(Profile.class))).thenReturn(apProfile);
|
Mockito.when(profileServiceInterface.update(ArgumentMatchers.any(Profile.class))).thenReturn(apProfile);
|
||||||
|
|
||||||
List<Profile> profileList = new ArrayList<>();
|
List<Profile> profileList = new ArrayList<>();
|
||||||
@@ -319,27 +300,21 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
|
|
||||||
Mockito.when(equipmentServiceInterface.get(1L)).thenReturn(equipment);
|
Mockito.when(equipmentServiceInterface.get(1L)).thenReturn(equipment);
|
||||||
|
|
||||||
Mockito.when(equipmentServiceInterface.create(ArgumentMatchers.any(Equipment.class)))
|
Mockito.when(equipmentServiceInterface.create(ArgumentMatchers.any(Equipment.class))).thenAnswer(i -> i.getArguments()[0]);
|
||||||
.thenAnswer(i -> i.getArguments()[0]);
|
Mockito.when(equipmentServiceInterface.update(ArgumentMatchers.any(Equipment.class))).thenAnswer(i -> i.getArguments()[0]);
|
||||||
Mockito.when(equipmentServiceInterface.update(ArgumentMatchers.any(Equipment.class)))
|
Mockito.when(equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.eq("Test_Client_21P10C68818122"))).thenReturn(null);
|
||||||
.thenAnswer(i -> i.getArguments()[0]);
|
|
||||||
Mockito.when(
|
|
||||||
equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.eq("Test_Client_21P10C68818122")))
|
|
||||||
.thenReturn(null);
|
|
||||||
|
|
||||||
Status fwStatus = new Status();
|
Status fwStatus = new Status();
|
||||||
fwStatus.setDetails(new EquipmentUpgradeStatusData());
|
fwStatus.setDetails(new EquipmentUpgradeStatusData());
|
||||||
Mockito.when(statusServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
|
Mockito.when(statusServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(), ArgumentMatchers.eq(StatusDataType.FIRMWARE)))
|
||||||
ArgumentMatchers.eq(StatusDataType.FIRMWARE))).thenReturn(fwStatus);
|
.thenReturn(fwStatus);
|
||||||
|
|
||||||
Mockito.when(firmwareServiceInterface.getDefaultCustomerTrackSetting())
|
Mockito.when(firmwareServiceInterface.getDefaultCustomerTrackSetting()).thenReturn(new CustomerFirmwareTrackSettings());
|
||||||
.thenReturn(new CustomerFirmwareTrackSettings());
|
|
||||||
CustomerFirmwareTrackRecord fwTrackRecord = new CustomerFirmwareTrackRecord();
|
CustomerFirmwareTrackRecord fwTrackRecord = new CustomerFirmwareTrackRecord();
|
||||||
fwTrackRecord.setSettings(new CustomerFirmwareTrackSettings());
|
fwTrackRecord.setSettings(new CustomerFirmwareTrackSettings());
|
||||||
fwTrackRecord.setTrackRecordId(3);
|
fwTrackRecord.setTrackRecordId(3);
|
||||||
fwTrackRecord.setCustomerId(2);
|
fwTrackRecord.setCustomerId(2);
|
||||||
Mockito.when(firmwareServiceInterface.getCustomerFirmwareTrackRecord(ArgumentMatchers.anyInt()))
|
Mockito.when(firmwareServiceInterface.getCustomerFirmwareTrackRecord(ArgumentMatchers.anyInt())).thenReturn(fwTrackRecord);
|
||||||
.thenReturn(fwTrackRecord);
|
|
||||||
|
|
||||||
OvsdbSession session = Mockito.mock(OvsdbSession.class);
|
OvsdbSession session = Mockito.mock(OvsdbSession.class);
|
||||||
|
|
||||||
@@ -351,7 +326,7 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
Mockito.verify(customerServiceInterface).getOrNull(ArgumentMatchers.anyInt());
|
Mockito.verify(customerServiceInterface).getOrNull(ArgumentMatchers.anyInt());
|
||||||
Mockito.verify(equipmentServiceInterface).getByInventoryIdOrNull("Test_Client_21P10C68818122");
|
Mockito.verify(equipmentServiceInterface).getByInventoryIdOrNull("Test_Client_21P10C68818122");
|
||||||
Mockito.verify(firmwareServiceInterface).getDefaultCustomerTrackSetting();
|
Mockito.verify(firmwareServiceInterface).getDefaultCustomerTrackSetting();
|
||||||
Mockito.verify(locationServiceInterface).get(ArgumentMatchers.anyLong());
|
Mockito.verify(locationServiceInterface, Mockito.times(2)).get(ArgumentMatchers.anyLong());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -364,18 +339,19 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
ssidProfile.setDetails(SsidConfiguration.createWithDefaults());
|
ssidProfile.setDetails(SsidConfiguration.createWithDefaults());
|
||||||
|
|
||||||
apProfile.setChildProfileIds(ImmutableSet.of(ssidProfile.getId()));
|
apProfile.setChildProfileIds(ImmutableSet.of(ssidProfile.getId()));
|
||||||
Mockito.when(profileServiceInterface.create(ArgumentMatchers.any(Profile.class)))
|
Mockito.when(profileServiceInterface.create(ArgumentMatchers.any(Profile.class))).thenAnswer(i -> i.getArguments()[0]);
|
||||||
.thenAnswer(i -> i.getArguments()[0]);
|
|
||||||
// .thenReturn(ssidProfile);
|
// .thenReturn(ssidProfile);
|
||||||
Mockito.when(profileServiceInterface.update(ArgumentMatchers.any(Profile.class)))
|
Mockito.when(profileServiceInterface.update(ArgumentMatchers.any(Profile.class))).thenAnswer(i -> i.getArguments()[0]);
|
||||||
.thenAnswer(i -> i.getArguments()[0]);
|
|
||||||
|
|
||||||
Location location = new Location();
|
Location location = new Location();
|
||||||
location.setId(8L);
|
location.setId(8L);
|
||||||
location.setCustomerId(2);
|
location.setCustomerId(2);
|
||||||
location.setDetails(LocationDetails.createWithDefaults());
|
LocationDetails details = LocationDetails.createWithDefaults();
|
||||||
|
details.setCountryCode(CountryCode.CA);
|
||||||
|
location.setDetails(details);
|
||||||
location.setName("Location-UT");
|
location.setName("Location-UT");
|
||||||
location.setLocationType(LocationType.BUILDING);
|
location.setLocationType(LocationType.BUILDING);
|
||||||
|
Mockito.when(locationServiceInterface.get(8L)).thenReturn(location);
|
||||||
|
|
||||||
Equipment equipment = new Equipment();
|
Equipment equipment = new Equipment();
|
||||||
equipment.setCustomerId(2);
|
equipment.setCustomerId(2);
|
||||||
@@ -387,26 +363,20 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
equipment.setDetails(ApElementConfiguration.createWithDefaults());
|
equipment.setDetails(ApElementConfiguration.createWithDefaults());
|
||||||
Status fwStatus = new Status();
|
Status fwStatus = new Status();
|
||||||
fwStatus.setDetails(new EquipmentUpgradeStatusData());
|
fwStatus.setDetails(new EquipmentUpgradeStatusData());
|
||||||
Mockito.when(statusServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
|
Mockito.when(statusServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(), ArgumentMatchers.eq(StatusDataType.FIRMWARE)))
|
||||||
ArgumentMatchers.eq(StatusDataType.FIRMWARE))).thenReturn(fwStatus);
|
.thenReturn(fwStatus);
|
||||||
|
|
||||||
Mockito.when(firmwareServiceInterface.getDefaultCustomerTrackSetting())
|
Mockito.when(firmwareServiceInterface.getDefaultCustomerTrackSetting()).thenReturn(new CustomerFirmwareTrackSettings());
|
||||||
.thenReturn(new CustomerFirmwareTrackSettings());
|
|
||||||
CustomerFirmwareTrackRecord fwTrackRecord = new CustomerFirmwareTrackRecord();
|
CustomerFirmwareTrackRecord fwTrackRecord = new CustomerFirmwareTrackRecord();
|
||||||
fwTrackRecord.setSettings(new CustomerFirmwareTrackSettings());
|
fwTrackRecord.setSettings(new CustomerFirmwareTrackSettings());
|
||||||
fwTrackRecord.setTrackRecordId(3);
|
fwTrackRecord.setTrackRecordId(3);
|
||||||
fwTrackRecord.setCustomerId(2);
|
fwTrackRecord.setCustomerId(2);
|
||||||
Mockito.when(firmwareServiceInterface.getCustomerFirmwareTrackRecord(ArgumentMatchers.anyInt()))
|
Mockito.when(firmwareServiceInterface.getCustomerFirmwareTrackRecord(ArgumentMatchers.anyInt())).thenReturn(fwTrackRecord);
|
||||||
.thenReturn(fwTrackRecord);
|
|
||||||
Mockito.when(equipmentServiceInterface.get(1L)).thenReturn(equipment);
|
Mockito.when(equipmentServiceInterface.get(1L)).thenReturn(equipment);
|
||||||
|
|
||||||
Mockito.when(equipmentServiceInterface.create(ArgumentMatchers.any(Equipment.class)))
|
Mockito.when(equipmentServiceInterface.create(ArgumentMatchers.any(Equipment.class))).thenAnswer(i -> i.getArguments()[0]);
|
||||||
.thenAnswer(i -> i.getArguments()[0]);
|
Mockito.when(equipmentServiceInterface.update(ArgumentMatchers.any(Equipment.class))).thenAnswer(i -> i.getArguments()[0]);
|
||||||
Mockito.when(equipmentServiceInterface.update(ArgumentMatchers.any(Equipment.class)))
|
Mockito.when(equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.eq("Test_Client_21P10C68818122"))).thenReturn(equipment);
|
||||||
.thenAnswer(i -> i.getArguments()[0]);
|
|
||||||
Mockito.when(
|
|
||||||
equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.eq("Test_Client_21P10C68818122")))
|
|
||||||
.thenReturn(equipment);
|
|
||||||
|
|
||||||
Customer customer = new Customer();
|
Customer customer = new Customer();
|
||||||
customer.setId(2);
|
customer.setId(2);
|
||||||
@@ -452,8 +422,7 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
ssidProfile.setDetails(SsidConfiguration.createWithDefaults());
|
ssidProfile.setDetails(SsidConfiguration.createWithDefaults());
|
||||||
|
|
||||||
List<Profile> profileWithChildren = ImmutableList.of(apProfile, ssidProfile);
|
List<Profile> profileWithChildren = ImmutableList.of(apProfile, ssidProfile);
|
||||||
Mockito.when(profileServiceInterface.getProfileWithChildren(ArgumentMatchers.anyLong()))
|
Mockito.when(profileServiceInterface.getProfileWithChildren(ArgumentMatchers.anyLong())).thenReturn(profileWithChildren);
|
||||||
.thenReturn(profileWithChildren);
|
|
||||||
|
|
||||||
assertNotNull(opensyncExternalIntegrationCloud.getApConfig("Test_Client_21P10C68818122"));
|
assertNotNull(opensyncExternalIntegrationCloud.getApConfig("Test_Client_21P10C68818122"));
|
||||||
|
|
||||||
@@ -476,21 +445,10 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testExtractApIdFromTopic() {
|
|
||||||
|
|
||||||
String topic = "/ap/Test_Client_21P10C68818122/opensync";
|
|
||||||
|
|
||||||
assertEquals("Test_Client_21P10C68818122",
|
|
||||||
OpensyncExternalIntegrationMqttMessageProcessor.extractApIdFromTopic(topic));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testProcessMqttMessageStringReport() {
|
public void testProcessMqttMessageStringReport() {
|
||||||
|
|
||||||
Report report = Report.newBuilder().setNodeID("21P10C68818122")
|
Report report = Report.newBuilder().setNodeID("21P10C68818122").addAllClients(getOpensyncStatsClientReportsList())
|
||||||
.addAllClients(getOpensyncStatsClientReportsList())
|
|
||||||
.addAllEventReport(getOpensyncStatsEventReportsList()).build();
|
.addAllEventReport(getOpensyncStatsEventReportsList()).build();
|
||||||
|
|
||||||
String topic = "/ap/Test_Client_21P10C68818122/opensync";
|
String topic = "/ap/Test_Client_21P10C68818122/opensync";
|
||||||
@@ -503,39 +461,31 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
activeBssidsDetails.setActiveBSSIDs(getActiveBssidList());
|
activeBssidsDetails.setActiveBSSIDs(getActiveBssidList());
|
||||||
bssidStatus.setDetails(activeBssidsDetails);
|
bssidStatus.setDetails(activeBssidsDetails);
|
||||||
|
|
||||||
Mockito.when(statusServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
|
Mockito.when(statusServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(), ArgumentMatchers.eq(StatusDataType.ACTIVE_BSSIDS)))
|
||||||
ArgumentMatchers.eq(StatusDataType.ACTIVE_BSSIDS))).thenReturn(bssidStatus);
|
.thenReturn(bssidStatus);
|
||||||
|
|
||||||
Mockito.when(statusServiceInterface.update(ArgumentMatchers.any(Status.class))).thenReturn(bssidStatus);
|
Mockito.when(statusServiceInterface.update(ArgumentMatchers.any(Status.class))).thenReturn(bssidStatus);
|
||||||
com.telecominfraproject.wlan.client.models.Client clientInstance = new com.telecominfraproject.wlan.client.models.Client();
|
com.telecominfraproject.wlan.client.models.Client clientInstance = new com.telecominfraproject.wlan.client.models.Client();
|
||||||
clientInstance.setMacAddress(new MacAddress("7C:AB:60:E6:EA:4D"));
|
clientInstance.setMacAddress(MacAddress.valueOf("7C:AB:60:E6:EA:4D"));
|
||||||
clientInstance.setDetails(new ClientInfoDetails());
|
clientInstance.setDetails(new ClientInfoDetails());
|
||||||
com.telecominfraproject.wlan.client.models.Client clientInstance2 = new com.telecominfraproject.wlan.client.models.Client();
|
com.telecominfraproject.wlan.client.models.Client clientInstance2 = new com.telecominfraproject.wlan.client.models.Client();
|
||||||
clientInstance2.setMacAddress(new MacAddress("C0:9A:D0:76:A9:69"));
|
clientInstance2.setMacAddress(MacAddress.valueOf("C0:9A:D0:76:A9:69"));
|
||||||
clientInstance2.setDetails(new ClientInfoDetails());
|
clientInstance2.setDetails(new ClientInfoDetails());
|
||||||
Mockito.when(
|
Mockito.when(clientServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.any(MacAddress.class))).thenReturn(clientInstance)
|
||||||
clientServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.any(MacAddress.class)))
|
.thenReturn(clientInstance2);
|
||||||
.thenReturn(clientInstance).thenReturn(clientInstance2);
|
Mockito.when(clientServiceInterface.update(ArgumentMatchers.any(com.telecominfraproject.wlan.client.models.Client.class))).thenReturn(clientInstance)
|
||||||
Mockito.when(clientServiceInterface
|
.thenReturn(clientInstance2);
|
||||||
.update(ArgumentMatchers.any(com.telecominfraproject.wlan.client.models.Client.class)))
|
|
||||||
.thenReturn(clientInstance).thenReturn(clientInstance2);
|
|
||||||
|
|
||||||
ClientSession clientSession = new ClientSession();
|
ClientSession clientSession = new ClientSession();
|
||||||
clientSession.setMacAddress(new MacAddress("7C:AB:60:E6:EA:4D"));
|
clientSession.setMacAddress(MacAddress.valueOf("7C:AB:60:E6:EA:4D"));
|
||||||
clientSession.setDetails(new ClientSessionDetails());
|
clientSession.setDetails(new ClientSessionDetails());
|
||||||
ClientSession clientSession2 = new ClientSession();
|
ClientSession clientSession2 = new ClientSession();
|
||||||
clientSession2.setMacAddress(new MacAddress("C0:9A:D0:76:A9:69"));
|
clientSession2.setMacAddress(MacAddress.valueOf("C0:9A:D0:76:A9:69"));
|
||||||
clientSession2.setDetails(new ClientSessionDetails());
|
clientSession2.setDetails(new ClientSessionDetails());
|
||||||
Mockito.when(clientServiceInterface.getSessionOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
|
Mockito.when(clientServiceInterface.getSessionOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(), ArgumentMatchers.any(MacAddress.class)))
|
||||||
ArgumentMatchers.any(MacAddress.class))).thenReturn(clientSession).thenReturn(clientSession2);
|
|
||||||
|
|
||||||
Mockito.when(clientServiceInterface.updateSession(ArgumentMatchers.any(ClientSession.class)))
|
|
||||||
.thenReturn(clientSession).thenReturn(clientSession2);
|
.thenReturn(clientSession).thenReturn(clientSession2);
|
||||||
|
|
||||||
opensyncExternalIntegrationCloud.processMqttMessage(topic, report);
|
Mockito.when(clientServiceInterface.updateSession(ArgumentMatchers.any(ClientSession.class))).thenReturn(clientSession).thenReturn(clientSession2);
|
||||||
|
|
||||||
Mockito.verify(opensyncExternalIntegrationMqttProcessor, Mockito.times(1)).processMqttMessage(topic, report);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Ignore
|
@Ignore
|
||||||
@@ -603,16 +553,16 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
|
|
||||||
OvsdbSession session = Mockito.mock(OvsdbSession.class);
|
OvsdbSession session = Mockito.mock(OvsdbSession.class);
|
||||||
Mockito.when(session.getEquipmentId()).thenReturn(1L);
|
Mockito.when(session.getEquipmentId()).thenReturn(1L);
|
||||||
Mockito.when(session.getCustomerId()).thenReturn(2);
|
|
||||||
|
|
||||||
Equipment equipment = new Equipment();
|
Equipment equipment = new Equipment();
|
||||||
equipment.setCustomerId(1);
|
equipment.setCustomerId(2);
|
||||||
|
equipment.setId(1L);
|
||||||
equipment.setEquipmentType(EquipmentType.AP);
|
equipment.setEquipmentType(EquipmentType.AP);
|
||||||
equipment.setInventoryId(apId);
|
equipment.setInventoryId(apId);
|
||||||
equipment.setProfileId(1);
|
equipment.setProfileId(1);
|
||||||
equipment.setDetails(ApElementConfiguration.createWithDefaults());
|
equipment.setDetails(ApElementConfiguration.createWithDefaults());
|
||||||
|
|
||||||
Mockito.when(equipmentServiceInterface.getByInventoryIdOrNull(apId)).thenReturn(equipment);
|
Mockito.when(equipmentServiceInterface.getOrNull(1L)).thenReturn(equipment);
|
||||||
Mockito.when(equipmentServiceInterface.get(equipment.getId())).thenReturn(equipment);
|
Mockito.when(equipmentServiceInterface.get(equipment.getId())).thenReturn(equipment);
|
||||||
Mockito.when(equipmentServiceInterface.update(equipment)).thenReturn(equipment);
|
Mockito.when(equipmentServiceInterface.update(equipment)).thenReturn(equipment);
|
||||||
|
|
||||||
@@ -638,15 +588,13 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
|
|
||||||
Mockito.when(ovsdbSessionMapInterface.getSession(apId)).thenReturn(session);
|
Mockito.when(ovsdbSessionMapInterface.getSession(apId)).thenReturn(session);
|
||||||
|
|
||||||
opensyncExternalIntegrationCloud.wifiVIFStateDbTableUpdate(ImmutableList.of(vifState1, vifState2, vifState3),
|
opensyncExternalIntegrationCloud.wifiVIFStateDbTableUpdate(ImmutableList.of(vifState1, vifState2, vifState3), apId);
|
||||||
apId);
|
|
||||||
|
|
||||||
Mockito.verify(session).getCustomerId();
|
|
||||||
Mockito.verify(session).getEquipmentId();
|
Mockito.verify(session).getEquipmentId();
|
||||||
Mockito.verify(ovsdbSessionMapInterface).getSession(apId);
|
Mockito.verify(ovsdbSessionMapInterface).getSession(apId);
|
||||||
Mockito.verify(equipmentServiceInterface).getByInventoryIdOrNull(apId);
|
Mockito.verify(equipmentServiceInterface).getOrNull(1L);
|
||||||
|
|
||||||
Mockito.verify(statusServiceInterface).getOrNull(2, 1L, StatusDataType.CLIENT_DETAILS);
|
Mockito.verify(statusServiceInterface).getOrNull(2, 1L, StatusDataType.CLIENT_DETAILS);
|
||||||
|
|
||||||
Mockito.verify(statusServiceInterface).getOrNull(2, 1L, StatusDataType.ACTIVE_BSSIDS);
|
Mockito.verify(statusServiceInterface).getOrNull(2, 1L, StatusDataType.ACTIVE_BSSIDS);
|
||||||
Mockito.verify(statusServiceInterface).update(clientStatus);
|
Mockito.verify(statusServiceInterface).update(clientStatus);
|
||||||
|
|
||||||
@@ -678,8 +626,7 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
radioState3.setChannel(149);
|
radioState3.setChannel(149);
|
||||||
radioState3.setVifStates(ImmutableSet.of(new Uuid(UUID.randomUUID())));
|
radioState3.setVifStates(ImmutableSet.of(new Uuid(UUID.randomUUID())));
|
||||||
radioState3.setFreqBand(RadioType.is5GHzL);
|
radioState3.setFreqBand(RadioType.is5GHzL);
|
||||||
radioState3.setAllowedChannels(
|
radioState3.setAllowedChannels(ImmutableSet.of(00, 104, 108, 112, 116, 132, 136, 140, 144, 149, 153, 157, 161, 165));
|
||||||
ImmutableSet.of(00, 104, 108, 112, 116, 132, 136, 140, 144, 149, 153, 157, 161, 165));
|
|
||||||
radioState3.setTxPower(32);
|
radioState3.setTxPower(32);
|
||||||
radioState3.setEnabled(true);
|
radioState3.setEnabled(true);
|
||||||
radioState3.setCountry("CA");
|
radioState3.setCountry("CA");
|
||||||
@@ -697,12 +644,24 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
protocolStatus.setCustomerId(2);
|
protocolStatus.setCustomerId(2);
|
||||||
protocolStatus.setEquipmentId(1L);
|
protocolStatus.setEquipmentId(1L);
|
||||||
EquipmentProtocolStatusData protocolStatusData = new EquipmentProtocolStatusData();
|
EquipmentProtocolStatusData protocolStatusData = new EquipmentProtocolStatusData();
|
||||||
protocolStatusData.setReportedCC(CountryCode.ca);
|
protocolStatusData.setReportedCC(CountryCode.CA);
|
||||||
protocolStatus.setDetails(protocolStatusData);
|
protocolStatus.setDetails(protocolStatusData);
|
||||||
protocolStatus.setStatusDataType(StatusDataType.PROTOCOL);
|
protocolStatus.setStatusDataType(StatusDataType.PROTOCOL);
|
||||||
|
|
||||||
Mockito.when(statusServiceInterface.getOrNull(2, 1L, StatusDataType.PROTOCOL)).thenReturn(protocolStatus);
|
Mockito.when(statusServiceInterface.getOrNull(2, 1L, StatusDataType.PROTOCOL)).thenReturn(protocolStatus);
|
||||||
|
|
||||||
|
Status channelStatus = new Status();
|
||||||
|
channelStatus.setCustomerId(2);
|
||||||
|
channelStatus.setEquipmentId(1L);
|
||||||
|
EquipmentChannelStatusData channelStatusData = new EquipmentChannelStatusData();
|
||||||
|
Map<RadioType, Integer> channelStatusDataMap = new EnumMap<>(RadioType.class);
|
||||||
|
channelStatusDataMap.put(RadioType.is2dot4GHz, 6);
|
||||||
|
channelStatusDataMap.put(RadioType.is5GHzL, 36);
|
||||||
|
channelStatusDataMap.put(RadioType.is5GHzU, 157);
|
||||||
|
channelStatusData.setChannelNumberStatusDataMap(channelStatusDataMap);
|
||||||
|
channelStatus.setDetails(channelStatusData);
|
||||||
|
|
||||||
|
Mockito.when(statusServiceInterface.getOrNull(2, 1L, StatusDataType.RADIO_CHANNEL)).thenReturn(channelStatus);
|
||||||
Status bssidStatus = new Status();
|
Status bssidStatus = new Status();
|
||||||
bssidStatus.setStatusDataType(StatusDataType.ACTIVE_BSSIDS);
|
bssidStatus.setStatusDataType(StatusDataType.ACTIVE_BSSIDS);
|
||||||
bssidStatus.setCustomerId(2);
|
bssidStatus.setCustomerId(2);
|
||||||
@@ -713,8 +672,6 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
|
|
||||||
Mockito.when(statusServiceInterface.getOrNull(2, 1L, StatusDataType.ACTIVE_BSSIDS)).thenReturn(bssidStatus);
|
Mockito.when(statusServiceInterface.getOrNull(2, 1L, StatusDataType.ACTIVE_BSSIDS)).thenReturn(bssidStatus);
|
||||||
|
|
||||||
Mockito.when(statusServiceInterface.update(bssidStatus)).thenReturn(bssidStatus);
|
|
||||||
|
|
||||||
Status clientStatus = new Status();
|
Status clientStatus = new Status();
|
||||||
clientStatus.setCustomerId(2);
|
clientStatus.setCustomerId(2);
|
||||||
clientStatus.setEquipmentId(1L);
|
clientStatus.setEquipmentId(1L);
|
||||||
@@ -726,24 +683,22 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
clientStatus.setDetails(clientConnectionDetails);
|
clientStatus.setDetails(clientConnectionDetails);
|
||||||
|
|
||||||
Mockito.when(statusServiceInterface.getOrNull(2, 1L, StatusDataType.CLIENT_DETAILS)).thenReturn(clientStatus);
|
Mockito.when(statusServiceInterface.getOrNull(2, 1L, StatusDataType.CLIENT_DETAILS)).thenReturn(clientStatus);
|
||||||
Mockito.when(statusServiceInterface.update(clientStatus)).thenReturn(clientStatus);
|
Mockito.when(statusServiceInterface.update(Mockito.any(Status.class))).thenReturn(channelStatus).thenReturn(bssidStatus).thenReturn(clientStatus);
|
||||||
|
|
||||||
OvsdbSession session = Mockito.mock(OvsdbSession.class);
|
OvsdbSession session = Mockito.mock(OvsdbSession.class);
|
||||||
Mockito.when(session.getEquipmentId()).thenReturn(1L);
|
Mockito.when(session.getEquipmentId()).thenReturn(1L);
|
||||||
Mockito.when(session.getCustomerId()).thenReturn(2);
|
|
||||||
|
|
||||||
Mockito.when(ovsdbSessionMapInterface.getSession(apId)).thenReturn(session);
|
Mockito.when(ovsdbSessionMapInterface.getSession(apId)).thenReturn(session);
|
||||||
|
|
||||||
opensyncExternalIntegrationCloud
|
opensyncExternalIntegrationCloud.wifiRadioStatusDbTableUpdate(ImmutableList.of(radioState1, radioState2, radioState3), apId);
|
||||||
.wifiRadioStatusDbTableUpdate(ImmutableList.of(radioState1, radioState2, radioState3), apId);
|
|
||||||
|
|
||||||
Mockito.verify(session).getCustomerId();
|
|
||||||
Mockito.verify(session).getEquipmentId();
|
Mockito.verify(session).getEquipmentId();
|
||||||
|
|
||||||
Mockito.verify(ovsdbSessionMapInterface).getSession(apId);
|
Mockito.verify(ovsdbSessionMapInterface).getSession(apId);
|
||||||
Mockito.verify(equipmentServiceInterface, Mockito.times(2)).getByInventoryIdOrNull(apId);
|
Mockito.verify(equipmentServiceInterface, Mockito.times(1)).getByInventoryIdOrNull(apId);
|
||||||
|
Mockito.verify(statusServiceInterface, Mockito.times(1)).getOrNull(1, 1L, StatusDataType.RADIO_CHANNEL);
|
||||||
|
|
||||||
Mockito.verify(statusServiceInterface, Mockito.times(3)).getOrNull(2, 1L, StatusDataType.PROTOCOL);
|
Mockito.verify(statusServiceInterface, Mockito.times(3)).getOrNull(1, 1L, StatusDataType.PROTOCOL);
|
||||||
Mockito.verify(statusServiceInterface, Mockito.never()).update(bssidStatus);
|
Mockito.verify(statusServiceInterface, Mockito.never()).update(bssidStatus);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -765,6 +720,23 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testWifiVIFStateDbTableDelete() {
|
public void testWifiVIFStateDbTableDelete() {
|
||||||
|
String apId = "Test_Client_21P10C68818122";
|
||||||
|
|
||||||
|
Equipment equipment = new Equipment();
|
||||||
|
equipment.setCustomerId(2);
|
||||||
|
equipment.setId(1L);
|
||||||
|
equipment.setEquipmentType(EquipmentType.AP);
|
||||||
|
equipment.setInventoryId(apId);
|
||||||
|
equipment.setProfileId(1);
|
||||||
|
equipment.setDetails(ApElementConfiguration.createWithDefaults());
|
||||||
|
|
||||||
|
Mockito.when(equipmentServiceInterface.getByInventoryIdOrNull(apId)).thenReturn(equipment);
|
||||||
|
Mockito.when(equipmentServiceInterface.getOrNull(1L)).thenReturn(equipment);
|
||||||
|
|
||||||
|
OvsdbSession session = new OvsdbSession();
|
||||||
|
session.setApId(apId);
|
||||||
|
session.setEquipmentId(1L);
|
||||||
|
Mockito.when(ovsdbSessionMapInterface.getSession(apId)).thenReturn(session);
|
||||||
|
|
||||||
Status bssidStatus = new Status();
|
Status bssidStatus = new Status();
|
||||||
bssidStatus.setStatusDataType(StatusDataType.ACTIVE_BSSIDS);
|
bssidStatus.setStatusDataType(StatusDataType.ACTIVE_BSSIDS);
|
||||||
@@ -774,16 +746,36 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
activeBssidsDetails.setActiveBSSIDs(getActiveBssidList());
|
activeBssidsDetails.setActiveBSSIDs(getActiveBssidList());
|
||||||
bssidStatus.setDetails(activeBssidsDetails);
|
bssidStatus.setDetails(activeBssidsDetails);
|
||||||
|
|
||||||
Mockito.when(statusServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
|
Mockito.when(statusServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(), ArgumentMatchers.eq(StatusDataType.ACTIVE_BSSIDS)))
|
||||||
ArgumentMatchers.eq(StatusDataType.ACTIVE_BSSIDS))).thenReturn(bssidStatus);
|
.thenReturn(bssidStatus);
|
||||||
|
PaginationResponse<ClientSession> pr = Mockito.mock(PaginationResponse.class,Mockito.RETURNS_MOCKS);
|
||||||
|
Mockito.when(clientServiceInterface.getSessionsForCustomer(Mockito.anyInt(), Mockito.anySet(),
|
||||||
|
Mockito.anySet(), Mockito.isNull(), Mockito.isNull(), Mockito.any())).thenReturn(pr);
|
||||||
|
|
||||||
opensyncExternalIntegrationCloud.wifiVIFStateDbTableDelete(ImmutableList.of(new OpensyncAPVIFState()), "apId");
|
|
||||||
|
opensyncExternalIntegrationCloud.wifiVIFStateDbTableDelete(ImmutableList.of(new OpensyncAPVIFState()), "Test_Client_21P10C68818122");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testWifiAssociatedClientsDbTableDelete() {
|
public void testWifiAssociatedClientsDbTableDelete() {
|
||||||
|
String apId = "Test_Client_21P10C68818122";
|
||||||
|
|
||||||
opensyncExternalIntegrationCloud.wifiAssociatedClientsDbTableDelete("7C:AB:60:E6:EA:4D", "apId");
|
Equipment equipment = new Equipment();
|
||||||
|
equipment.setCustomerId(2);
|
||||||
|
equipment.setId(1L);
|
||||||
|
equipment.setEquipmentType(EquipmentType.AP);
|
||||||
|
equipment.setInventoryId(apId);
|
||||||
|
equipment.setProfileId(1);
|
||||||
|
equipment.setDetails(ApElementConfiguration.createWithDefaults());
|
||||||
|
|
||||||
|
Mockito.when(equipmentServiceInterface.getByInventoryIdOrNull(apId)).thenReturn(equipment);
|
||||||
|
Mockito.when(equipmentServiceInterface.getOrNull(1L)).thenReturn(equipment);
|
||||||
|
|
||||||
|
OvsdbSession session = new OvsdbSession();
|
||||||
|
session.setApId(apId);
|
||||||
|
session.setEquipmentId(1L);
|
||||||
|
Mockito.when(ovsdbSessionMapInterface.getSession(apId)).thenReturn(session);
|
||||||
|
opensyncExternalIntegrationCloud.wifiAssociatedClientsDbTableDelete("7C:AB:60:E6:EA:4D", "Test_Client_21P10C68818122");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Helper methods
|
// Helper methods
|
||||||
@@ -811,13 +803,9 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
return bssidList;
|
return bssidList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private List<EventReport> getOpensyncStatsEventReportsList() {
|
private List<EventReport> getOpensyncStatsEventReportsList() {
|
||||||
|
|
||||||
|
sts.OpensyncStats.EventReport.ClientAssocEvent.Builder clientAssocBuilder = EventReport.ClientAssocEvent.getDefaultInstance().toBuilder();
|
||||||
List<ClientAssocEvent> clientAssocEventList = new ArrayList<>();
|
|
||||||
sts.OpensyncStats.EventReport.ClientAssocEvent.Builder clientAssocBuilder = EventReport.ClientAssocEvent
|
|
||||||
.getDefaultInstance().toBuilder();
|
|
||||||
clientAssocBuilder.setAssocType(AssocType.ASSOC);
|
clientAssocBuilder.setAssocType(AssocType.ASSOC);
|
||||||
clientAssocBuilder.setBand(RadioBandType.BAND5GU);
|
clientAssocBuilder.setBand(RadioBandType.BAND5GU);
|
||||||
clientAssocBuilder.setRssi(-65);
|
clientAssocBuilder.setRssi(-65);
|
||||||
@@ -827,21 +815,7 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
clientAssocBuilder.setInternalSc(1);
|
clientAssocBuilder.setInternalSc(1);
|
||||||
clientAssocBuilder.setSsid("ssid-3");
|
clientAssocBuilder.setSsid("ssid-3");
|
||||||
clientAssocBuilder.setStatus(1);
|
clientAssocBuilder.setStatus(1);
|
||||||
|
clientAssocBuilder.setTimestampMs(System.currentTimeMillis());
|
||||||
sts.OpensyncStats.EventReport.ClientAssocEvent.Builder clientAssocBuilder2 = EventReport.ClientAssocEvent
|
|
||||||
.getDefaultInstance().toBuilder();
|
|
||||||
clientAssocBuilder2.setAssocType(AssocType.ASSOC);
|
|
||||||
clientAssocBuilder2.setBand(RadioBandType.BAND2G);
|
|
||||||
clientAssocBuilder2.setRssi(-65);
|
|
||||||
clientAssocBuilder2.setStaMac("7C:AB:60:E6:EA:4D");
|
|
||||||
clientAssocBuilder2.setStaMacBytes(ByteString.copyFrom("7C:AB:60:E6:EA:4D".getBytes()));
|
|
||||||
clientAssocBuilder2.setSessionId(1000L);
|
|
||||||
clientAssocBuilder2.setInternalSc(1);
|
|
||||||
clientAssocBuilder2.setSsid("ssid-1");
|
|
||||||
clientAssocBuilder2.setStatus(1);
|
|
||||||
|
|
||||||
clientAssocEventList.add(clientAssocBuilder.build());
|
|
||||||
clientAssocEventList.add(clientAssocBuilder2.build());
|
|
||||||
|
|
||||||
List<EventReport> eventReportList = new ArrayList<>();
|
List<EventReport> eventReportList = new ArrayList<>();
|
||||||
|
|
||||||
@@ -851,7 +825,7 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
|
|
||||||
clientSessionBuilder.setSessionId(1000L);
|
clientSessionBuilder.setSessionId(1000L);
|
||||||
|
|
||||||
clientSessionBuilder.addAllClientAssocEvent(clientAssocEventList);
|
clientSessionBuilder.setClientAssocEvent(clientAssocBuilder.build());
|
||||||
List<sts.OpensyncStats.EventReport.ClientSession> clientSessionList = new ArrayList<>();
|
List<sts.OpensyncStats.EventReport.ClientSession> clientSessionList = new ArrayList<>();
|
||||||
clientSessionList.add(clientSessionBuilder.build());
|
clientSessionList.add(clientSessionBuilder.build());
|
||||||
|
|
||||||
@@ -859,29 +833,26 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
|
|
||||||
eventReportList.add(eventReportBuilder.build());
|
eventReportList.add(eventReportBuilder.build());
|
||||||
|
|
||||||
|
|
||||||
return eventReportList;
|
return eventReportList;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<ClientReport> getOpensyncStatsClientReportsList() {
|
private List<ClientReport> getOpensyncStatsClientReportsList() {
|
||||||
int rssi = Long.valueOf(4294967239L).intValue();
|
int rssi = Long.valueOf(4294967239L).intValue();
|
||||||
|
|
||||||
Client.Stats clientStats = Client.Stats.getDefaultInstance().toBuilder().setRssi(rssi).setRxBytes(225554786)
|
Client.Stats clientStats = Client.Stats.getDefaultInstance().toBuilder().setRssi(rssi).setRxBytes(225554786).setRxRate(24000.0).setTxBytes(1208133026)
|
||||||
.setRxRate(24000.0).setTxBytes(1208133026).setTxRate(433300.0).setRssi(758722570).setRxFrames(10000)
|
.setTxRate(433300.0).setRssi(758722570).setRxFrames(10000).setTxFrames(10000).setTxRate(24000.0).build();
|
||||||
.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)
|
||||||
Client client2g = Client.getDefaultInstance().toBuilder().setMacAddress("7C:AB:60:E6:EA:4D").setSsid("ssid-1")
|
.setStats(clientStats).build();
|
||||||
.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)
|
||||||
Client client5gu = Client.getDefaultInstance().toBuilder().setMacAddress("C0:9A:D0:76:A9:69").setSsid("ssid-3")
|
.setStats(clientStats).build();
|
||||||
.setConnected(true).setDurationMs(298127).setStats(clientStats).build();
|
|
||||||
|
|
||||||
ClientReport clientReport2g = ClientReport.getDefaultInstance().toBuilder().setBand(RadioBandType.BAND2G)
|
ClientReport clientReport2g =
|
||||||
.setChannel(6).addAllClientList(ImmutableList.of(client2g)).build();
|
ClientReport.getDefaultInstance().toBuilder().setBand(RadioBandType.BAND2G).setChannel(6).addAllClientList(ImmutableList.of(client2g)).build();
|
||||||
ClientReport clientReport5gl = ClientReport.getDefaultInstance().toBuilder().setBand(RadioBandType.BAND5GL)
|
ClientReport clientReport5gl =
|
||||||
.setChannel(36).addAllClientList(new ArrayList<Client>()).build();
|
ClientReport.getDefaultInstance().toBuilder().setBand(RadioBandType.BAND5GL).setChannel(36).addAllClientList(new ArrayList<Client>()).build();
|
||||||
ClientReport clientReport5gu = ClientReport.getDefaultInstance().toBuilder().setBand(RadioBandType.BAND5GU)
|
ClientReport clientReport5gu = ClientReport.getDefaultInstance().toBuilder().setBand(RadioBandType.BAND5GU).setChannel(157)
|
||||||
.setChannel(157).addAllClientList(ImmutableList.of(client5gu)).build();
|
.addAllClientList(ImmutableList.of(client5gu)).build();
|
||||||
|
|
||||||
List<ClientReport> clients = new ArrayList<>();
|
List<ClientReport> clients = new ArrayList<>();
|
||||||
clients.add(clientReport2g);
|
clients.add(clientReport2g);
|
||||||
@@ -910,8 +881,7 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
connectNodeInfo.skuNumber = "connectus.ai_21P10C68818122";
|
connectNodeInfo.skuNumber = "connectus.ai_21P10C68818122";
|
||||||
connectNodeInfo.redirectorAddr = "ssl:opensync.zone1.art2wave.com:6643";
|
connectNodeInfo.redirectorAddr = "ssl:opensync.zone1.art2wave.com:6643";
|
||||||
connectNodeInfo.platformVersion = "OPENWRT_EA8300";
|
connectNodeInfo.platformVersion = "OPENWRT_EA8300";
|
||||||
connectNodeInfo.wifiRadioStates = ImmutableMap.of("2.4G", "home-ap-24", "5GL", "home-ap-l50", "5GU",
|
connectNodeInfo.wifiRadioStates = ImmutableMap.of("2.4G", "home-ap-24", "5GL", "home-ap-l50", "5GU", "home-ap-u50");
|
||||||
"home-ap-u50");
|
|
||||||
|
|
||||||
Map<String, String> versionMatrix = new HashMap<>();
|
Map<String, String> versionMatrix = new HashMap<>();
|
||||||
versionMatrix.put("DATE", "Thu Jul 16 18:52:06 UTC 2020");
|
versionMatrix.put("DATE", "Thu Jul 16 18:52:06 UTC 2020");
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.telecominfraproject.wlan.opensync.external.integration;
|
package com.telecominfraproject.wlan.opensync.external.integration.utils;
|
||||||
|
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
@@ -39,8 +39,13 @@ import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
|
|||||||
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
||||||
import com.telecominfraproject.wlan.customer.service.CustomerServiceInterface;
|
import com.telecominfraproject.wlan.customer.service.CustomerServiceInterface;
|
||||||
import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface;
|
import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.Equipment;
|
||||||
import com.telecominfraproject.wlan.firmware.FirmwareServiceInterface;
|
import com.telecominfraproject.wlan.firmware.FirmwareServiceInterface;
|
||||||
import com.telecominfraproject.wlan.location.service.LocationServiceInterface;
|
import com.telecominfraproject.wlan.location.service.LocationServiceInterface;
|
||||||
|
import com.telecominfraproject.wlan.opensync.external.integration.OpensyncExternalIntegrationCloud;
|
||||||
|
import com.telecominfraproject.wlan.opensync.external.integration.OvsdbSession;
|
||||||
|
import com.telecominfraproject.wlan.opensync.external.integration.OvsdbSessionMapInterface;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.controller.OpensyncCloudGatewayController;
|
import com.telecominfraproject.wlan.opensync.external.integration.controller.OpensyncCloudGatewayController;
|
||||||
import com.telecominfraproject.wlan.profile.ProfileServiceInterface;
|
import com.telecominfraproject.wlan.profile.ProfileServiceInterface;
|
||||||
import com.telecominfraproject.wlan.routing.RoutingServiceInterface;
|
import com.telecominfraproject.wlan.routing.RoutingServiceInterface;
|
||||||
@@ -53,26 +58,28 @@ import com.telecominfraproject.wlan.status.models.Status;
|
|||||||
import com.telecominfraproject.wlan.status.models.StatusDataType;
|
import com.telecominfraproject.wlan.status.models.StatusDataType;
|
||||||
|
|
||||||
import sts.OpensyncStats.AssocType;
|
import sts.OpensyncStats.AssocType;
|
||||||
|
import sts.OpensyncStats.ChannelSwitchReason;
|
||||||
import sts.OpensyncStats.Client;
|
import sts.OpensyncStats.Client;
|
||||||
import sts.OpensyncStats.ClientReport;
|
import sts.OpensyncStats.ClientReport;
|
||||||
import sts.OpensyncStats.DNSProbeMetric;
|
import sts.OpensyncStats.DNSProbeMetric;
|
||||||
import sts.OpensyncStats.EventReport;
|
import sts.OpensyncStats.EventReport;
|
||||||
|
import sts.OpensyncStats.EventReport.ChannelSwitchEvent;
|
||||||
|
import sts.OpensyncStats.EventReport.ClientAssocEvent;
|
||||||
import sts.OpensyncStats.NetworkProbe;
|
import sts.OpensyncStats.NetworkProbe;
|
||||||
import sts.OpensyncStats.RADIUSMetrics;
|
import sts.OpensyncStats.RADIUSMetrics;
|
||||||
import sts.OpensyncStats.RadioBandType;
|
import sts.OpensyncStats.RadioBandType;
|
||||||
import sts.OpensyncStats.Report;
|
import sts.OpensyncStats.Report;
|
||||||
import sts.OpensyncStats.StateUpDown;
|
import sts.OpensyncStats.StateUpDown;
|
||||||
import sts.OpensyncStats.VLANMetrics;
|
import sts.OpensyncStats.VLANMetrics;
|
||||||
import sts.OpensyncStats.EventReport.ClientAssocEvent;
|
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@ActiveProfiles(profiles = { "integration_test", })
|
@ActiveProfiles(profiles = { "integration_test", })
|
||||||
@SpringBootTest(webEnvironment = WebEnvironment.NONE, classes = OpensyncExternalIntegrationMqttMessageProcessorTest.class)
|
@SpringBootTest(webEnvironment = WebEnvironment.NONE, classes = MqttStatsPublisherTest.class)
|
||||||
@Import(value = { AlarmServiceInterface.class, OpensyncExternalIntegrationCloud.class,
|
@Import(value = { AlarmServiceInterface.class, OpensyncExternalIntegrationCloud.class,
|
||||||
OpensyncExternalIntegrationMqttMessageProcessorTest.Config.class,
|
MqttStatsPublisherTest.Config.class,
|
||||||
|
|
||||||
})
|
})
|
||||||
public class OpensyncExternalIntegrationMqttMessageProcessorTest {
|
public class MqttStatsPublisherTest {
|
||||||
|
|
||||||
@MockBean
|
@MockBean
|
||||||
AlarmServiceInterface alarmServiceInterface;
|
AlarmServiceInterface alarmServiceInterface;
|
||||||
@@ -98,9 +105,10 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest {
|
|||||||
FirmwareServiceInterface firmwareServiceInterface;
|
FirmwareServiceInterface firmwareServiceInterface;
|
||||||
@MockBean(answer = Answers.RETURNS_MOCKS)
|
@MockBean(answer = Answers.RETURNS_MOCKS)
|
||||||
OpensyncCloudGatewayController gatewayController;
|
OpensyncCloudGatewayController gatewayController;
|
||||||
|
@MockBean
|
||||||
|
RealtimeEventPublisher realtimeEventPublisher;
|
||||||
@Autowired
|
@Autowired
|
||||||
OpensyncExternalIntegrationMqttMessageProcessor opensyncExternalIntegrationMqttProcessor;
|
MqttStatsPublisher opensyncExternalIntegrationMqttProcessor;
|
||||||
|
|
||||||
MockitoSession mockito;
|
MockitoSession mockito;
|
||||||
|
|
||||||
@@ -108,8 +116,8 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest {
|
|||||||
static class Config {
|
static class Config {
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public OpensyncExternalIntegrationMqttMessageProcessor opensyncExternalIntegrationMqttMessageProcessor() {
|
public StatsPublisherInterface mqttStatsPublisher() {
|
||||||
return new OpensyncExternalIntegrationMqttMessageProcessor();
|
return new MqttStatsPublisher();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -117,7 +125,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest {
|
|||||||
@Before
|
@Before
|
||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
|
|
||||||
mockito = Mockito.mockitoSession().initMocks(this).strictness(Strictness.STRICT_STUBS).startMocking();
|
mockito = Mockito.mockitoSession().initMocks(this).strictness(Strictness.LENIENT).startMocking();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -127,14 +135,12 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testExtractApIdFromTopic() {
|
public void testExtractApIdFromTopic() {
|
||||||
|
|
||||||
String topic = "/ap/Test_Client_21P10C68818122/opensync";
|
String topic = "/ap/Test_Client_21P10C68818122/opensync";
|
||||||
|
|
||||||
assertEquals("Test_Client_21P10C68818122",
|
assertEquals("Test_Client_21P10C68818122", MqttStatsPublisher.extractApIdFromTopic(topic));
|
||||||
OpensyncExternalIntegrationMqttMessageProcessor.extractApIdFromTopic(topic));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -142,8 +148,12 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest {
|
|||||||
public void testExtractCustomerIdFromTopic() {
|
public void testExtractCustomerIdFromTopic() {
|
||||||
String topic = "/ap/Test_Client_21P10C68818122/opensync";
|
String topic = "/ap/Test_Client_21P10C68818122/opensync";
|
||||||
OvsdbSession session = Mockito.mock(OvsdbSession.class);
|
OvsdbSession session = Mockito.mock(OvsdbSession.class);
|
||||||
Mockito.when(session.getCustomerId()).thenReturn(2);
|
Equipment ce = Mockito.mock(Equipment.class);
|
||||||
|
Mockito.when(ce.getCustomerId()).thenReturn(2);
|
||||||
|
|
||||||
|
Mockito.when(
|
||||||
|
equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.eq("Test_Client_21P10C68818122")))
|
||||||
|
.thenReturn(ce);
|
||||||
Mockito.when(ovsdbSessionMapInterface.getSession("Test_Client_21P10C68818122")).thenReturn(session);
|
Mockito.when(ovsdbSessionMapInterface.getSession("Test_Client_21P10C68818122")).thenReturn(session);
|
||||||
|
|
||||||
assertEquals(2, opensyncExternalIntegrationMqttProcessor.extractCustomerIdFromTopic(topic));
|
assertEquals(2, opensyncExternalIntegrationMqttProcessor.extractCustomerIdFromTopic(topic));
|
||||||
@@ -164,6 +174,19 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testProcessMqttMessageStringReport() {
|
public void testProcessMqttMessageStringReport() {
|
||||||
|
Equipment equipment = new Equipment();
|
||||||
|
|
||||||
|
equipment.setDetails(ApElementConfiguration.createWithDefaults());
|
||||||
|
equipment.setId(1L); equipment.setCustomerId(2);
|
||||||
|
|
||||||
|
Mockito.when(
|
||||||
|
equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.eq("Test_Client_21P10C68818122")))
|
||||||
|
.thenReturn(equipment);
|
||||||
|
|
||||||
|
equipment.setProfileId(0L);
|
||||||
|
|
||||||
|
Mockito.when(equipmentServiceInterface.getOrNull(1L)).thenReturn(equipment);
|
||||||
|
Mockito.when(equipmentServiceInterface.get(1L)).thenReturn(equipment);
|
||||||
|
|
||||||
Report report = Report.newBuilder().setNodeID("21P10C68818122")
|
Report report = Report.newBuilder().setNodeID("21P10C68818122")
|
||||||
.addAllClients(getOpensyncStatsClientReportsList())
|
.addAllClients(getOpensyncStatsClientReportsList())
|
||||||
@@ -173,7 +196,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest {
|
|||||||
|
|
||||||
OvsdbSession session = Mockito.mock(OvsdbSession.class);
|
OvsdbSession session = Mockito.mock(OvsdbSession.class);
|
||||||
Mockito.when(session.getEquipmentId()).thenReturn(1L);
|
Mockito.when(session.getEquipmentId()).thenReturn(1L);
|
||||||
Mockito.when(session.getCustomerId()).thenReturn(2);
|
|
||||||
|
|
||||||
Mockito.when(ovsdbSessionMapInterface.getSession("Test_Client_21P10C68818122")).thenReturn(session);
|
Mockito.when(ovsdbSessionMapInterface.getSession("Test_Client_21P10C68818122")).thenReturn(session);
|
||||||
|
|
||||||
@@ -190,10 +212,10 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest {
|
|||||||
|
|
||||||
Mockito.when(statusServiceInterface.update(ArgumentMatchers.any(Status.class))).thenReturn(bssidStatus);
|
Mockito.when(statusServiceInterface.update(ArgumentMatchers.any(Status.class))).thenReturn(bssidStatus);
|
||||||
com.telecominfraproject.wlan.client.models.Client clientInstance = new com.telecominfraproject.wlan.client.models.Client();
|
com.telecominfraproject.wlan.client.models.Client clientInstance = new com.telecominfraproject.wlan.client.models.Client();
|
||||||
clientInstance.setMacAddress(new MacAddress("7C:AB:60:E6:EA:4D"));
|
clientInstance.setMacAddress(MacAddress.valueOf("7C:AB:60:E6:EA:4D"));
|
||||||
clientInstance.setDetails(new ClientInfoDetails());
|
clientInstance.setDetails(new ClientInfoDetails());
|
||||||
com.telecominfraproject.wlan.client.models.Client clientInstance2 = new com.telecominfraproject.wlan.client.models.Client();
|
com.telecominfraproject.wlan.client.models.Client clientInstance2 = new com.telecominfraproject.wlan.client.models.Client();
|
||||||
clientInstance2.setMacAddress(new MacAddress("C0:9A:D0:76:A9:69"));
|
clientInstance2.setMacAddress(MacAddress.valueOf("C0:9A:D0:76:A9:69"));
|
||||||
clientInstance2.setDetails(new ClientInfoDetails());
|
clientInstance2.setDetails(new ClientInfoDetails());
|
||||||
Mockito.when(
|
Mockito.when(
|
||||||
clientServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.any(MacAddress.class)))
|
clientServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.any(MacAddress.class)))
|
||||||
@@ -203,10 +225,10 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest {
|
|||||||
.thenReturn(clientInstance).thenReturn(clientInstance2);
|
.thenReturn(clientInstance).thenReturn(clientInstance2);
|
||||||
|
|
||||||
ClientSession clientSession = new ClientSession();
|
ClientSession clientSession = new ClientSession();
|
||||||
clientSession.setMacAddress(new MacAddress("7C:AB:60:E6:EA:4D"));
|
clientSession.setMacAddress(MacAddress.valueOf("7C:AB:60:E6:EA:4D"));
|
||||||
clientSession.setDetails(new ClientSessionDetails());
|
clientSession.setDetails(new ClientSessionDetails());
|
||||||
ClientSession clientSession2 = new ClientSession();
|
ClientSession clientSession2 = new ClientSession();
|
||||||
clientSession2.setMacAddress(new MacAddress("C0:9A:D0:76:A9:69"));
|
clientSession2.setMacAddress(MacAddress.valueOf("C0:9A:D0:76:A9:69"));
|
||||||
clientSession2.setDetails(new ClientSessionDetails());
|
clientSession2.setDetails(new ClientSessionDetails());
|
||||||
Mockito.when(clientServiceInterface.getSessionOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
|
Mockito.when(clientServiceInterface.getSessionOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
|
||||||
ArgumentMatchers.any(MacAddress.class))).thenReturn(clientSession).thenReturn(clientSession2);
|
ArgumentMatchers.any(MacAddress.class))).thenReturn(clientSession).thenReturn(clientSession2);
|
||||||
@@ -296,12 +318,8 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest {
|
|||||||
bssidList.add(activeBssid3);
|
bssidList.add(activeBssid3);
|
||||||
return bssidList;
|
return bssidList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private List<EventReport> getOpensyncStatsEventReportsList() {
|
private List<EventReport> getOpensyncStatsEventReportsList() {
|
||||||
|
|
||||||
|
|
||||||
List<ClientAssocEvent> clientAssocEventList = new ArrayList<>();
|
|
||||||
sts.OpensyncStats.EventReport.ClientAssocEvent.Builder clientAssocBuilder = EventReport.ClientAssocEvent
|
sts.OpensyncStats.EventReport.ClientAssocEvent.Builder clientAssocBuilder = EventReport.ClientAssocEvent
|
||||||
.getDefaultInstance().toBuilder();
|
.getDefaultInstance().toBuilder();
|
||||||
clientAssocBuilder.setAssocType(AssocType.ASSOC);
|
clientAssocBuilder.setAssocType(AssocType.ASSOC);
|
||||||
@@ -313,21 +331,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest {
|
|||||||
clientAssocBuilder.setInternalSc(1);
|
clientAssocBuilder.setInternalSc(1);
|
||||||
clientAssocBuilder.setSsid("ssid-3");
|
clientAssocBuilder.setSsid("ssid-3");
|
||||||
clientAssocBuilder.setStatus(1);
|
clientAssocBuilder.setStatus(1);
|
||||||
|
clientAssocBuilder.setTimestampMs(System.currentTimeMillis());
|
||||||
sts.OpensyncStats.EventReport.ClientAssocEvent.Builder clientAssocBuilder2 = EventReport.ClientAssocEvent
|
|
||||||
.getDefaultInstance().toBuilder();
|
|
||||||
clientAssocBuilder2.setAssocType(AssocType.ASSOC);
|
|
||||||
clientAssocBuilder2.setBand(RadioBandType.BAND2G);
|
|
||||||
clientAssocBuilder2.setRssi(-65);
|
|
||||||
clientAssocBuilder2.setStaMac("7C:AB:60:E6:EA:4D");
|
|
||||||
clientAssocBuilder2.setStaMacBytes(ByteString.copyFrom("7C:AB:60:E6:EA:4D".getBytes()));
|
|
||||||
clientAssocBuilder2.setSessionId(1000L);
|
|
||||||
clientAssocBuilder2.setInternalSc(1);
|
|
||||||
clientAssocBuilder2.setSsid("ssid-1");
|
|
||||||
clientAssocBuilder2.setStatus(1);
|
|
||||||
|
|
||||||
clientAssocEventList.add(clientAssocBuilder.build());
|
|
||||||
clientAssocEventList.add(clientAssocBuilder2.build());
|
|
||||||
|
|
||||||
List<EventReport> eventReportList = new ArrayList<>();
|
List<EventReport> eventReportList = new ArrayList<>();
|
||||||
|
|
||||||
@@ -338,18 +342,25 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest {
|
|||||||
|
|
||||||
clientSessionBuilder.setSessionId(1000L);
|
clientSessionBuilder.setSessionId(1000L);
|
||||||
|
|
||||||
clientSessionBuilder.addAllClientAssocEvent(clientAssocEventList);
|
clientSessionBuilder.setClientAssocEvent(clientAssocBuilder.build());
|
||||||
List<sts.OpensyncStats.EventReport.ClientSession> clientSessionList = new ArrayList<>();
|
List<sts.OpensyncStats.EventReport.ClientSession> clientSessionList = new ArrayList<>();
|
||||||
clientSessionList.add(clientSessionBuilder.build());
|
clientSessionList.add(clientSessionBuilder.build());
|
||||||
|
|
||||||
|
sts.OpensyncStats.EventReport.ChannelSwitchEvent.Builder channelSwitchEventBuilder = sts.OpensyncStats.EventReport.ChannelSwitchEvent
|
||||||
|
.getDefaultInstance().toBuilder();
|
||||||
|
channelSwitchEventBuilder.setBand(RadioBandType.BAND5GL).setChannel(40)
|
||||||
|
.setReason(ChannelSwitchReason.high_interference).setTimestampMs(System.currentTimeMillis());
|
||||||
|
|
||||||
|
List<ChannelSwitchEvent> channelSwitchEventList = new ArrayList<>();
|
||||||
|
channelSwitchEventList.add(channelSwitchEventBuilder.build());
|
||||||
|
|
||||||
eventReportBuilder.addAllClientSession(clientSessionList);
|
eventReportBuilder.addAllClientSession(clientSessionList);
|
||||||
|
eventReportBuilder.addAllChannelSwitch(channelSwitchEventList);
|
||||||
|
|
||||||
eventReportList.add(eventReportBuilder.build());
|
eventReportList.add(eventReportBuilder.build());
|
||||||
|
|
||||||
|
|
||||||
return eventReportList;
|
return eventReportList;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<ClientReport> getOpensyncStatsClientReportsList() {
|
private List<ClientReport> getOpensyncStatsClientReportsList() {
|
||||||
@@ -0,0 +1,382 @@
|
|||||||
|
package com.telecominfraproject.wlan.opensync.external.integration.utils;
|
||||||
|
|
||||||
|
import java.net.InetAddress;
|
||||||
|
import java.sql.Date;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.junit.After;
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Ignore;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.mockito.Mockito;
|
||||||
|
import org.mockito.MockitoSession;
|
||||||
|
import org.mockito.quality.Strictness;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
|
||||||
|
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.context.annotation.Import;
|
||||||
|
import org.springframework.test.context.ActiveProfiles;
|
||||||
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
|
import com.google.protobuf.ByteString;
|
||||||
|
import com.telecominfraproject.wlan.client.models.events.realtime.ClientAssocEvent;
|
||||||
|
import com.telecominfraproject.wlan.client.models.events.realtime.ClientAuthEvent;
|
||||||
|
import com.telecominfraproject.wlan.client.models.events.utils.WlanStatusCode;
|
||||||
|
import com.telecominfraproject.wlan.cloudeventdispatcher.CloudEventDispatcherInterface;
|
||||||
|
import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface;
|
||||||
|
import com.telecominfraproject.wlan.opensync.external.integration.OpensyncExternalIntegrationCloud;
|
||||||
|
import com.telecominfraproject.wlan.profile.ProfileServiceInterface;
|
||||||
|
|
||||||
|
import sts.OpensyncStats.EventReport.DhcpNakEvent;
|
||||||
|
import sts.OpensyncStats.EventReport.DhcpOfferEvent;
|
||||||
|
import sts.OpensyncStats.EventReport.DhcpRequestEvent;
|
||||||
|
import sts.OpensyncStats;
|
||||||
|
import sts.OpensyncStats.EventReport.DhcpAckEvent;
|
||||||
|
|
||||||
|
import sts.OpensyncStats.EventReport.DhcpCommonData;
|
||||||
|
import sts.OpensyncStats.EventReport.DhcpDeclineEvent;
|
||||||
|
import sts.OpensyncStats.EventReport.DhcpDiscoverEvent;
|
||||||
|
import sts.OpensyncStats.EventReport.DhcpInformEvent;
|
||||||
|
import sts.OpensyncStats.EventReport.DhcpTransaction;
|
||||||
|
import sts.OpensyncStats.RadioBandType;
|
||||||
|
import sts.OpensyncStats.Report;
|
||||||
|
|
||||||
|
@RunWith(SpringRunner.class)
|
||||||
|
@ActiveProfiles(profiles = { "integration_test", })
|
||||||
|
@SpringBootTest(webEnvironment = WebEnvironment.NONE, classes = RealtimeEventPublisherTest.class)
|
||||||
|
@Import(value = { OpensyncExternalIntegrationCloud.class, RealtimeEventPublisherTest.Config.class,
|
||||||
|
|
||||||
|
})
|
||||||
|
public class RealtimeEventPublisherTest {
|
||||||
|
|
||||||
|
@MockBean
|
||||||
|
private CloudEventDispatcherInterface cloudEventDispatcherInterface;
|
||||||
|
|
||||||
|
@MockBean
|
||||||
|
private EquipmentServiceInterface equipmentServiceInterface;
|
||||||
|
|
||||||
|
@MockBean
|
||||||
|
private ProfileServiceInterface profileServiceInterface;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
RealtimeEventPublisher realtimeEventPublisher;
|
||||||
|
MockitoSession mockito;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
static class Config {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public RealtimeEventPublisher realtimeEventPublisher() {
|
||||||
|
return new RealtimeEventPublisher();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setUp() throws Exception {
|
||||||
|
|
||||||
|
mockito = Mockito.mockitoSession().initMocks(this).strictness(Strictness.STRICT_STUBS).startMocking();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@After
|
||||||
|
public void tearDown() throws Exception {
|
||||||
|
mockito.finishMocking();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Ignore
|
||||||
|
public void testPublishChannelHopEvents() {
|
||||||
|
// TODO: implement
|
||||||
|
}
|
||||||
|
|
||||||
|
@Ignore
|
||||||
|
public void testPublishClientConnectSuccessEvent() {
|
||||||
|
// TODO: implement
|
||||||
|
}
|
||||||
|
|
||||||
|
@Ignore
|
||||||
|
public void testPublishClientDisconnectEvent() {
|
||||||
|
// TODO: implement
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testPublishClientAuthSystemEvent() throws Exception {
|
||||||
|
|
||||||
|
OpensyncStats.EventReport.ClientAuthEvent clientAuthEvent = OpensyncStats.EventReport.ClientAuthEvent
|
||||||
|
.newBuilder().setBand(RadioBandType.BAND5GL).setSsid("TipWlan-cloud-3-radios")
|
||||||
|
.setStaMac("c0:9a:d0:76:a9:69").setSessionId(Long.parseUnsignedLong("12377998144488079334"))
|
||||||
|
.setAuthStatus(WlanStatusCode.WLAN_STATUS_SUCCESS.getId()).setTimestampMs(1610050309).build();
|
||||||
|
|
||||||
|
realtimeEventPublisher.publishClientAuthSystemEvent(2, 1L, 0L, clientAuthEvent);
|
||||||
|
|
||||||
|
Mockito.verify(cloudEventDispatcherInterface, Mockito.times(1))
|
||||||
|
.publishEvent(Mockito.any(ClientAuthEvent.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testPublishClientAssocEvent() throws Exception {
|
||||||
|
|
||||||
|
OpensyncStats.EventReport.ClientAssocEvent clientAssocEvent = OpensyncStats.EventReport.ClientAssocEvent
|
||||||
|
.newBuilder().setBand(RadioBandType.BAND5GL).setRssi(-37).setSsid("TipWlan-cloud-3-radios")
|
||||||
|
.setStaMac("c0:9a:d0:76:a9:69").setSessionId(Long.parseUnsignedLong("12377998144488079334"))
|
||||||
|
.setUsing11K(true).setUsing11V(true).setStatus(WlanStatusCode.WLAN_STATUS_SUCCESS.getId())
|
||||||
|
.setTimestampMs(1610050309).build();
|
||||||
|
|
||||||
|
realtimeEventPublisher.publishClientAssocEvent(2, 1L, 0L, clientAssocEvent);
|
||||||
|
|
||||||
|
Mockito.verify(cloudEventDispatcherInterface, Mockito.times(1))
|
||||||
|
.publishEvent(Mockito.any(ClientAssocEvent.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Ignore
|
||||||
|
public void testPublishClientFailureEvent() {
|
||||||
|
// TODO: implement
|
||||||
|
}
|
||||||
|
|
||||||
|
@Ignore
|
||||||
|
public void testPublishClientFirstDataEvent() {
|
||||||
|
// TODO: implement
|
||||||
|
}
|
||||||
|
|
||||||
|
@Ignore
|
||||||
|
public void testPublishClientIdEvent() {
|
||||||
|
// TODO: implement
|
||||||
|
}
|
||||||
|
|
||||||
|
@Ignore
|
||||||
|
public void testPublishClientIpEvent() {
|
||||||
|
// TODO: implement
|
||||||
|
}
|
||||||
|
|
||||||
|
@Ignore
|
||||||
|
public void testPublishClientTimeoutEvent() {
|
||||||
|
// TODO: implement
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testPublishDhcpTransactionEvents() throws Exception {
|
||||||
|
|
||||||
|
long timestamp = System.currentTimeMillis();
|
||||||
|
List<DhcpTransaction> dhcpTransactionList = new ArrayList<>();
|
||||||
|
DhcpAckEvent ackEvent = DhcpAckEvent.newBuilder()
|
||||||
|
.setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
|
||||||
|
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.250").getAddress()))
|
||||||
|
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
|
||||||
|
.setDeviceMacAddress("c0:9a:d0:76:a9:69")
|
||||||
|
.setXId(123456789)
|
||||||
|
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build())
|
||||||
|
.setGatewayIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
|
||||||
|
.setPrimaryDns(ByteString.copyFrom(InetAddress.getByName("64.71.255.204").getAddress()))
|
||||||
|
.setSecondaryDns(ByteString.copyFrom(InetAddress.getByName("64.71.255.198").getAddress()))
|
||||||
|
.setSubnetMask(ByteString.copyFrom(InetAddress.getByName("255.255.255.0").getAddress()))
|
||||||
|
.setLeaseTime(172800).setTimeOffset(10).build();
|
||||||
|
|
||||||
|
DhcpAckEvent ackEvent2 = DhcpAckEvent.newBuilder()
|
||||||
|
.setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
|
||||||
|
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.65").getAddress()))
|
||||||
|
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
|
||||||
|
.setDeviceMacAddress("f6:f0:65:99:e2:33")
|
||||||
|
.setXId(123456789)
|
||||||
|
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build())
|
||||||
|
.setGatewayIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
|
||||||
|
.setPrimaryDns(ByteString.copyFrom(InetAddress.getByName("64.71.255.204").getAddress()))
|
||||||
|
.setSecondaryDns(ByteString.copyFrom(InetAddress.getByName("64.71.255.198").getAddress()))
|
||||||
|
.setSubnetMask(ByteString.copyFrom(InetAddress.getByName("255.255.255.0").getAddress()))
|
||||||
|
.setLeaseTime(172800).setTimeOffset(10).build();
|
||||||
|
|
||||||
|
List<DhcpAckEvent> ackEventList = List.of(ackEvent, ackEvent2);
|
||||||
|
|
||||||
|
DhcpNakEvent nakEvent1 = DhcpNakEvent.newBuilder().setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
|
||||||
|
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.129").getAddress()))
|
||||||
|
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
|
||||||
|
.setDeviceMacAddress("24:f5:a2:ef:2e:53")
|
||||||
|
.setXId(123456789)
|
||||||
|
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build()).setFromInternal(true).build();
|
||||||
|
|
||||||
|
List<DhcpNakEvent> nakEventList = List.of(nakEvent1);
|
||||||
|
|
||||||
|
DhcpOfferEvent offerEvent1 = DhcpOfferEvent.newBuilder().setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
|
||||||
|
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.250").getAddress()))
|
||||||
|
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
|
||||||
|
.setDeviceMacAddress("c0:9a:d0:76:a9:69")
|
||||||
|
.setXId(123456789)
|
||||||
|
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build()).setFromInternal(true).build();
|
||||||
|
|
||||||
|
DhcpOfferEvent offerEvent2 = DhcpOfferEvent.newBuilder().setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
|
||||||
|
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.65").getAddress()))
|
||||||
|
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
|
||||||
|
.setDeviceMacAddress("f6:f0:65:99:e2:33")
|
||||||
|
.setXId(123456789)
|
||||||
|
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build()).setFromInternal(true).build();
|
||||||
|
|
||||||
|
List<DhcpOfferEvent> offerEventList = List.of(offerEvent1,offerEvent2);
|
||||||
|
|
||||||
|
DhcpDiscoverEvent discoverEvent1 = DhcpDiscoverEvent.newBuilder().setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
|
||||||
|
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.250").getAddress()))
|
||||||
|
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
|
||||||
|
.setDeviceMacAddress("c0:9a:d0:76:a9:69")
|
||||||
|
.setXId(123456789)
|
||||||
|
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build()).setHostname("My-iPhone").build();
|
||||||
|
|
||||||
|
DhcpDiscoverEvent discoverEvent2 = DhcpDiscoverEvent.newBuilder().setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
|
||||||
|
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.65").getAddress()))
|
||||||
|
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
|
||||||
|
.setDeviceMacAddress("f6:f0:65:99:e2:33")
|
||||||
|
.setXId(123456789)
|
||||||
|
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build()).setHostname("My-iPad").build();
|
||||||
|
|
||||||
|
List<DhcpDiscoverEvent> discoverEventList = List.of(discoverEvent1,discoverEvent2);
|
||||||
|
|
||||||
|
DhcpRequestEvent requestEvent1 = DhcpRequestEvent.newBuilder().setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
|
||||||
|
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.250").getAddress()))
|
||||||
|
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
|
||||||
|
.setDeviceMacAddress("c0:9a:d0:76:a9:69")
|
||||||
|
.setXId(123456789)
|
||||||
|
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build()).setHostname("My-iPhone").build();
|
||||||
|
|
||||||
|
DhcpRequestEvent requestEvent2 = DhcpRequestEvent.newBuilder().setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
|
||||||
|
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.65").getAddress()))
|
||||||
|
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
|
||||||
|
.setDeviceMacAddress("f6:f0:65:99:e2:33")
|
||||||
|
.setXId(123456789)
|
||||||
|
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build()).setHostname("My-iPad").build();
|
||||||
|
|
||||||
|
List<DhcpRequestEvent> requestEventList = List.of(requestEvent1,requestEvent2);
|
||||||
|
|
||||||
|
DhcpInformEvent informEvent = DhcpInformEvent.newBuilder().setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
|
||||||
|
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.250").getAddress()))
|
||||||
|
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
|
||||||
|
.setDeviceMacAddress("c0:9a:d0:76:a9:69")
|
||||||
|
.setXId(123456789)
|
||||||
|
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build()).build();
|
||||||
|
|
||||||
|
List<DhcpInformEvent> informEventList = List.of(informEvent);
|
||||||
|
|
||||||
|
|
||||||
|
DhcpDeclineEvent declineEvent = DhcpDeclineEvent.newBuilder().setDhcpCommonData(DhcpCommonData.newBuilder(DhcpCommonData.getDefaultInstance())
|
||||||
|
.setClientIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.129").getAddress()))
|
||||||
|
.setDhcpServerIp(ByteString.copyFrom(InetAddress.getByName("10.0.0.1").getAddress()))
|
||||||
|
.setDeviceMacAddress("24:f5:a2:ef:2e:53")
|
||||||
|
.setXId(123456789)
|
||||||
|
.setTimestampMs(Long.valueOf(timestamp/1000).intValue()).build()).build();
|
||||||
|
|
||||||
|
List<DhcpDeclineEvent> declineEventList = List.of(declineEvent);
|
||||||
|
|
||||||
|
|
||||||
|
DhcpTransaction dhcpTransaction = DhcpTransaction.newBuilder(DhcpTransaction.getDefaultInstance())
|
||||||
|
.addAllDhcpAckEvent(ackEventList).addAllDhcpNakEvent(nakEventList).addAllDhcpOfferEvent(offerEventList)
|
||||||
|
.addAllDhcpInformEvent(informEventList).addAllDhcpDeclineEvent(declineEventList)
|
||||||
|
.addAllDhcpDiscoverEvent(discoverEventList).addAllDhcpRequestEvent(requestEventList).setXId(123456789)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
dhcpTransactionList.add(dhcpTransaction);
|
||||||
|
|
||||||
|
realtimeEventPublisher.publishDhcpTransactionEvents(2, 1L, 0L, dhcpTransactionList);
|
||||||
|
|
||||||
|
Mockito.verify(cloudEventDispatcherInterface,Mockito.times(1)).publishEventsBulk(Mockito.anyList());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testPublishSipCallEvents() throws Exception {
|
||||||
|
|
||||||
|
OpensyncStats.VideoVoiceReport.Builder callStartVoiceReportBuilder = OpensyncStats.VideoVoiceReport.newBuilder()
|
||||||
|
.setCallStart(getDefaultCallStart());
|
||||||
|
OpensyncStats.VideoVoiceReport.Builder callReportGotPublishVoiceReportBuilder = OpensyncStats.VideoVoiceReport
|
||||||
|
.newBuilder().setCallReport(getDefaultCallReport(OpensyncStats.CallReport.CallReportReason.GOT_PUBLISH,
|
||||||
|
121, 1028, 1316, 1888, 298, 2, 100, 200));
|
||||||
|
OpensyncStats.VideoVoiceReport.Builder callReportRoamedToVoiceReportBuilder = OpensyncStats.VideoVoiceReport
|
||||||
|
.newBuilder().setCallReport(getDefaultCallReport(OpensyncStats.CallReport.CallReportReason.ROAMED_TO,
|
||||||
|
123, 1020, 1116, 1345, 223, 0, 102, 203));
|
||||||
|
OpensyncStats.VideoVoiceReport.Builder callReportRoamedFromVoiceReportBuilder = OpensyncStats.VideoVoiceReport
|
||||||
|
.newBuilder().setCallReport(getDefaultCallReport(OpensyncStats.CallReport.CallReportReason.ROAMED_FROM,
|
||||||
|
122, 1029, 1300, 1234, 111, 3, 101, 201));
|
||||||
|
OpensyncStats.VideoVoiceReport.Builder callStopVoiceReportBuilder = OpensyncStats.VideoVoiceReport.newBuilder()
|
||||||
|
.setCallStop(getDefaultCallStop());
|
||||||
|
// Create report with multiple voiceReports in one
|
||||||
|
Report multipleVoiceReportsInOneReport = Report.newBuilder().addVideoVoiceReport(callStartVoiceReportBuilder)
|
||||||
|
.addVideoVoiceReport(callReportGotPublishVoiceReportBuilder)
|
||||||
|
.addVideoVoiceReport(callReportRoamedFromVoiceReportBuilder)
|
||||||
|
.addVideoVoiceReport(callReportRoamedToVoiceReportBuilder)
|
||||||
|
.addVideoVoiceReport(callStopVoiceReportBuilder).setNodeID("1").build();
|
||||||
|
|
||||||
|
realtimeEventPublisher.publishSipCallEvents(1, 2L, 0L, multipleVoiceReportsInOneReport.getVideoVoiceReportList());
|
||||||
|
|
||||||
|
Mockito.verify(cloudEventDispatcherInterface, Mockito.times(1)).publishEventsBulk(Mockito.anyList());
|
||||||
|
}
|
||||||
|
|
||||||
|
private OpensyncStats.CallStart getDefaultCallStart() {
|
||||||
|
OpensyncStats.CallStart.Builder callStartBuilder = OpensyncStats.CallStart.newBuilder();
|
||||||
|
callStartBuilder.setBand(RadioBandType.BAND5G);
|
||||||
|
callStartBuilder.setChannel(40);
|
||||||
|
callStartBuilder.addCodecs("110 opus/48000/2");
|
||||||
|
callStartBuilder.addCodecs("102 iLBC/8000");
|
||||||
|
callStartBuilder.setClientMac(ByteString.copyFrom("C0:9A:D0:76:A9:69".getBytes()));
|
||||||
|
callStartBuilder.setDeviceInfo("Test Device");
|
||||||
|
callStartBuilder.setProviderDomain("skype");
|
||||||
|
callStartBuilder.setSessionId(123L);
|
||||||
|
callStartBuilder.setWifiSessionId(1234L);
|
||||||
|
|
||||||
|
return callStartBuilder.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
private OpensyncStats.CallStop getDefaultCallStop() {
|
||||||
|
OpensyncStats.CallStop.Builder callStopBuilder = OpensyncStats.CallStop.newBuilder();
|
||||||
|
callStopBuilder.setBand(RadioBandType.BAND5G);
|
||||||
|
callStopBuilder.setChannel(40);
|
||||||
|
callStopBuilder.addCodecs("110 opus/48000/2");
|
||||||
|
callStopBuilder.addCodecs("102 iLBC/8000");
|
||||||
|
callStopBuilder.setClientMac(ByteString.copyFrom("C0:9A:D0:76:A9:69".getBytes()));
|
||||||
|
callStopBuilder.setCallDuration(1230);
|
||||||
|
callStopBuilder.setProviderDomain("skype");
|
||||||
|
callStopBuilder.setSessionId(123L);
|
||||||
|
callStopBuilder.setWifiSessionId(1234L);
|
||||||
|
callStopBuilder.setReason(OpensyncStats.CallStop.CallStopReason.BYE_OK);
|
||||||
|
callStopBuilder.addStats(getRtpFlowStats(121, 1380, 1400, 3000, 119, 3, 205, 350));
|
||||||
|
|
||||||
|
return callStopBuilder.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
private OpensyncStats.RtpFlowStats getRtpFlowStats(int codec, int jitter, int latency, int totalPackets,
|
||||||
|
int totalPacketsLost, int mos, int firstRtpSeq, int lastRtpSeq) {
|
||||||
|
OpensyncStats.RtpFlowStats.Builder rtpFlowStatsBuilder = OpensyncStats.RtpFlowStats.newBuilder();
|
||||||
|
rtpFlowStatsBuilder.setCodec(codec);
|
||||||
|
rtpFlowStatsBuilder.setBlockCodecs(ByteString.copyFrom(new byte[] { (byte) 0xe6, 0x1 }));
|
||||||
|
rtpFlowStatsBuilder.setDirection(OpensyncStats.RtpFlowStats.RtpFlowDirection.RTP_DOWNSTREAM);
|
||||||
|
rtpFlowStatsBuilder.setRtpFlowType(OpensyncStats.RtpFlowStats.RtpFlowType.RTP_VOICE);
|
||||||
|
rtpFlowStatsBuilder.setJitter(jitter);
|
||||||
|
rtpFlowStatsBuilder.setLatency(latency);
|
||||||
|
rtpFlowStatsBuilder.setTotalPacketsSent(totalPackets);
|
||||||
|
rtpFlowStatsBuilder.setTotalPacketsLost(totalPacketsLost);
|
||||||
|
rtpFlowStatsBuilder.setMosx100(mos);
|
||||||
|
rtpFlowStatsBuilder.setRtpSeqFirst(firstRtpSeq);
|
||||||
|
rtpFlowStatsBuilder.setRtpSeqLast(lastRtpSeq);
|
||||||
|
|
||||||
|
return rtpFlowStatsBuilder.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
private OpensyncStats.CallReport getDefaultCallReport(OpensyncStats.CallReport.CallReportReason reason, int codec,
|
||||||
|
int jitter, int latency, int totalPackets, int totalPacketsLost, int mos, int firstRtpSeq, int lastRtpSeq) {
|
||||||
|
OpensyncStats.CallReport.Builder callReportBuilder = OpensyncStats.CallReport.newBuilder();
|
||||||
|
callReportBuilder.setBand(RadioBandType.BAND5G);
|
||||||
|
callReportBuilder.setChannel(40);
|
||||||
|
callReportBuilder.addCodecs("110 opus/48000/2");
|
||||||
|
callReportBuilder.addCodecs("102 iLBC/8000");
|
||||||
|
callReportBuilder.setClientMac(ByteString.copyFrom("C0:9A:D0:76:A9:69".getBytes()));
|
||||||
|
callReportBuilder.setProviderDomain("skype");
|
||||||
|
callReportBuilder.setSessionId(123L);
|
||||||
|
callReportBuilder.setWifiSessionId(1234L);
|
||||||
|
callReportBuilder.setReason(reason);
|
||||||
|
callReportBuilder.addStats(
|
||||||
|
getRtpFlowStats(codec, jitter, latency, totalPackets, totalPacketsLost, mos, firstRtpSeq, lastRtpSeq));
|
||||||
|
|
||||||
|
return callReportBuilder.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,11 +1,9 @@
|
|||||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<artifactId>tip-wlan-cloud-root-pom</artifactId>
|
<artifactId>tip-wlan-cloud-root-pom</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
<relativePath>../../wlan-cloud-root</relativePath>
|
<relativePath>../../wlan-cloud-root</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>opensync-ext-interface</artifactId>
|
<artifactId>opensync-ext-interface</artifactId>
|
||||||
@@ -15,44 +13,36 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<artifactId>base-models</artifactId>
|
<artifactId>base-models</artifactId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<artifactId>tip-wlan-opensync-protobuf</artifactId>
|
<artifactId>tip-wlan-opensync-protobuf</artifactId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<artifactId>customer-models</artifactId>
|
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>equipment-models</artifactId>
|
<artifactId>equipment-models</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>profile-models</artifactId>
|
<artifactId>profile-models</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>location-models</artifactId>
|
<artifactId>location-models</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>routing-models</artifactId>
|
<artifactId>routing-models</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<artifactId>client-models</artifactId>
|
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.vmware.ovsdb</groupId>
|
<groupId>com.vmware.ovsdb</groupId>
|
||||||
<artifactId>ovsdb-client</artifactId>
|
<artifactId>ovsdb-client</artifactId>
|
||||||
|
|||||||
@@ -36,19 +36,22 @@ public interface OpensyncExternalIntegrationInterface {
|
|||||||
|
|
||||||
void wifiInetStateDbTableDelete(List<OpensyncAPInetState> inetStateTables, String apId);
|
void wifiInetStateDbTableDelete(List<OpensyncAPInetState> inetStateTables, String apId);
|
||||||
|
|
||||||
void processMqttMessage(String topic, Report report);
|
|
||||||
|
|
||||||
void processMqttMessage(String topic, FlowReport flowReport);
|
|
||||||
|
|
||||||
void processMqttMessage(String topic, WCStatsReport wcStatsReport);
|
|
||||||
|
|
||||||
void wifiAssociatedClientsDbTableUpdate(List<OpensyncWifiAssociatedClients> wifiAssociatedClients, String apId);
|
void wifiAssociatedClientsDbTableUpdate(List<OpensyncWifiAssociatedClients> wifiAssociatedClients, String apId);
|
||||||
|
|
||||||
void wifiAssociatedClientsDbTableDelete(String deletedClientMac, String apId);
|
void wifiAssociatedClientsDbTableDelete(String deletedClientMac, String apId);
|
||||||
|
|
||||||
void awlanNodeDbTableUpdate(OpensyncAWLANNode opensyncAPState, String apId);
|
void awlanNodeDbTableUpdate(OpensyncAWLANNode opensyncAPState, String apId);
|
||||||
|
|
||||||
void dhcpLeasedIpDbTableUpdate(List<Map<String,String>> dhcpAttributes, String apId, RowUpdateOperation rowUpdateOperation);
|
void dhcpLeasedIpDbTableUpdate(List<Map<String, String>> dhcpAttributes, String apId,
|
||||||
|
RowUpdateOperation rowUpdateOperation);
|
||||||
|
|
||||||
void commandStateDbTableUpdate(List<Map<String,String>> commandStateAttributes, String apId, RowUpdateOperation rowUpdateOperation);
|
void commandStateDbTableUpdate(List<Map<String, String>> commandStateAttributes, String apId,
|
||||||
|
RowUpdateOperation rowUpdateOperation);
|
||||||
|
|
||||||
|
void apcStateDbTableUpdate(Map<String, String> apcStateAttributes, String apId,
|
||||||
|
RowUpdateOperation rowUpdateOperation);
|
||||||
|
|
||||||
|
void nodeStateDbTableUpdate(List<Map<String, String>> nodeStateAttributes, String apId);
|
||||||
|
|
||||||
|
void clearEquipmentStatus(String apId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import java.util.Set;
|
|||||||
|
|
||||||
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
|
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
|
||||||
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.CellSizeAttributes;
|
||||||
|
|
||||||
public interface OvsdbClientInterface {
|
public interface OvsdbClientInterface {
|
||||||
|
|
||||||
@@ -17,12 +18,13 @@ public interface OvsdbClientInterface {
|
|||||||
|
|
||||||
String stopDebugEngine(String apId);
|
String stopDebugEngine(String apId);
|
||||||
|
|
||||||
|
String processBlinkRequest(String apId, boolean blinkAllLEDs);
|
||||||
|
|
||||||
void processConfigChanged(String apId);
|
void processConfigChanged(String apId);
|
||||||
|
|
||||||
void processClientBlocklistChange(String apId, List<MacAddress> blockList);
|
void processClientBlocklistChange(String apId, List<MacAddress> blockList);
|
||||||
|
|
||||||
String processFirmwareDownload(String apId, String firmwareUrl, String firmwareVersion, String username,
|
String processFirmwareDownload(String apId, String firmwareUrl, String firmwareVersion, String username);
|
||||||
String validationCode);
|
|
||||||
|
|
||||||
String closeSession(String apId);
|
String closeSession(String apId);
|
||||||
|
|
||||||
@@ -32,6 +34,8 @@ public interface OvsdbClientInterface {
|
|||||||
|
|
||||||
String processFactoryResetRequest(String apId);
|
String processFactoryResetRequest(String apId);
|
||||||
|
|
||||||
String processNewChannelsRequest(String apId, Map<RadioType,Integer> channelMap);
|
String processNewChannelsRequest(String apId, Map<RadioType,Integer> backupChannelMap, Map<RadioType,Integer> primaryChannelMap);
|
||||||
|
|
||||||
|
String processCellSizeAttributesRequest(String apId, Map<RadioType, CellSizeAttributes> cellSizeAttributeMap);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package com.telecominfraproject.wlan.opensync.external.integration;
|
package com.telecominfraproject.wlan.opensync.external.integration;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
import com.vmware.ovsdb.service.OvsdbClient;
|
import com.vmware.ovsdb.service.OvsdbClient;
|
||||||
|
|
||||||
public class OvsdbSession {
|
public class OvsdbSession {
|
||||||
@@ -7,7 +9,7 @@ public class OvsdbSession {
|
|||||||
private String apId;
|
private String apId;
|
||||||
private long routingId;
|
private long routingId;
|
||||||
private long equipmentId;
|
private long equipmentId;
|
||||||
private int customerId;
|
private long mostRecentStatsTimestamp;
|
||||||
|
|
||||||
public OvsdbClient getOvsdbClient() {
|
public OvsdbClient getOvsdbClient() {
|
||||||
return ovsdbClient;
|
return ovsdbClient;
|
||||||
@@ -33,11 +35,33 @@ public class OvsdbSession {
|
|||||||
public void setEquipmentId(long equipmentId) {
|
public void setEquipmentId(long equipmentId) {
|
||||||
this.equipmentId = equipmentId;
|
this.equipmentId = equipmentId;
|
||||||
}
|
}
|
||||||
public int getCustomerId() {
|
public long getMostRecentStatsTimestamp() {
|
||||||
return customerId;
|
return mostRecentStatsTimestamp;
|
||||||
}
|
}
|
||||||
public void setCustomerId(int customerId) {
|
public void setMostRecentStatsTimestamp(long mostRecentStatsTimestamp) {
|
||||||
this.customerId = customerId;
|
this.mostRecentStatsTimestamp = mostRecentStatsTimestamp;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(apId, equipmentId, mostRecentStatsTimestamp, ovsdbClient, routingId);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if (this == obj)
|
||||||
|
return true;
|
||||||
|
if (obj == null)
|
||||||
|
return false;
|
||||||
|
if (getClass() != obj.getClass())
|
||||||
|
return false;
|
||||||
|
OvsdbSession other = (OvsdbSession) obj;
|
||||||
|
return Objects.equals(apId, other.apId) && equipmentId == other.equipmentId && mostRecentStatsTimestamp == other.mostRecentStatsTimestamp
|
||||||
|
&& Objects.equals(ovsdbClient, other.ovsdbClient) && routingId == other.routingId;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "OvsdbSession [ovsdbClient=" + ovsdbClient + ", apId=" + apId + ", routingId=" + routingId + ", equipmentId=" + equipmentId
|
||||||
|
+ ", mostRecentStatsTimestamp=" + mostRecentStatsTimestamp + "]";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
package com.telecominfraproject.wlan.opensync.external.integration.models;
|
package com.telecominfraproject.wlan.opensync.external.integration.models;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -26,6 +27,13 @@ public class ConnectNodeInfo implements Cloneable {
|
|||||||
public String lanIfName;
|
public String lanIfName;
|
||||||
public String lanIfType;
|
public String lanIfType;
|
||||||
public String lanMacAddress;
|
public String lanMacAddress;
|
||||||
|
public String referenceDesign;
|
||||||
|
public Map<String, String> qrCode;
|
||||||
|
public String modelDescription;
|
||||||
|
public String manufacturerUrl;
|
||||||
|
public String manufacturerName;
|
||||||
|
public String manufacturerDate;
|
||||||
|
public String certificationRegion;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ConnectNodeInfo clone() {
|
public ConnectNodeInfo clone() {
|
||||||
@@ -40,6 +48,9 @@ public class ConnectNodeInfo implements Cloneable {
|
|||||||
if (this.versionMatrix != null) {
|
if (this.versionMatrix != null) {
|
||||||
ret.versionMatrix = new HashMap<>(this.versionMatrix);
|
ret.versionMatrix = new HashMap<>(this.versionMatrix);
|
||||||
}
|
}
|
||||||
|
if (this.qrCode != null) {
|
||||||
|
ret.qrCode = new HashMap<>(this.qrCode);
|
||||||
|
}
|
||||||
return ret;
|
return ret;
|
||||||
} catch (CloneNotSupportedException e) {
|
} catch (CloneNotSupportedException e) {
|
||||||
throw new IllegalStateException("Cannot clone ", e);
|
throw new IllegalStateException("Cannot clone ", e);
|
||||||
@@ -48,44 +59,44 @@ public class ConnectNodeInfo implements Cloneable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return Objects.hash(country, firmwareVersion, ifName, ifType, ipV4Address, lanIfName, lanIfType, lanIpV4Address,
|
return Objects.hash(certificationRegion, country, firmwareVersion, ifName, ifType, ipV4Address, lanIfName, lanIfType, lanIpV4Address, lanMacAddress,
|
||||||
lanMacAddress, macAddress, managerAddr, model, mqttSettings, platformVersion, redirectorAddr, revision,
|
macAddress, managerAddr, manufacturerDate, manufacturerName, manufacturerUrl, model, modelDescription, mqttSettings, platformVersion, qrCode,
|
||||||
serialNumber, skuNumber, versionMatrix, wifiRadioStates);
|
redirectorAddr, referenceDesign, revision, serialNumber, skuNumber, versionMatrix, wifiRadioStates);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
if (this == obj) {
|
if (this == obj)
|
||||||
return true;
|
return true;
|
||||||
}
|
if (obj == null)
|
||||||
if (!(obj instanceof ConnectNodeInfo)) {
|
return false;
|
||||||
|
if (getClass() != obj.getClass())
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
ConnectNodeInfo other = (ConnectNodeInfo) obj;
|
ConnectNodeInfo other = (ConnectNodeInfo) obj;
|
||||||
return Objects.equals(country, other.country) && Objects.equals(firmwareVersion, other.firmwareVersion)
|
return Objects.equals(certificationRegion, other.certificationRegion) && Objects.equals(country, other.country)
|
||||||
&& Objects.equals(ifName, other.ifName) && Objects.equals(ifType, other.ifType)
|
&& 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(ipV4Address, other.ipV4Address) && Objects.equals(lanIfName, other.lanIfName) && Objects.equals(lanIfType, other.lanIfType)
|
||||||
&& Objects.equals(lanIfType, other.lanIfType) && Objects.equals(lanIpV4Address, other.lanIpV4Address)
|
&& Objects.equals(lanIpV4Address, other.lanIpV4Address) && Objects.equals(lanMacAddress, other.lanMacAddress)
|
||||||
&& Objects.equals(lanMacAddress, other.lanMacAddress) && Objects.equals(macAddress, other.macAddress)
|
&& Objects.equals(macAddress, other.macAddress) && Objects.equals(managerAddr, other.managerAddr)
|
||||||
&& Objects.equals(managerAddr, other.managerAddr) && Objects.equals(model, other.model)
|
&& Objects.equals(manufacturerDate, other.manufacturerDate) && Objects.equals(manufacturerName, other.manufacturerName)
|
||||||
&& Objects.equals(mqttSettings, other.mqttSettings)
|
&& Objects.equals(manufacturerUrl, other.manufacturerUrl) && Objects.equals(model, other.model)
|
||||||
&& Objects.equals(platformVersion, other.platformVersion)
|
&& Objects.equals(modelDescription, other.modelDescription) && Objects.equals(mqttSettings, other.mqttSettings)
|
||||||
&& Objects.equals(redirectorAddr, other.redirectorAddr) && Objects.equals(revision, other.revision)
|
&& Objects.equals(platformVersion, other.platformVersion) && Objects.equals(qrCode, other.qrCode)
|
||||||
&& Objects.equals(serialNumber, other.serialNumber) && Objects.equals(skuNumber, other.skuNumber)
|
&& Objects.equals(redirectorAddr, other.redirectorAddr) && Objects.equals(referenceDesign, other.referenceDesign)
|
||||||
&& Objects.equals(versionMatrix, other.versionMatrix)
|
&& Objects.equals(revision, other.revision) && Objects.equals(serialNumber, other.serialNumber) && Objects.equals(skuNumber, other.skuNumber)
|
||||||
&& Objects.equals(wifiRadioStates, other.wifiRadioStates);
|
&& Objects.equals(versionMatrix, other.versionMatrix) && Objects.equals(wifiRadioStates, other.wifiRadioStates);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "ConnectNodeInfo [mqttSettings=" + mqttSettings + ", versionMatrix=" + versionMatrix
|
return "ConnectNodeInfo [mqttSettings=" + mqttSettings + ", versionMatrix=" + versionMatrix + ", wifiRadioStates=" + wifiRadioStates
|
||||||
+ ", wifiRadioStates=" + wifiRadioStates + ", redirectorAddr=" + redirectorAddr + ", managerAddr="
|
+ ", redirectorAddr=" + redirectorAddr + ", managerAddr=" + managerAddr + ", skuNumber=" + skuNumber + ", serialNumber=" + serialNumber
|
||||||
+ managerAddr + ", skuNumber=" + skuNumber + ", serialNumber=" + serialNumber + ", macAddress="
|
+ ", macAddress=" + macAddress + ", ipV4Address=" + ipV4Address + ", platformVersion=" + platformVersion + ", firmwareVersion="
|
||||||
+ macAddress + ", ipV4Address=" + ipV4Address + ", platformVersion=" + platformVersion
|
+ firmwareVersion + ", revision=" + revision + ", model=" + model + ", ifName=" + ifName + ", ifType=" + ifType + ", country=" + country
|
||||||
+ ", firmwareVersion=" + firmwareVersion + ", revision=" + revision + ", model=" + model + ", ifName="
|
+ ", lanIpV4Address=" + lanIpV4Address + ", lanIfName=" + lanIfName + ", lanIfType=" + lanIfType + ", lanMacAddress=" + lanMacAddress
|
||||||
+ ifName + ", ifType=" + ifType + ", country=" + country + ", lanIpV4Address=" + lanIpV4Address
|
+ ", referenceDesign=" + referenceDesign + ", qrCode=" + qrCode + ", modelDescription=" + modelDescription + ", manufacturerUrl="
|
||||||
+ ", lanIfName=" + lanIfName + ", lanIfType=" + lanIfType + ", lanMacAddress=" + lanMacAddress + "]";
|
+ manufacturerUrl + ", manufacturerName=" + manufacturerName + ", manufacturerDate=" + manufacturerDate + ", certificationRegion="
|
||||||
|
+ certificationRegion + "]";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package com.telecominfraproject.wlan.opensync.external.integration.models;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
||||||
|
import com.vmware.ovsdb.protocol.operation.notation.Row;
|
||||||
|
|
||||||
|
public abstract class OpensyncAPBase extends BaseJsonModel {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = -68509242520818671L;
|
||||||
|
|
||||||
|
public static <T> T getSingleValueFromSet(Row row, String columnName) {
|
||||||
|
|
||||||
|
Set<T> set = row != null ? row.getSetColumn(columnName) : null;
|
||||||
|
T ret = (set != null) && !set.isEmpty() ? set.iterator().next() : null;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
public OpensyncAPBase() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public <T> Set<T> getSet(Row row, String columnName) {
|
||||||
|
|
||||||
|
Set<T> set = row != null ? row.getSetColumn(columnName) : null;
|
||||||
|
|
||||||
|
return set;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -3,13 +3,13 @@ package com.telecominfraproject.wlan.opensync.external.integration.models;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import com.telecominfraproject.wlan.core.model.entity.CountryCode;
|
import com.telecominfraproject.wlan.core.model.entity.CountryCode;
|
||||||
import com.telecominfraproject.wlan.core.model.equipment.EquipmentType;
|
import com.telecominfraproject.wlan.core.model.equipment.EquipmentType;
|
||||||
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
|
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
|
||||||
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
||||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
|
||||||
import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration;
|
import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration;
|
||||||
import com.telecominfraproject.wlan.equipment.models.Equipment;
|
import com.telecominfraproject.wlan.equipment.models.Equipment;
|
||||||
import com.telecominfraproject.wlan.equipment.models.StateSetting;
|
import com.telecominfraproject.wlan.equipment.models.StateSetting;
|
||||||
@@ -23,10 +23,14 @@ import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration.Secure
|
|||||||
import com.telecominfraproject.wlan.routing.models.EquipmentGatewayRecord;
|
import com.telecominfraproject.wlan.routing.models.EquipmentGatewayRecord;
|
||||||
import com.telecominfraproject.wlan.routing.models.EquipmentRoutingRecord;
|
import com.telecominfraproject.wlan.routing.models.EquipmentRoutingRecord;
|
||||||
|
|
||||||
public class OpensyncAPConfig extends BaseJsonModel {
|
public class OpensyncAPConfig extends OpensyncAPBase {
|
||||||
|
|
||||||
private static final long serialVersionUID = 3917975477206236668L;
|
private static final long serialVersionUID = 3917975477206236668L;
|
||||||
|
|
||||||
|
public static long getSerialversionuid() {
|
||||||
|
return serialVersionUID;
|
||||||
|
}
|
||||||
|
|
||||||
private Equipment customerEquipment;
|
private Equipment customerEquipment;
|
||||||
private OpensyncAPHotspot20Config hotspotConfig;
|
private OpensyncAPHotspot20Config hotspotConfig;
|
||||||
private Profile apProfile;
|
private Profile apProfile;
|
||||||
@@ -39,8 +43,205 @@ public class OpensyncAPConfig extends BaseJsonModel {
|
|||||||
private EquipmentGatewayRecord equipmentGateway;
|
private EquipmentGatewayRecord equipmentGateway;
|
||||||
private List<Profile> captiveProfiles;
|
private List<Profile> captiveProfiles;
|
||||||
private List<Profile> bonjourGatewayProfiles;
|
private List<Profile> bonjourGatewayProfiles;
|
||||||
|
|
||||||
private List<MacAddress> blockedClients;
|
private List<MacAddress> blockedClients;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public OpensyncAPConfig clone() {
|
||||||
|
OpensyncAPConfig ret = (OpensyncAPConfig) super.clone();
|
||||||
|
|
||||||
|
if (customerEquipment != null) {
|
||||||
|
ret.customerEquipment = customerEquipment.clone();
|
||||||
|
}
|
||||||
|
if (hotspotConfig != null) {
|
||||||
|
ret.hotspotConfig = hotspotConfig.clone();
|
||||||
|
}
|
||||||
|
if (equipmentLocation != null) {
|
||||||
|
ret.equipmentLocation = equipmentLocation.clone();
|
||||||
|
}
|
||||||
|
if (ssidProfile != null) {
|
||||||
|
List<Profile> ssidList = new ArrayList<Profile>();
|
||||||
|
for (Profile profile : ssidProfile) {
|
||||||
|
ssidList.add(profile.clone());
|
||||||
|
}
|
||||||
|
ret.ssidProfile = ssidList;
|
||||||
|
}
|
||||||
|
if (metricsProfile != null) {
|
||||||
|
List<Profile> metricsList = new ArrayList<Profile>();
|
||||||
|
for (Profile profile : metricsProfile) {
|
||||||
|
metricsList.add(profile.clone());
|
||||||
|
}
|
||||||
|
ret.metricsProfile = metricsList;
|
||||||
|
}
|
||||||
|
if (bonjourGatewayProfiles != null) {
|
||||||
|
List<Profile> bonjourGatewayProfilesList = new ArrayList<Profile>();
|
||||||
|
for (Profile profile : bonjourGatewayProfiles) {
|
||||||
|
bonjourGatewayProfilesList.add(profile.clone());
|
||||||
|
}
|
||||||
|
ret.bonjourGatewayProfiles = bonjourGatewayProfilesList;
|
||||||
|
}
|
||||||
|
if (apProfile != null) {
|
||||||
|
ret.apProfile = apProfile.clone();
|
||||||
|
}
|
||||||
|
if (rfProfile != null) {
|
||||||
|
ret.rfProfile = rfProfile.clone();
|
||||||
|
}
|
||||||
|
if (equipmentRouting != null) {
|
||||||
|
ret.equipmentRouting = equipmentRouting.clone();
|
||||||
|
}
|
||||||
|
if (equipmentGateway != null) {
|
||||||
|
ret.equipmentGateway = equipmentGateway.clone();
|
||||||
|
}
|
||||||
|
if (radiusProfiles != null) {
|
||||||
|
ret.radiusProfiles = new ArrayList<>();
|
||||||
|
for (Profile radiusProfile : this.radiusProfiles) {
|
||||||
|
ret.radiusProfiles.add(radiusProfile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (captiveProfiles != null) {
|
||||||
|
ret.captiveProfiles = new ArrayList<>();
|
||||||
|
for (Profile cpConfig : this.captiveProfiles) {
|
||||||
|
ret.captiveProfiles.add(cpConfig);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (blockedClients != null) {
|
||||||
|
ret.blockedClients = new ArrayList<MacAddress>();
|
||||||
|
for (MacAddress blockedClient : this.blockedClients) {
|
||||||
|
ret.blockedClients.add(blockedClient);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if (this == obj) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (obj == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (getClass() != obj.getClass()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
OpensyncAPConfig other = (OpensyncAPConfig) obj;
|
||||||
|
return Objects.equals(apProfile, other.apProfile) && Objects.equals(blockedClients, other.blockedClients)
|
||||||
|
&& Objects.equals(bonjourGatewayProfiles, other.bonjourGatewayProfiles)
|
||||||
|
&& Objects.equals(captiveProfiles, other.captiveProfiles)
|
||||||
|
&& Objects.equals(customerEquipment, other.customerEquipment)
|
||||||
|
&& Objects.equals(equipmentGateway, other.equipmentGateway)
|
||||||
|
&& Objects.equals(equipmentLocation, other.equipmentLocation)
|
||||||
|
&& Objects.equals(equipmentRouting, other.equipmentRouting)
|
||||||
|
&& Objects.equals(hotspotConfig, other.hotspotConfig)
|
||||||
|
&& Objects.equals(metricsProfile, other.metricsProfile)
|
||||||
|
&& Objects.equals(radiusProfiles, other.radiusProfiles) && Objects.equals(rfProfile, other.rfProfile)
|
||||||
|
&& Objects.equals(ssidProfile, other.ssidProfile);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Profile getApProfile() {
|
||||||
|
return apProfile;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<MacAddress> getBlockedClients() {
|
||||||
|
return blockedClients;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Profile> getBonjourGatewayProfiles() {
|
||||||
|
return bonjourGatewayProfiles;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Profile> getCaptiveProfiles() {
|
||||||
|
return captiveProfiles;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCountryCode() {
|
||||||
|
return Location.getCountryCode(this.equipmentLocation).toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Equipment getCustomerEquipment() {
|
||||||
|
return customerEquipment;
|
||||||
|
}
|
||||||
|
|
||||||
|
public EquipmentGatewayRecord getEquipmentGateway() {
|
||||||
|
return equipmentGateway;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Location getEquipmentLocation() {
|
||||||
|
return equipmentLocation;
|
||||||
|
}
|
||||||
|
|
||||||
|
public EquipmentRoutingRecord getEquipmentRouting() {
|
||||||
|
return equipmentRouting;
|
||||||
|
}
|
||||||
|
|
||||||
|
public OpensyncAPHotspot20Config getHotspotConfig() {
|
||||||
|
return hotspotConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Profile> getMetricsProfiles() {
|
||||||
|
return metricsProfile;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Profile> getRadiusProfiles() {
|
||||||
|
return radiusProfiles;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Profile getRfProfile() {
|
||||||
|
return rfProfile;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Profile> getSsidProfile() {
|
||||||
|
return ssidProfile;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(apProfile, blockedClients, bonjourGatewayProfiles, captiveProfiles, customerEquipment,
|
||||||
|
equipmentGateway, equipmentLocation, equipmentRouting, hotspotConfig, metricsProfile, radiusProfiles,
|
||||||
|
rfProfile, ssidProfile);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setApProfile(Profile apProfile) {
|
||||||
|
this.apProfile = apProfile;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBlockedClients(List<MacAddress> blockedClients) {
|
||||||
|
this.blockedClients = blockedClients;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBonjourGatewayProfiles(List<Profile> bonjourGatewayProfiles) {
|
||||||
|
this.bonjourGatewayProfiles = bonjourGatewayProfiles;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCaptiveProfiles(List<Profile> captiveProfiles) {
|
||||||
|
this.captiveProfiles = captiveProfiles;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustomerEquipment(Equipment customerEquipment) {
|
||||||
|
this.customerEquipment = customerEquipment;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEquipmentGateway(EquipmentGatewayRecord equipmentGateway) {
|
||||||
|
this.equipmentGateway = equipmentGateway;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEquipmentLocation(Location equipmentLocation) {
|
||||||
|
this.equipmentLocation = equipmentLocation;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEquipmentRouting(EquipmentRoutingRecord equipmentRouting) {
|
||||||
|
this.equipmentRouting = equipmentRouting;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHotspotConfig(OpensyncAPHotspot20Config hotspotConfig) {
|
||||||
|
this.hotspotConfig = hotspotConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMetricsProfiles(List<Profile> metricsProfileList) {
|
||||||
|
metricsProfile = metricsProfileList;
|
||||||
|
}
|
||||||
|
|
||||||
// Handle Legacy Config Support
|
// Handle Legacy Config Support
|
||||||
public void setRadioConfig(OpensyncAPRadioConfig radioConfig) {
|
public void setRadioConfig(OpensyncAPRadioConfig radioConfig) {
|
||||||
|
|
||||||
@@ -60,13 +261,21 @@ public class OpensyncAPConfig extends BaseJsonModel {
|
|||||||
equipmentLocation = new Location();
|
equipmentLocation = new Location();
|
||||||
equipmentLocation.setId(1);
|
equipmentLocation.setId(1);
|
||||||
equipmentLocation.setDetails(LocationDetails.createWithDefaults());
|
equipmentLocation.setDetails(LocationDetails.createWithDefaults());
|
||||||
((LocationDetails) equipmentLocation.getDetails())
|
equipmentLocation.getDetails()
|
||||||
.setCountryCode(CountryCode.getByName(radioConfig.getCountry().toLowerCase()));
|
.setCountryCode(CountryCode.getByName(radioConfig.getCountry().toLowerCase()));
|
||||||
customerEquipment.setLocationId(equipmentLocation.getId());
|
customerEquipment.setLocationId(equipmentLocation.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setRadiusProfiles(List<Profile> radiusProfiles) {
|
||||||
|
this.radiusProfiles = radiusProfiles;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRfProfile(Profile rfProfile) {
|
||||||
|
this.rfProfile = rfProfile;
|
||||||
|
}
|
||||||
|
|
||||||
// Handle Legacy Config Support
|
// Handle Legacy Config Support
|
||||||
public void setSsidConfigs(List<OpensyncAPSsidConfig> ssidConfigs) {
|
public void setSsidConfigs(List<OpensyncAPSsidConfig> ssidConfigs) {
|
||||||
|
|
||||||
@@ -88,16 +297,18 @@ public class OpensyncAPConfig extends BaseJsonModel {
|
|||||||
appliedRadios.add(ssidConfig.getRadioType());
|
appliedRadios.add(ssidConfig.getRadioType());
|
||||||
cfg.setAppliedRadios(appliedRadios);
|
cfg.setAppliedRadios(appliedRadios);
|
||||||
cfg.setSsid(ssidConfig.getSsid());
|
cfg.setSsid(ssidConfig.getSsid());
|
||||||
if (ssidConfig.getEncryption().equals("WPA-PSK") && ssidConfig.getMode().equals("1"))
|
if (ssidConfig.getEncryption().equals("WPA-PSK") && ssidConfig.getMode().equals("1")) {
|
||||||
cfg.setSecureMode(SecureMode.wpaPSK);
|
cfg.setSecureMode(SecureMode.wpaPSK);
|
||||||
else
|
} else {
|
||||||
cfg.setSecureMode(SecureMode.wpa2PSK);
|
cfg.setSecureMode(SecureMode.wpa2PSK);
|
||||||
|
}
|
||||||
cfg.setBroadcastSsid(ssidConfig.isBroadcast() ? StateSetting.enabled : StateSetting.disabled);
|
cfg.setBroadcastSsid(ssidConfig.isBroadcast() ? StateSetting.enabled : StateSetting.disabled);
|
||||||
|
|
||||||
profile.setDetails(cfg);
|
profile.setDetails(cfg);
|
||||||
profile.setId(ssidProfileId);
|
profile.setId(ssidProfileId);
|
||||||
if (this.ssidProfile == null)
|
if (this.ssidProfile == null) {
|
||||||
this.ssidProfile = new ArrayList<Profile>();
|
this.ssidProfile = new ArrayList<Profile>();
|
||||||
|
}
|
||||||
this.ssidProfile.add(profile);
|
this.ssidProfile.add(profile);
|
||||||
apProfile.getChildProfileIds().add(ssidProfileId);
|
apProfile.getChildProfileIds().add(ssidProfileId);
|
||||||
ssidProfileId++;
|
ssidProfileId++;
|
||||||
@@ -110,176 +321,8 @@ public class OpensyncAPConfig extends BaseJsonModel {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EquipmentGatewayRecord getEquipmentGateway() {
|
|
||||||
return equipmentGateway;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEquipmentGateway(EquipmentGatewayRecord equipmentGateway) {
|
|
||||||
this.equipmentGateway = equipmentGateway;
|
|
||||||
}
|
|
||||||
|
|
||||||
public EquipmentRoutingRecord getEquipmentRouting() {
|
|
||||||
return equipmentRouting;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEquipmentRouting(EquipmentRoutingRecord equipmentRouting) {
|
|
||||||
this.equipmentRouting = equipmentRouting;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Equipment getCustomerEquipment() {
|
|
||||||
return customerEquipment;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCustomerEquipment(Equipment customerEquipment) {
|
|
||||||
this.customerEquipment = customerEquipment;
|
|
||||||
}
|
|
||||||
|
|
||||||
public OpensyncAPHotspot20Config getHotspotConfig() {
|
|
||||||
return hotspotConfig;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setHotspotConfig(OpensyncAPHotspot20Config hotspotConfig) {
|
|
||||||
this.hotspotConfig = hotspotConfig;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Profile getApProfile() {
|
|
||||||
return apProfile;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setApProfile(Profile apProfile) {
|
|
||||||
this.apProfile = apProfile;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Profile getRfProfile() {
|
|
||||||
return rfProfile;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRfProfile(Profile rfProfile) {
|
|
||||||
this.rfProfile = rfProfile;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Profile> getSsidProfile() {
|
|
||||||
return ssidProfile;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSsidProfile(List<Profile> ssidProfile) {
|
public void setSsidProfile(List<Profile> ssidProfile) {
|
||||||
this.ssidProfile = ssidProfile;
|
this.ssidProfile = ssidProfile;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Profile> getBonjourGatewayProfiles() {
|
|
||||||
return bonjourGatewayProfiles;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBonjourGatewayProfiles(List<Profile> bonjourGatewayProfiles) {
|
|
||||||
this.bonjourGatewayProfiles = bonjourGatewayProfiles;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Location getEquipmentLocation() {
|
|
||||||
return equipmentLocation;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEquipmentLocation(Location equipmentLocation) {
|
|
||||||
this.equipmentLocation = equipmentLocation;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCountryCode() {
|
|
||||||
return Location.getCountryCode(this.equipmentLocation).toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static long getSerialversionuid() {
|
|
||||||
return serialVersionUID;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public OpensyncAPConfig clone() {
|
|
||||||
OpensyncAPConfig ret = (OpensyncAPConfig) super.clone();
|
|
||||||
|
|
||||||
if (customerEquipment != null)
|
|
||||||
ret.customerEquipment = customerEquipment.clone();
|
|
||||||
if (hotspotConfig != null)
|
|
||||||
ret.hotspotConfig = hotspotConfig.clone();
|
|
||||||
if (equipmentLocation != null)
|
|
||||||
ret.equipmentLocation = equipmentLocation.clone();
|
|
||||||
if (ssidProfile != null) {
|
|
||||||
List<Profile> ssidList = new ArrayList<Profile>();
|
|
||||||
for (Profile profile : ssidProfile) {
|
|
||||||
ssidList.add(profile.clone());
|
|
||||||
}
|
|
||||||
ret.ssidProfile = ssidList;
|
|
||||||
}
|
|
||||||
if (metricsProfile != null) {
|
|
||||||
List<Profile> metricsList = new ArrayList<Profile>();
|
|
||||||
for (Profile profile : metricsProfile) {
|
|
||||||
metricsList.add(profile.clone());
|
|
||||||
}
|
|
||||||
ret.metricsProfile = metricsList;
|
|
||||||
}
|
|
||||||
if (bonjourGatewayProfiles != null) {
|
|
||||||
List<Profile> bonjourGatewayProfilesList = new ArrayList<Profile>();
|
|
||||||
for (Profile profile : bonjourGatewayProfiles) {
|
|
||||||
bonjourGatewayProfilesList.add(profile.clone());
|
|
||||||
}
|
|
||||||
ret.bonjourGatewayProfiles = bonjourGatewayProfilesList;
|
|
||||||
}
|
|
||||||
if (apProfile != null)
|
|
||||||
ret.apProfile = apProfile.clone();
|
|
||||||
if (rfProfile != null)
|
|
||||||
ret.rfProfile = rfProfile.clone();
|
|
||||||
if (equipmentRouting != null)
|
|
||||||
ret.equipmentRouting = equipmentRouting.clone();
|
|
||||||
if (equipmentGateway != null)
|
|
||||||
ret.equipmentGateway = equipmentGateway.clone();
|
|
||||||
if (radiusProfiles != null) {
|
|
||||||
ret.radiusProfiles = new ArrayList<>();
|
|
||||||
for (Profile radiusProfile : this.radiusProfiles) {
|
|
||||||
ret.radiusProfiles.add(radiusProfile);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (captiveProfiles != null) {
|
|
||||||
ret.captiveProfiles = new ArrayList<>();
|
|
||||||
for (Profile cpConfig : this.captiveProfiles) {
|
|
||||||
ret.captiveProfiles.add(cpConfig);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (blockedClients != null) {
|
|
||||||
ret.blockedClients = new ArrayList<MacAddress>();
|
|
||||||
for (MacAddress blockedClient : this.blockedClients) {
|
|
||||||
ret.blockedClients.add(blockedClient);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Profile> getRadiusProfiles() {
|
|
||||||
return radiusProfiles;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRadiusProfiles(List<Profile> radiusProfiles) {
|
|
||||||
this.radiusProfiles = radiusProfiles;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Profile> getCaptiveProfiles() {
|
|
||||||
return captiveProfiles;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCaptiveProfiles(List<Profile> captiveProfiles) {
|
|
||||||
this.captiveProfiles = captiveProfiles;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<MacAddress> getBlockedClients() {
|
|
||||||
return blockedClients;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBlockedClients(List<MacAddress> blockedClients) {
|
|
||||||
this.blockedClients = blockedClients;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMetricsProfiles(List<Profile> metricsProfileList) {
|
|
||||||
metricsProfile = metricsProfileList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Profile> getMetricsProfiles() {
|
|
||||||
return metricsProfile;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,10 +4,9 @@ import java.util.HashSet;
|
|||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
|
||||||
import com.telecominfraproject.wlan.profile.models.Profile;
|
import com.telecominfraproject.wlan.profile.models.Profile;
|
||||||
|
|
||||||
public class OpensyncAPHotspot20Config extends BaseJsonModel {
|
public class OpensyncAPHotspot20Config extends OpensyncAPBase {
|
||||||
|
|
||||||
private static final long serialVersionUID = -8495473152523219578L;
|
private static final long serialVersionUID = -8495473152523219578L;
|
||||||
|
|
||||||
@@ -20,40 +19,6 @@ public class OpensyncAPHotspot20Config extends BaseJsonModel {
|
|||||||
private Set<Profile> hotspot20VenueSet;
|
private Set<Profile> hotspot20VenueSet;
|
||||||
private Set<Profile> hotspot20ProviderSet;
|
private Set<Profile> hotspot20ProviderSet;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public Set<Profile> getHotspot20ProfileSet() {
|
|
||||||
return hotspot20ProfileSet;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setHotspot20ProfileSet(Set<Profile> hotspot20ProfileSet) {
|
|
||||||
this.hotspot20ProfileSet = hotspot20ProfileSet;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Set<Profile> getHotspot20OperatorSet() {
|
|
||||||
return hotspot20OperatorSet;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setHotspot20OperatorSet(Set<Profile> hotspot20OperatorSet) {
|
|
||||||
this.hotspot20OperatorSet = hotspot20OperatorSet;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Set<Profile> getHotspot20VenueSet() {
|
|
||||||
return hotspot20VenueSet;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setHotspot20VenueSet(Set<Profile> hotspot20VenueSet) {
|
|
||||||
this.hotspot20VenueSet = hotspot20VenueSet;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Set<Profile> getHotspot20ProviderSet() {
|
|
||||||
return hotspot20ProviderSet;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setHotspot20ProviderSet(Set<Profile> hotspot20ProviderSet) {
|
|
||||||
this.hotspot20ProviderSet = hotspot20ProviderSet;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public OpensyncAPHotspot20Config clone() {
|
public OpensyncAPHotspot20Config clone() {
|
||||||
OpensyncAPHotspot20Config ret = (OpensyncAPHotspot20Config) super.clone();
|
OpensyncAPHotspot20Config ret = (OpensyncAPHotspot20Config) super.clone();
|
||||||
@@ -77,17 +42,15 @@ public class OpensyncAPHotspot20Config extends BaseJsonModel {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public int hashCode() {
|
|
||||||
return Objects.hash(hotspot20OperatorSet, hotspot20ProfileSet, hotspot20ProviderSet, hotspot20VenueSet);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
if (this == obj) {
|
if (this == obj) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (!(obj instanceof OpensyncAPHotspot20Config)) {
|
if (obj == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (getClass() != obj.getClass()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
OpensyncAPHotspot20Config other = (OpensyncAPHotspot20Config) obj;
|
OpensyncAPHotspot20Config other = (OpensyncAPHotspot20Config) obj;
|
||||||
@@ -97,4 +60,41 @@ public class OpensyncAPHotspot20Config extends BaseJsonModel {
|
|||||||
&& Objects.equals(hotspot20VenueSet, other.hotspot20VenueSet);
|
&& Objects.equals(hotspot20VenueSet, other.hotspot20VenueSet);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Set<Profile> getHotspot20OperatorSet() {
|
||||||
|
return hotspot20OperatorSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set<Profile> getHotspot20ProfileSet() {
|
||||||
|
return hotspot20ProfileSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set<Profile> getHotspot20ProviderSet() {
|
||||||
|
return hotspot20ProviderSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set<Profile> getHotspot20VenueSet() {
|
||||||
|
return hotspot20VenueSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(hotspot20OperatorSet, hotspot20ProfileSet, hotspot20ProviderSet, hotspot20VenueSet);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHotspot20OperatorSet(Set<Profile> hotspot20OperatorSet) {
|
||||||
|
this.hotspot20OperatorSet = hotspot20OperatorSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHotspot20ProfileSet(Set<Profile> hotspot20ProfileSet) {
|
||||||
|
this.hotspot20ProfileSet = hotspot20ProfileSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHotspot20ProviderSet(Set<Profile> hotspot20ProviderSet) {
|
||||||
|
this.hotspot20ProviderSet = hotspot20ProviderSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHotspot20VenueSet(Set<Profile> hotspot20VenueSet) {
|
||||||
|
this.hotspot20VenueSet = hotspot20VenueSet;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,17 +2,22 @@ package com.telecominfraproject.wlan.opensync.external.integration.models;
|
|||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
import com.vmware.ovsdb.protocol.operation.notation.Row;
|
||||||
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
|
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
|
||||||
|
import com.vmware.ovsdb.protocol.operation.notation.Value;
|
||||||
|
|
||||||
public class OpensyncAPInetState extends BaseJsonModel {
|
public class OpensyncAPInetState extends OpensyncAPBase {
|
||||||
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1707053648715030173L;
|
private static final long serialVersionUID = 1707053648715030173L;
|
||||||
|
|
||||||
|
public static long getSerialversionuid() {
|
||||||
|
return serialVersionUID;
|
||||||
|
}
|
||||||
|
|
||||||
public String ifName;
|
public String ifName;
|
||||||
public String dhcpd;
|
public Map<String, String> dhcpd;
|
||||||
public String unpnpMode;
|
public String unpnpMode;
|
||||||
public String ifType;
|
public String ifType;
|
||||||
public String softwdsMacAddr;
|
public String softwdsMacAddr;
|
||||||
@@ -37,175 +42,439 @@ public class OpensyncAPInetState extends BaseJsonModel {
|
|||||||
public String inetConfig;
|
public String inetConfig;
|
||||||
public Uuid _uuid;
|
public Uuid _uuid;
|
||||||
public Uuid version;
|
public Uuid version;
|
||||||
|
public String greLocalInetAddr;
|
||||||
|
|
||||||
|
public String greRemoteMacAddr;
|
||||||
|
|
||||||
|
|
||||||
public OpensyncAPInetState() {
|
public OpensyncAPInetState() {
|
||||||
super();
|
|
||||||
dns = new HashMap<>();
|
dns = new HashMap<>();
|
||||||
dhcpc = new HashMap<>();
|
dhcpc = new HashMap<>();
|
||||||
}
|
}
|
||||||
public String getIfName() {
|
|
||||||
return ifName;
|
public OpensyncAPInetState(Row row) {
|
||||||
|
dns = new HashMap<>();
|
||||||
|
dhcpc = new HashMap<>();
|
||||||
|
|
||||||
|
Map<String, Value> map = row.getColumns();
|
||||||
|
|
||||||
|
if ((map.get("NAT") != null)
|
||||||
|
&& map.get("NAT").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setNat(row.getBooleanColumn("NAT"));
|
||||||
}
|
}
|
||||||
public void setIfName(String ifName) {
|
if ((map.get("enabled") != null)
|
||||||
this.ifName = ifName;
|
&& map.get("enabled").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setEnabled(row.getBooleanColumn("enabled"));
|
||||||
}
|
}
|
||||||
public String getDhcpd() {
|
if ((map.get("if_name") != null)
|
||||||
return dhcpd;
|
&& map.get("if_name").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setIfName(row.getStringColumn("if_name"));
|
||||||
}
|
}
|
||||||
public void setDhcpd(String dhcpd) {
|
if ((map.get("if_type") != null)
|
||||||
this.dhcpd = dhcpd;
|
&& map.get("if_type").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setIfType(row.getStringColumn("if_type"));
|
||||||
}
|
}
|
||||||
public String getUnpnpMode() {
|
|
||||||
return unpnpMode;
|
if (map.containsKey("dhcpc")) {
|
||||||
|
this.setDhcpc(row.getMapColumn("dhcpc"));
|
||||||
}
|
}
|
||||||
public void setUnpnpMode(String unpnpMode) {
|
if (map.containsKey("dhcpd")) {
|
||||||
this.unpnpMode = unpnpMode;
|
this.setDhcpd(row.getMapColumn("dhcpd"));
|
||||||
}
|
}
|
||||||
public String getIfType() {
|
if (map.containsKey("dns")) {
|
||||||
return ifType;
|
this.setDns(row.getMapColumn("dns"));
|
||||||
}
|
}
|
||||||
public void setIfType(String ifType) {
|
if (map.get("inet_addr") != null
|
||||||
this.ifType = ifType;
|
&& map.get("inet_addr").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setInetAddr(row.getStringColumn("inet_addr"));
|
||||||
}
|
}
|
||||||
public String getSoftwdsMacAddr() {
|
if (map.containsKey("netmask")) {
|
||||||
return softwdsMacAddr;
|
this.setNetmask(getSingleValueFromSet(row, "netmask"));
|
||||||
}
|
}
|
||||||
public void setSoftwdsMacAddr(String softwdsMacAddr) {
|
if (map.get("vlan_id") != null
|
||||||
this.softwdsMacAddr = softwdsMacAddr;
|
&& map.get("vlan_id").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setVlanId(row.getIntegerColumn("vlan_id").intValue());
|
||||||
}
|
}
|
||||||
public boolean isEnabled() {
|
if (map.get("gre_ifname") != null
|
||||||
return enabled;
|
&& map.get("gre_ifname").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setGreIfName(row.getStringColumn("gre_ifname"));
|
||||||
}
|
}
|
||||||
public void setEnabled(boolean enabled) {
|
if (map.get("gre_remote_inet_addr") != null && map.get("gre_remote_inet_addr").getClass()
|
||||||
this.enabled = enabled;
|
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setGreRemoteInetAddr(row.getStringColumn("gre_remote_inet_addr"));
|
||||||
}
|
}
|
||||||
public boolean isSofwdsWrap() {
|
if (map.get("gre_local_inet_addr") != null && map.get("gre_local_inet_addr").getClass()
|
||||||
return sofwdsWrap;
|
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setGreLocalInetAddr(row.getStringColumn("gre_local_inet_addr"));
|
||||||
}
|
}
|
||||||
public void setSofwdsWrap(boolean sofwdsWrap) {
|
if (map.get("gre_remote_mac_addr") != null && map.get("gre_remote_mac_addr").getClass()
|
||||||
this.sofwdsWrap = sofwdsWrap;
|
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setGreRemoteMacAddr(row.getStringColumn("gre_remote_mac_addr"));
|
||||||
}
|
}
|
||||||
public int getVlanId() {
|
|
||||||
return vlanId;
|
if ((map.get("ip_assign_scheme") != null) && map.get("ip_assign_scheme").getClass()
|
||||||
|
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setIpAssignScheme(row.getStringColumn("ip_assign_scheme"));
|
||||||
}
|
}
|
||||||
public void setVlanId(int vlanId) {
|
if ((map.get("network") != null)
|
||||||
this.vlanId = vlanId;
|
&& map.get("network").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setNetwork(row.getBooleanColumn("network"));
|
||||||
}
|
}
|
||||||
public String getNetmask() {
|
if ((map.get("hwaddr") != null)
|
||||||
return netmask;
|
&& map.get("hwaddr").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setHwAddr(row.getStringColumn("hwaddr"));
|
||||||
}
|
}
|
||||||
public void setNetmask(String netmask) {
|
if ((map.get("_version") != null)
|
||||||
this.netmask = netmask;
|
&& map.get("_version").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setVersion(row.getUuidColumn("_version"));
|
||||||
}
|
}
|
||||||
public boolean isNat() {
|
if ((map.get("_uuid") != null)
|
||||||
return nat;
|
&& map.get("_uuid").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setVersion(row.getUuidColumn("_uuid"));
|
||||||
}
|
}
|
||||||
public void setNat(boolean nat) {
|
|
||||||
this.nat = nat;
|
|
||||||
}
|
}
|
||||||
public String getGreRemoteInetAddr() {
|
|
||||||
return greRemoteInetAddr;
|
@Override
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if (this == obj) {
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
public void setGreRemoteInetAddr(String greRemoteInetAddr) {
|
if (obj == null) {
|
||||||
this.greRemoteInetAddr = greRemoteInetAddr;
|
return false;
|
||||||
}
|
}
|
||||||
public String getIfUuid() {
|
if (getClass() != obj.getClass()) {
|
||||||
return ifUuid;
|
return false;
|
||||||
}
|
}
|
||||||
public void setIfUuid(String ifUuid) {
|
OpensyncAPInetState other = (OpensyncAPInetState) obj;
|
||||||
this.ifUuid = ifUuid;
|
if (!Objects.equals(_uuid, other._uuid)) {
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
public String getInetAddr() {
|
if (!Objects.equals(broadcast, other.broadcast)) {
|
||||||
return inetAddr;
|
return false;
|
||||||
}
|
}
|
||||||
public void setInetAddr(String inetAddr) {
|
if (!Objects.equals(dhcpc, other.dhcpc)) {
|
||||||
this.inetAddr = inetAddr;
|
return false;
|
||||||
}
|
}
|
||||||
public String getHwAddr() {
|
if (!Objects.equals(dhcpd, other.dhcpd)) {
|
||||||
return hwAddr;
|
return false;
|
||||||
}
|
}
|
||||||
public void setHwAddr(String hwAddr) {
|
if (!Objects.equals(dns, other.dns)) {
|
||||||
this.hwAddr = hwAddr;
|
return false;
|
||||||
}
|
}
|
||||||
public int getMtw() {
|
if (enabled != other.enabled) {
|
||||||
return mtw;
|
return false;
|
||||||
}
|
}
|
||||||
public void setMtw(int mtw) {
|
if (!Objects.equals(gateway, other.gateway)) {
|
||||||
this.mtw = mtw;
|
return false;
|
||||||
}
|
}
|
||||||
public boolean isNetwork() {
|
if (!Objects.equals(greIfName, other.greIfName)) {
|
||||||
return network;
|
return false;
|
||||||
}
|
}
|
||||||
public void setNetwork(boolean network) {
|
if (!Objects.equals(greLocalInetAddr, other.greLocalInetAddr)) {
|
||||||
this.network = network;
|
return false;
|
||||||
}
|
}
|
||||||
public Map<String, String> getDns() {
|
if (!Objects.equals(greRemoteInetAddr, other.greRemoteInetAddr)) {
|
||||||
return dns;
|
return false;
|
||||||
}
|
}
|
||||||
public void setDns(Map<String, String> dns) {
|
if (!Objects.equals(hwAddr, other.hwAddr)) {
|
||||||
this.dns = dns;
|
return false;
|
||||||
}
|
}
|
||||||
public String getParentIfName() {
|
if (!Objects.equals(ifName, other.ifName)) {
|
||||||
return parentIfName;
|
return false;
|
||||||
}
|
}
|
||||||
public void setParentIfName(String parentIfName) {
|
if (!Objects.equals(ifType, other.ifType)) {
|
||||||
this.parentIfName = parentIfName;
|
return false;
|
||||||
}
|
}
|
||||||
public String getGreIfName() {
|
if (!Objects.equals(ifUuid, other.ifUuid)) {
|
||||||
return greIfName;
|
return false;
|
||||||
}
|
}
|
||||||
public void setGreIfName(String greIfName) {
|
if (!Objects.equals(inetAddr, other.inetAddr)) {
|
||||||
this.greIfName = greIfName;
|
return false;
|
||||||
}
|
}
|
||||||
public String getBroadcast() {
|
if (!Objects.equals(inetConfig, other.inetConfig)) {
|
||||||
return broadcast;
|
return false;
|
||||||
}
|
}
|
||||||
public void setBroadcast(String broadcast) {
|
if (!Objects.equals(ipAssignScheme, other.ipAssignScheme)) {
|
||||||
this.broadcast = broadcast;
|
return false;
|
||||||
}
|
}
|
||||||
public Map<String, String> getDhcpc() {
|
if (mtw != other.mtw) {
|
||||||
return dhcpc;
|
return false;
|
||||||
}
|
}
|
||||||
public void setDhcpc(Map<String, String> dhcpc) {
|
if (nat != other.nat) {
|
||||||
this.dhcpc = dhcpc;
|
return false;
|
||||||
}
|
}
|
||||||
public String getGateway() {
|
if (!Objects.equals(netmask, other.netmask)) {
|
||||||
return gateway;
|
return false;
|
||||||
}
|
}
|
||||||
public void setGateway(String gateway) {
|
if (network != other.network) {
|
||||||
this.gateway = gateway;
|
return false;
|
||||||
}
|
}
|
||||||
public String getIpAssignScheme() {
|
if (!Objects.equals(parentIfName, other.parentIfName)) {
|
||||||
return ipAssignScheme;
|
return false;
|
||||||
}
|
}
|
||||||
public void setIpAssignScheme(String ipAssignScheme) {
|
if (!Objects.equals(greRemoteMacAddr, other.greRemoteMacAddr)) {
|
||||||
this.ipAssignScheme = ipAssignScheme;
|
return false;
|
||||||
}
|
}
|
||||||
public String getInetConfig() {
|
if (!Objects.equals(softwdsMacAddr, other.softwdsMacAddr)) {
|
||||||
return inetConfig;
|
return false;
|
||||||
}
|
}
|
||||||
public void setInetConfig(String inetConfig) {
|
if (sofwdsWrap != other.sofwdsWrap) {
|
||||||
this.inetConfig = inetConfig;
|
return false;
|
||||||
}
|
}
|
||||||
public static long getSerialversionuid() {
|
if (!Objects.equals(unpnpMode, other.unpnpMode)) {
|
||||||
return serialVersionUID;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (!Objects.equals(version, other.version)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (vlanId != other.vlanId) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public Uuid get_uuid() {
|
public Uuid get_uuid() {
|
||||||
return _uuid;
|
return _uuid;
|
||||||
}
|
}
|
||||||
public void set_uuid(Uuid _uuid) {
|
|
||||||
this._uuid = _uuid;
|
public String getBroadcast() {
|
||||||
|
return broadcast;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getDhcpc() {
|
||||||
|
return dhcpc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getDhcpd() {
|
||||||
|
return dhcpd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getDns() {
|
||||||
|
return dns;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGateway() {
|
||||||
|
return gateway;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGreIfName() {
|
||||||
|
return greIfName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGreLocalInetAddr() {
|
||||||
|
return greLocalInetAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGreRemoteInetAddr() {
|
||||||
|
return greRemoteInetAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGreRemoteMacAddr() {
|
||||||
|
return this.greRemoteMacAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHwAddr() {
|
||||||
|
return hwAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIfName() {
|
||||||
|
return ifName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIfType() {
|
||||||
|
return ifType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIfUuid() {
|
||||||
|
return ifUuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInetAddr() {
|
||||||
|
return inetAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInetConfig() {
|
||||||
|
return inetConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIpAssignScheme() {
|
||||||
|
return ipAssignScheme;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getMtw() {
|
||||||
|
return mtw;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNetmask() {
|
||||||
|
return netmask;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getParentIfName() {
|
||||||
|
return parentIfName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSoftwdsMacAddr() {
|
||||||
|
return softwdsMacAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUnpnpMode() {
|
||||||
|
return unpnpMode;
|
||||||
|
}
|
||||||
|
|
||||||
public Uuid getVersion() {
|
public Uuid getVersion() {
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getVlanId() {
|
||||||
|
return vlanId;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(_uuid, broadcast, dhcpc, dhcpd, dns, enabled, gateway, greIfName, greLocalInetAddr, greRemoteInetAddr,
|
||||||
|
hwAddr, ifName, ifType, ifUuid, inetAddr, inetConfig, ipAssignScheme, mtw, nat, netmask, network,
|
||||||
|
parentIfName, greRemoteMacAddr, softwdsMacAddr, sofwdsWrap, unpnpMode, version, vlanId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isEnabled() {
|
||||||
|
return enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isNat() {
|
||||||
|
return nat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isNetwork() {
|
||||||
|
return network;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isSofwdsWrap() {
|
||||||
|
return sofwdsWrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void set_uuid(Uuid _uuid) {
|
||||||
|
this._uuid = _uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBroadcast(String broadcast) {
|
||||||
|
this.broadcast = broadcast;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDhcpc(Map<String, String> dhcpc) {
|
||||||
|
this.dhcpc = dhcpc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDhcpd(Map<String, String> dhcpd) {
|
||||||
|
this.dhcpd = dhcpd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDns(Map<String, String> dns) {
|
||||||
|
this.dns = dns;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEnabled(boolean enabled) {
|
||||||
|
this.enabled = enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGateway(String gateway) {
|
||||||
|
this.gateway = gateway;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGreIfName(String greIfName) {
|
||||||
|
this.greIfName = greIfName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGreLocalInetAddr(String greLocalInetAddr) {
|
||||||
|
this.greLocalInetAddr = greLocalInetAddr;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGreRemoteInetAddr(String greRemoteInetAddr) {
|
||||||
|
this.greRemoteInetAddr = greRemoteInetAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGreRemoteMacAddr(String greRemoteMacAddr) {
|
||||||
|
this.greRemoteMacAddr = greRemoteMacAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHwAddr(String hwAddr) {
|
||||||
|
this.hwAddr = hwAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIfName(String ifName) {
|
||||||
|
this.ifName = ifName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIfType(String ifType) {
|
||||||
|
this.ifType = ifType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIfUuid(String ifUuid) {
|
||||||
|
this.ifUuid = ifUuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInetAddr(String inetAddr) {
|
||||||
|
this.inetAddr = inetAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInetConfig(String inetConfig) {
|
||||||
|
this.inetConfig = inetConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIpAssignScheme(String ipAssignScheme) {
|
||||||
|
this.ipAssignScheme = ipAssignScheme;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMtw(int mtw) {
|
||||||
|
this.mtw = mtw;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNat(boolean nat) {
|
||||||
|
this.nat = nat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNetmask(String netmask) {
|
||||||
|
this.netmask = netmask;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNetwork(boolean network) {
|
||||||
|
this.network = network;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setParentIfName(String parentIfName) {
|
||||||
|
this.parentIfName = parentIfName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSoftwdsMacAddr(String softwdsMacAddr) {
|
||||||
|
this.softwdsMacAddr = softwdsMacAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSofwdsWrap(boolean sofwdsWrap) {
|
||||||
|
this.sofwdsWrap = sofwdsWrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUnpnpMode(String unpnpMode) {
|
||||||
|
this.unpnpMode = unpnpMode;
|
||||||
|
}
|
||||||
|
|
||||||
public void setVersion(Uuid version) {
|
public void setVersion(Uuid version) {
|
||||||
this.version = version;
|
this.version = version;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setVlanId(int vlanId) {
|
||||||
|
this.vlanId = vlanId;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "OpensyncAPInetState [ifName=" + ifName + ", dhcpd=" + dhcpd + ", unpnpMode=" + unpnpMode + ", ifType="
|
||||||
|
+ ifType + ", softwdsMacAddr=" + softwdsMacAddr + ", enabled=" + enabled + ", sofwdsWrap=" + sofwdsWrap
|
||||||
|
+ ", vlanId=" + vlanId + ", netmask=" + netmask + ", nat=" + nat + ", greRemoteInetAddr="
|
||||||
|
+ greRemoteInetAddr + ", ifUuid=" + ifUuid + ", inetAddr=" + inetAddr + ", hwAddr=" + hwAddr + ", mtw="
|
||||||
|
+ mtw + ", network=" + network + ", dns=" + dns + ", parentIfName=" + parentIfName + ", greIfName="
|
||||||
|
+ greIfName + ", broadcast=" + broadcast + ", dhcpc=" + dhcpc + ", gateway=" + gateway
|
||||||
|
+ ", ipAssignScheme=" + ipAssignScheme + ", inetConfig=" + inetConfig + ", _uuid=" + _uuid
|
||||||
|
+ ", version=" + version + ", greLocalInetAddr=" + greLocalInetAddr + ", greRemoteMacAddr="
|
||||||
|
+ greRemoteMacAddr + "]";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
package com.telecominfraproject.wlan.opensync.external.integration.models;
|
package com.telecominfraproject.wlan.opensync.external.integration.models;
|
||||||
|
|
||||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
public class OpensyncAPRadioConfig extends OpensyncAPBase {
|
||||||
|
|
||||||
public class OpensyncAPRadioConfig extends BaseJsonModel {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 5683558403622855381L;
|
private static final long serialVersionUID = 5683558403622855381L;
|
||||||
|
|
||||||
@@ -11,40 +9,40 @@ public class OpensyncAPRadioConfig extends BaseJsonModel {
|
|||||||
private int radioChannel5LG;
|
private int radioChannel5LG;
|
||||||
private int radioChannel5HG;
|
private int radioChannel5HG;
|
||||||
|
|
||||||
public int getRadioChannel24G() {
|
@Override
|
||||||
return radioChannel24G;
|
public OpensyncAPRadioConfig clone() {
|
||||||
}
|
return (OpensyncAPRadioConfig) super.clone();
|
||||||
|
|
||||||
public void setRadioChannel24G(int radioChannel24G) {
|
|
||||||
this.radioChannel24G = radioChannel24G;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getRadioChannel5LG() {
|
|
||||||
return radioChannel5LG;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRadioChannel5LG(int radioChannel5LG) {
|
|
||||||
this.radioChannel5LG = radioChannel5LG;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getRadioChannel5HG() {
|
|
||||||
return radioChannel5HG;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRadioChannel5HG(int radioChannel5HG) {
|
|
||||||
this.radioChannel5HG = radioChannel5HG;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getCountry() {
|
public String getCountry() {
|
||||||
return country;
|
return country;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getRadioChannel24G() {
|
||||||
|
return radioChannel24G;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getRadioChannel5HG() {
|
||||||
|
return radioChannel5HG;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getRadioChannel5LG() {
|
||||||
|
return radioChannel5LG;
|
||||||
|
}
|
||||||
|
|
||||||
public void setCountry(String country) {
|
public void setCountry(String country) {
|
||||||
this.country = country;
|
this.country = country;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public void setRadioChannel24G(int radioChannel24G) {
|
||||||
public OpensyncAPRadioConfig clone() {
|
this.radioChannel24G = radioChannel24G;
|
||||||
return (OpensyncAPRadioConfig)super.clone();
|
}
|
||||||
|
|
||||||
|
public void setRadioChannel5HG(int radioChannel5HG) {
|
||||||
|
this.radioChannel5HG = radioChannel5HG;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRadioChannel5LG(int radioChannel5LG) {
|
||||||
|
this.radioChannel5LG = radioChannel5LG;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,25 +3,28 @@
|
|||||||
*/
|
*/
|
||||||
package com.telecominfraproject.wlan.opensync.external.integration.models;
|
package com.telecominfraproject.wlan.opensync.external.integration.models;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
||||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
import com.vmware.ovsdb.protocol.operation.notation.Row;
|
||||||
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
|
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
|
||||||
|
import com.vmware.ovsdb.protocol.operation.notation.Value;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author mikehansen
|
* @author mikehansen
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class OpensyncAPRadioState extends BaseJsonModel {
|
public class OpensyncAPRadioState extends OpensyncAPBase {
|
||||||
|
|
||||||
private static final long serialVersionUID = 5003143778489404219L;
|
private static final long serialVersionUID = 5003143778489404219L;
|
||||||
|
|
||||||
|
public static long getSerialversionuid() {
|
||||||
|
return serialVersionUID;
|
||||||
|
}
|
||||||
|
|
||||||
public int temperatureControl;
|
public int temperatureControl;
|
||||||
public boolean thermalDowngraded;
|
public boolean thermalDowngraded;
|
||||||
public boolean dfsDemo;
|
public boolean dfsDemo;
|
||||||
@@ -48,10 +51,15 @@ public class OpensyncAPRadioState extends BaseJsonModel {
|
|||||||
public Map<String, String> hwParams;
|
public Map<String, String> hwParams;
|
||||||
public RadioType freqBand;
|
public RadioType freqBand;
|
||||||
public int thermalIntegration;
|
public int thermalIntegration;
|
||||||
|
|
||||||
public Set<Uuid> vifStates;
|
public Set<Uuid> vifStates;
|
||||||
|
|
||||||
|
public String channelMode;
|
||||||
|
|
||||||
|
public Uuid _uuid;
|
||||||
|
public Uuid version;
|
||||||
|
|
||||||
public OpensyncAPRadioState() {
|
public OpensyncAPRadioState() {
|
||||||
super();
|
|
||||||
allowedChannels = new HashSet<>();
|
allowedChannels = new HashSet<>();
|
||||||
hwConfig = new HashMap<>();
|
hwConfig = new HashMap<>();
|
||||||
channels = new HashMap<>();
|
channels = new HashMap<>();
|
||||||
@@ -59,252 +67,334 @@ public class OpensyncAPRadioState extends BaseJsonModel {
|
|||||||
vifStates = new HashSet<>();
|
vifStates = new HashSet<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String channelMode;
|
public OpensyncAPRadioState(Row row) {
|
||||||
public Uuid _uuid;
|
this();
|
||||||
public Uuid version;
|
|
||||||
|
|
||||||
public int getTemperatureControl() {
|
Map<String, Value> map = row.getColumns();
|
||||||
return temperatureControl;
|
|
||||||
|
if ((map.get("mac") != null)
|
||||||
|
&& map.get("mac").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setMac(row.getStringColumn("mac"));
|
||||||
|
}
|
||||||
|
if ((map.get("channel") != null)
|
||||||
|
&& map.get("channel").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setChannel(row.getIntegerColumn("channel").intValue());
|
||||||
|
}
|
||||||
|
if ((map.get("freq_band") != null)
|
||||||
|
&& map.get("freq_band").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
String frequencyBand = row.getStringColumn("freq_band");
|
||||||
|
switch (frequencyBand) {
|
||||||
|
case "2.4G":
|
||||||
|
this.setFreqBand(RadioType.is2dot4GHz);
|
||||||
|
break;
|
||||||
|
case "5G":
|
||||||
|
this.setFreqBand(RadioType.is5GHz);
|
||||||
|
break;
|
||||||
|
case "5GL":
|
||||||
|
this.setFreqBand(RadioType.is5GHzL);
|
||||||
|
break;
|
||||||
|
case "5GU":
|
||||||
|
this.setFreqBand(RadioType.is5GHzU);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
this.setFreqBand(RadioType.UNSUPPORTED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((map.get("if_name") != null)
|
||||||
|
&& map.get("if_name").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setIfName(row.getStringColumn("if_name"));
|
||||||
|
}
|
||||||
|
if ((map.get("channel_mode") != null)
|
||||||
|
&& map.get("channel_mode").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setChannelMode(row.getStringColumn("channel_mode"));
|
||||||
|
}
|
||||||
|
if ((map.get("country") != null)
|
||||||
|
&& map.get("country").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setCountry(row.getStringColumn("country").toUpperCase());
|
||||||
|
}
|
||||||
|
if ((map.get("enabled") != null)
|
||||||
|
&& map.get("enabled").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setEnabled(row.getBooleanColumn("enabled"));
|
||||||
|
}
|
||||||
|
if ((map.get("ht_mode") != null)
|
||||||
|
&& map.get("ht_mode").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setHtMode(row.getStringColumn("ht_mode"));
|
||||||
|
}
|
||||||
|
if ((map.get("tx_power") != null)
|
||||||
|
&& map.get("tx_power").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setTxPower(row.getIntegerColumn("tx_power").intValue());
|
||||||
|
}
|
||||||
|
if ((map.get("hw_config") != null)
|
||||||
|
&& map.get("hw_config").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Map.class)) {
|
||||||
|
this.setHwConfig(row.getMapColumn("hw_config"));
|
||||||
|
}
|
||||||
|
if ((map.get("_version") != null)
|
||||||
|
&& map.get("_version").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setVersion(row.getUuidColumn("_version"));
|
||||||
|
}
|
||||||
|
if ((map.get("_uuid") != null)
|
||||||
|
&& map.get("_uuid").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setVersion(row.getUuidColumn("_uuid"));
|
||||||
|
}
|
||||||
|
if (map.get("allowed_channels") != null) {
|
||||||
|
|
||||||
|
Set<Long> allowedChannels = getSet(row, "allowed_channels");
|
||||||
|
|
||||||
|
Set<Integer> allowed = new HashSet<>();
|
||||||
|
for (Long channel : allowedChannels) {
|
||||||
|
allowed.add(channel.intValue());
|
||||||
|
}
|
||||||
|
this.setAllowedChannels(allowed);
|
||||||
|
}
|
||||||
|
if (map.get("channels") != null) {
|
||||||
|
|
||||||
|
Map<String, String> channels = row.getMapColumn("channels");
|
||||||
|
this.setChannels(channels);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTemperatureControl(int temperatureControl) {
|
Set<Uuid> vifStates = row.getSetColumn("vif_states");
|
||||||
this.temperatureControl = temperatureControl;
|
this.setVifStates(vifStates);
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isThermalDowngraded() {
|
|
||||||
return thermalDowngraded;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setThermalDowngraded(boolean thermalDowngraded) {
|
|
||||||
this.thermalDowngraded = thermalDowngraded;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isDfsDemo() {
|
|
||||||
return dfsDemo;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDfsDemo(boolean dfsDemo) {
|
|
||||||
this.dfsDemo = dfsDemo;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getIfName() {
|
|
||||||
return ifName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIfName(String ifName) {
|
|
||||||
this.ifName = ifName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getMac() {
|
|
||||||
return mac;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMac(String mac) {
|
|
||||||
this.mac = mac;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Set<Uuid> getVifStates() {
|
|
||||||
return vifStates;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setVifStates(Set<Uuid> vifStates) {
|
|
||||||
this.vifStates = vifStates;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getBcnInt() {
|
|
||||||
return bcnInt;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBcnInt(int bcnInt) {
|
|
||||||
this.bcnInt = bcnInt;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getThermalTxChainmask() {
|
|
||||||
return thermalTxChainmask;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setThermalTxChainmask(int thermalTxChainmask) {
|
|
||||||
this.thermalTxChainmask = thermalTxChainmask;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Set<Integer> getAllowedChannels() {
|
|
||||||
return allowedChannels;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAllowedChannels(Set<Integer> allowedChannels) {
|
|
||||||
this.allowedChannels = allowedChannels;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getThermalShutdown() {
|
|
||||||
return thermalShutdown;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setThermalShutdown(int thermalShutdown) {
|
|
||||||
this.thermalShutdown = thermalShutdown;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getChannelSync() {
|
|
||||||
return channelSync;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setChannelSync(int channelSync) {
|
|
||||||
this.channelSync = channelSync;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getHwType() {
|
|
||||||
return hwType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setHwType(int hwType) {
|
|
||||||
this.hwType = hwType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getTxChainmask() {
|
|
||||||
return txChainmask;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTxChainmask(int txChainmask) {
|
|
||||||
this.txChainmask = txChainmask;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRadar() {
|
|
||||||
return radar;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRadar(String radar) {
|
|
||||||
this.radar = radar;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCountry() {
|
|
||||||
return country;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCountry(String country) {
|
|
||||||
this.country = country;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Map<String, String> getHwConfig() {
|
|
||||||
return hwConfig;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setHwConfig(Map<String, String> hwConfig) {
|
|
||||||
this.hwConfig = hwConfig;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getChannel() {
|
|
||||||
return channel;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setChannel(int channel) {
|
|
||||||
this.channel = channel;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getTxPower() {
|
|
||||||
return txPower;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTxPower(int txPower) {
|
|
||||||
this.txPower = txPower;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getHtMode() {
|
|
||||||
return htMode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setHtMode(String htMode) {
|
|
||||||
this.htMode = htMode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getThermalDowngradeTemp() {
|
|
||||||
return thermalDowngradeTemp;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setThermalDowngradeTemp(int thermalDowngradeTemp) {
|
|
||||||
this.thermalDowngradeTemp = thermalDowngradeTemp;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getHwMode() {
|
|
||||||
return hwMode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setHwMode(String hwMode) {
|
|
||||||
this.hwMode = hwMode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isEnabled() {
|
|
||||||
return enabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEnabled(boolean enabled) {
|
|
||||||
this.enabled = enabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Map<String, String> getChannels() {
|
|
||||||
return channels;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setChannels(Map<String, String> channels) {
|
|
||||||
this.channels = channels;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getThermalUpgradeTemp() {
|
|
||||||
return thermalUpgradeTemp;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setThermalUpgradeTemp(int thermalUpgradeTemp) {
|
|
||||||
this.thermalUpgradeTemp = thermalUpgradeTemp;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Map<String, String> getHwParams() {
|
|
||||||
return hwParams;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setHwParams(Map<String, String> hwParams) {
|
|
||||||
this.hwParams = hwParams;
|
|
||||||
}
|
|
||||||
|
|
||||||
public RadioType getFreqBand() {
|
|
||||||
return freqBand;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFreqBand(RadioType freqBand) {
|
|
||||||
this.freqBand = freqBand;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getThermalIntegration() {
|
|
||||||
return thermalIntegration;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setThermalIntegration(int thermalIntegration) {
|
|
||||||
this.thermalIntegration = thermalIntegration;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getChannelMode() {
|
|
||||||
return channelMode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setChannelMode(String channelMode) {
|
|
||||||
this.channelMode = channelMode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static long getSerialversionuid() {
|
|
||||||
return serialVersionUID;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Uuid get_uuid() {
|
public Uuid get_uuid() {
|
||||||
return _uuid;
|
return _uuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void set_uuid(Uuid _uuid) {
|
public Set<Integer> getAllowedChannels() {
|
||||||
this._uuid = _uuid;
|
return allowedChannels;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getBcnInt() {
|
||||||
|
return bcnInt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getChannel() {
|
||||||
|
return channel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getChannelMode() {
|
||||||
|
return channelMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getChannels() {
|
||||||
|
return channels;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getChannelSync() {
|
||||||
|
return channelSync;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCountry() {
|
||||||
|
return country;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RadioType getFreqBand() {
|
||||||
|
return freqBand;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHtMode() {
|
||||||
|
return htMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getHwConfig() {
|
||||||
|
return hwConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHwMode() {
|
||||||
|
return hwMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getHwParams() {
|
||||||
|
return hwParams;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getHwType() {
|
||||||
|
return hwType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIfName() {
|
||||||
|
return ifName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMac() {
|
||||||
|
return mac;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRadar() {
|
||||||
|
return radar;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getTemperatureControl() {
|
||||||
|
return temperatureControl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getThermalDowngradeTemp() {
|
||||||
|
return thermalDowngradeTemp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getThermalIntegration() {
|
||||||
|
return thermalIntegration;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getThermalShutdown() {
|
||||||
|
return thermalShutdown;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getThermalTxChainmask() {
|
||||||
|
return thermalTxChainmask;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getThermalUpgradeTemp() {
|
||||||
|
return thermalUpgradeTemp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getTxChainmask() {
|
||||||
|
return txChainmask;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getTxPower() {
|
||||||
|
return txPower;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Uuid getVersion() {
|
public Uuid getVersion() {
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Set<Uuid> getVifStates() {
|
||||||
|
return vifStates;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isDfsDemo() {
|
||||||
|
return dfsDemo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isEnabled() {
|
||||||
|
return enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isThermalDowngraded() {
|
||||||
|
return thermalDowngraded;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void set_uuid(Uuid _uuid) {
|
||||||
|
this._uuid = _uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAllowedChannels(Set<Integer> allowedChannels) {
|
||||||
|
this.allowedChannels = allowedChannels;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBcnInt(int bcnInt) {
|
||||||
|
this.bcnInt = bcnInt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setChannel(int channel) {
|
||||||
|
this.channel = channel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setChannelMode(String channelMode) {
|
||||||
|
this.channelMode = channelMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setChannels(Map<String, String> channels) {
|
||||||
|
this.channels = channels;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setChannelSync(int channelSync) {
|
||||||
|
this.channelSync = channelSync;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCountry(String country) {
|
||||||
|
this.country = country;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDfsDemo(boolean dfsDemo) {
|
||||||
|
this.dfsDemo = dfsDemo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEnabled(boolean enabled) {
|
||||||
|
this.enabled = enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFreqBand(RadioType freqBand) {
|
||||||
|
this.freqBand = freqBand;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHtMode(String htMode) {
|
||||||
|
this.htMode = htMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHwConfig(Map<String, String> hwConfig) {
|
||||||
|
this.hwConfig = hwConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHwMode(String hwMode) {
|
||||||
|
this.hwMode = hwMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHwParams(Map<String, String> hwParams) {
|
||||||
|
this.hwParams = hwParams;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHwType(int hwType) {
|
||||||
|
this.hwType = hwType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIfName(String ifName) {
|
||||||
|
this.ifName = ifName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMac(String mac) {
|
||||||
|
this.mac = mac;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRadar(String radar) {
|
||||||
|
this.radar = radar;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTemperatureControl(int temperatureControl) {
|
||||||
|
this.temperatureControl = temperatureControl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setThermalDowngraded(boolean thermalDowngraded) {
|
||||||
|
this.thermalDowngraded = thermalDowngraded;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setThermalDowngradeTemp(int thermalDowngradeTemp) {
|
||||||
|
this.thermalDowngradeTemp = thermalDowngradeTemp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setThermalIntegration(int thermalIntegration) {
|
||||||
|
this.thermalIntegration = thermalIntegration;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setThermalShutdown(int thermalShutdown) {
|
||||||
|
this.thermalShutdown = thermalShutdown;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setThermalTxChainmask(int thermalTxChainmask) {
|
||||||
|
this.thermalTxChainmask = thermalTxChainmask;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setThermalUpgradeTemp(int thermalUpgradeTemp) {
|
||||||
|
this.thermalUpgradeTemp = thermalUpgradeTemp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTxChainmask(int txChainmask) {
|
||||||
|
this.txChainmask = txChainmask;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTxPower(int txPower) {
|
||||||
|
this.txPower = txPower;
|
||||||
|
}
|
||||||
|
|
||||||
public void setVersion(Uuid version) {
|
public void setVersion(Uuid version) {
|
||||||
this.version = version;
|
this.version = version;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setVifStates(Set<Uuid> vifStates) {
|
||||||
|
this.vifStates = vifStates;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
package com.telecominfraproject.wlan.opensync.external.integration.models;
|
package com.telecominfraproject.wlan.opensync.external.integration.models;
|
||||||
|
|
||||||
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
||||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
|
||||||
|
|
||||||
public class OpensyncAPSsidConfig extends BaseJsonModel {
|
public class OpensyncAPSsidConfig extends OpensyncAPBase {
|
||||||
|
|
||||||
private static final long serialVersionUID = -8540144450360788799L;
|
private static final long serialVersionUID = -8540144450360788799L;
|
||||||
|
|
||||||
@@ -14,44 +13,29 @@ public class OpensyncAPSsidConfig extends BaseJsonModel {
|
|||||||
private String mode;
|
private String mode;
|
||||||
private boolean broadcast;
|
private boolean broadcast;
|
||||||
|
|
||||||
public RadioType getRadioType() {
|
@Override
|
||||||
return radioType;
|
public OpensyncAPSsidConfig clone() {
|
||||||
}
|
return (OpensyncAPSsidConfig) super.clone();
|
||||||
|
|
||||||
public void setRadioType(RadioType radioType) {
|
|
||||||
this.radioType = radioType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSsid() {
|
|
||||||
return ssid;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSsid(String ssid) {
|
|
||||||
this.ssid = ssid;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getEncryption() {
|
public String getEncryption() {
|
||||||
return encryption;
|
return encryption;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setEncryption(String encryption) {
|
|
||||||
this.encryption = encryption;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getKey() {
|
public String getKey() {
|
||||||
return key;
|
return key;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setKey(String key) {
|
|
||||||
this.key = key;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getMode() {
|
public String getMode() {
|
||||||
return mode;
|
return mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMode(String mode) {
|
public RadioType getRadioType() {
|
||||||
this.mode = mode;
|
return radioType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSsid() {
|
||||||
|
return ssid;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isBroadcast() {
|
public boolean isBroadcast() {
|
||||||
@@ -62,9 +46,24 @@ public class OpensyncAPSsidConfig extends BaseJsonModel {
|
|||||||
this.broadcast = broadcast;
|
this.broadcast = broadcast;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public void setEncryption(String encryption) {
|
||||||
public OpensyncAPSsidConfig clone() {
|
this.encryption = encryption;
|
||||||
return (OpensyncAPSsidConfig)super.clone();
|
}
|
||||||
|
|
||||||
|
public void setKey(String key) {
|
||||||
|
this.key = key;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMode(String mode) {
|
||||||
|
this.mode = mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRadioType(RadioType radioType) {
|
||||||
|
this.radioType = radioType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSsid(String ssid) {
|
||||||
|
this.ssid = ssid;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -6,13 +6,18 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
import com.vmware.ovsdb.protocol.operation.notation.Row;
|
||||||
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
|
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
|
||||||
|
import com.vmware.ovsdb.protocol.operation.notation.Value;
|
||||||
|
|
||||||
public class OpensyncAPVIFState extends BaseJsonModel {
|
public class OpensyncAPVIFState extends OpensyncAPBase {
|
||||||
|
|
||||||
private static final long serialVersionUID = -4916251246542770881L;
|
private static final long serialVersionUID = -4916251246542770881L;
|
||||||
|
|
||||||
|
public static long getSerialversionuid() {
|
||||||
|
return serialVersionUID;
|
||||||
|
}
|
||||||
|
|
||||||
public String ifName;
|
public String ifName;
|
||||||
public int vifRadioIdx;
|
public int vifRadioIdx;
|
||||||
public String parent;
|
public String parent;
|
||||||
@@ -24,8 +29,8 @@ public class OpensyncAPVIFState extends BaseJsonModel {
|
|||||||
public String ssid;
|
public String ssid;
|
||||||
public Map<String, String> security;
|
public Map<String, String> security;
|
||||||
public String macList;
|
public String macList;
|
||||||
public List<Uuid> associatedClients;
|
|
||||||
|
|
||||||
|
public List<Uuid> associatedClients;
|
||||||
public boolean enabled;
|
public boolean enabled;
|
||||||
public int vlanId;
|
public int vlanId;
|
||||||
public int btm;
|
public int btm;
|
||||||
@@ -40,232 +45,321 @@ public class OpensyncAPVIFState extends BaseJsonModel {
|
|||||||
public boolean dynamicBeacon;
|
public boolean dynamicBeacon;
|
||||||
public int channel;
|
public int channel;
|
||||||
public Uuid _uuid;
|
public Uuid _uuid;
|
||||||
|
|
||||||
public Uuid version;
|
public Uuid version;
|
||||||
|
|
||||||
public String getIfName() {
|
|
||||||
return ifName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public OpensyncAPVIFState() {
|
public OpensyncAPVIFState() {
|
||||||
super();
|
|
||||||
security = new HashMap<>();
|
security = new HashMap<>();
|
||||||
associatedClients = new ArrayList<>();
|
associatedClients = new ArrayList<>();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setIfName(String ifName) {
|
public OpensyncAPVIFState(Row row) {
|
||||||
this.ifName = ifName;
|
Map<String, Value> map = row.getColumns();
|
||||||
|
|
||||||
|
if ((map.get("mac") != null)
|
||||||
|
&& map.get("mac").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setMac(row.getStringColumn("mac"));
|
||||||
|
}
|
||||||
|
if ((map.get("bridge") != null)
|
||||||
|
&& map.get("bridge").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setBridge(row.getStringColumn("bridge"));
|
||||||
|
}
|
||||||
|
if ((map.get("btm") != null)
|
||||||
|
&& map.get("btm").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setBtm(row.getIntegerColumn("btm").intValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getVifRadioIdx() {
|
if ((map.get("channel") != null)
|
||||||
return vifRadioIdx;
|
&& map.get("channel").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setChannel(row.getIntegerColumn("channel").intValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setVifRadioIdx(int vifRadioIdx) {
|
if ((map.get("enabled") != null)
|
||||||
this.vifRadioIdx = vifRadioIdx;
|
&& map.get("enabled").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setEnabled(row.getBooleanColumn("enabled"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getParent() {
|
Long ftPsk = getSingleValueFromSet(row, "ft_psk");
|
||||||
return parent;
|
if (ftPsk != null) {
|
||||||
|
this.setFtPsk(ftPsk.intValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setParent(String parent) {
|
Long ftMobilityDomain = getSingleValueFromSet(row, "ft_mobility_domain");
|
||||||
this.parent = parent;
|
if (ftMobilityDomain != null) {
|
||||||
|
this.setFtMobilityDomain(ftMobilityDomain.intValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getState() {
|
if ((map.get("group_rekey") != null)
|
||||||
return state;
|
&& map.get("group_rekey").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setGroupRekey(row.getIntegerColumn("group_rekey").intValue());
|
||||||
|
}
|
||||||
|
if ((map.get("if_name") != null)
|
||||||
|
&& map.get("if_name").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setIfName(row.getStringColumn("if_name"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setState(String state) {
|
if ((map.get("mode") != null)
|
||||||
this.state = state;
|
&& map.get("mode").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setMode(row.getStringColumn("mode"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getMac() {
|
if ((map.get("rrm") != null)
|
||||||
return mac;
|
&& map.get("rrm").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setRrm(row.getIntegerColumn("rrm").intValue());
|
||||||
|
}
|
||||||
|
if ((map.get("ssid") != null)
|
||||||
|
&& map.get("ssid").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setSsid(row.getStringColumn("ssid"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMac(String mac) {
|
if ((map.get("ssid_broadcast") != null) && map.get("ssid_broadcast").getClass()
|
||||||
this.mac = mac;
|
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setSsidBroadcast(row.getStringColumn("ssid_broadcast"));
|
||||||
|
}
|
||||||
|
if ((map.get("uapsd_enable") != null)
|
||||||
|
&& map.get("uapsd_enable").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setUapsdEnable(row.getBooleanColumn("uapsd_enable"));
|
||||||
|
}
|
||||||
|
if ((map.get("vif_radio_idx") != null) && map.get("vif_radio_idx").getClass()
|
||||||
|
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setVifRadioIdx(row.getIntegerColumn("vif_radio_idx").intValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isApBridge() {
|
List<Uuid> associatedClientsList = new ArrayList<>();
|
||||||
return apBridge;
|
|
||||||
|
Set<Uuid> clients = row.getSetColumn("associated_clients");
|
||||||
|
associatedClientsList.addAll(clients);
|
||||||
|
|
||||||
|
this.setAssociatedClients(associatedClientsList);
|
||||||
|
|
||||||
|
if (map.get("security") != null) {
|
||||||
|
this.setSecurity(row.getMapColumn("security"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setApBridge(boolean apBridge) {
|
if ((map.get("_version") != null)
|
||||||
this.apBridge = apBridge;
|
&& map.get("_version").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setVersion(row.getUuidColumn("_version"));
|
||||||
}
|
}
|
||||||
|
if ((map.get("_uuid") != null)
|
||||||
public boolean isUapsdEnable() {
|
&& map.get("_uuid").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
return uapsdEnable;
|
this.setVersion(row.getUuidColumn("_uuid"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setUapsdEnable(boolean uapsdEnable) {
|
|
||||||
this.uapsdEnable = uapsdEnable;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isWds() {
|
|
||||||
return wds;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setWds(boolean wds) {
|
|
||||||
this.wds = wds;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSsid() {
|
|
||||||
return ssid;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSsid(String ssid) {
|
|
||||||
this.ssid = ssid;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Map<String, String> getSecurity() {
|
|
||||||
return security;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSecurity(Map<String, String> security) {
|
|
||||||
this.security = security;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getMacList() {
|
|
||||||
return macList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMacList(String macList) {
|
|
||||||
this.macList = macList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Uuid> getAssociatedClients() {
|
|
||||||
return associatedClients;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAssociatedClients(List<Uuid> list) {
|
|
||||||
this.associatedClients = list;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isEnabled() {
|
|
||||||
return enabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEnabled(boolean enabled) {
|
|
||||||
this.enabled = enabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getVlanId() {
|
|
||||||
return vlanId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setVlanId(int vlanId) {
|
|
||||||
this.vlanId = vlanId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getBtm() {
|
|
||||||
return btm;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBtm(int btm) {
|
|
||||||
this.btm = btm;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getMinHwMode() {
|
|
||||||
return minHwMode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMinHwMode(String minHwMode) {
|
|
||||||
this.minHwMode = minHwMode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSsidBroadcast() {
|
|
||||||
return ssidBroadcast;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSsidBroadcast(String ssidBroadcast) {
|
|
||||||
this.ssidBroadcast = ssidBroadcast;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getMode() {
|
|
||||||
return mode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMode(String mode) {
|
|
||||||
this.mode = mode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getBridge() {
|
|
||||||
return bridge;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBridge(String bridge) {
|
|
||||||
this.bridge = bridge;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getGroupRekey() {
|
|
||||||
return groupRekey;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setGroupRekey(int groupRekey) {
|
|
||||||
this.groupRekey = groupRekey;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getFtMobilityDomain() {
|
|
||||||
return ftMobilityDomain;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFtMobilityDomain(int ftMobilityDomain) {
|
|
||||||
this.ftMobilityDomain = ftMobilityDomain;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getFtPsk() {
|
|
||||||
return ftPsk;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFtPsk(int ftPsk) {
|
|
||||||
this.ftPsk = ftPsk;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getRrm() {
|
|
||||||
return rrm;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRrm(int rrm) {
|
|
||||||
this.rrm = rrm;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isDynamicBeacon() {
|
|
||||||
return dynamicBeacon;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDynamicBeacon(boolean dynamicBeacon) {
|
|
||||||
this.dynamicBeacon = dynamicBeacon;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getChannel() {
|
|
||||||
return channel;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setChannel(int channel) {
|
|
||||||
this.channel = channel;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static long getSerialversionuid() {
|
|
||||||
return serialVersionUID;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Uuid get_uuid() {
|
public Uuid get_uuid() {
|
||||||
return _uuid;
|
return _uuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void set_uuid(Uuid _uuid) {
|
public List<Uuid> getAssociatedClients() {
|
||||||
this._uuid = _uuid;
|
return associatedClients;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBridge() {
|
||||||
|
return bridge;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getBtm() {
|
||||||
|
return btm;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getChannel() {
|
||||||
|
return channel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getFtMobilityDomain() {
|
||||||
|
return ftMobilityDomain;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getFtPsk() {
|
||||||
|
return ftPsk;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getGroupRekey() {
|
||||||
|
return groupRekey;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIfName() {
|
||||||
|
return ifName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMac() {
|
||||||
|
return mac;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMacList() {
|
||||||
|
return macList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMinHwMode() {
|
||||||
|
return minHwMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMode() {
|
||||||
|
return mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getParent() {
|
||||||
|
return parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getRrm() {
|
||||||
|
return rrm;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getSecurity() {
|
||||||
|
return security;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSsid() {
|
||||||
|
return ssid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSsidBroadcast() {
|
||||||
|
return ssidBroadcast;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getState() {
|
||||||
|
return state;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Uuid getVersion() {
|
public Uuid getVersion() {
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getVifRadioIdx() {
|
||||||
|
return vifRadioIdx;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getVlanId() {
|
||||||
|
return vlanId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isApBridge() {
|
||||||
|
return apBridge;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isDynamicBeacon() {
|
||||||
|
return dynamicBeacon;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isEnabled() {
|
||||||
|
return enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isUapsdEnable() {
|
||||||
|
return uapsdEnable;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isWds() {
|
||||||
|
return wds;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void set_uuid(Uuid _uuid) {
|
||||||
|
this._uuid = _uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setApBridge(boolean apBridge) {
|
||||||
|
this.apBridge = apBridge;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAssociatedClients(List<Uuid> list) {
|
||||||
|
this.associatedClients = list;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBridge(String bridge) {
|
||||||
|
this.bridge = bridge;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBtm(int btm) {
|
||||||
|
this.btm = btm;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setChannel(int channel) {
|
||||||
|
this.channel = channel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDynamicBeacon(boolean dynamicBeacon) {
|
||||||
|
this.dynamicBeacon = dynamicBeacon;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEnabled(boolean enabled) {
|
||||||
|
this.enabled = enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFtMobilityDomain(int ftMobilityDomain) {
|
||||||
|
this.ftMobilityDomain = ftMobilityDomain;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFtPsk(int ftPsk) {
|
||||||
|
this.ftPsk = ftPsk;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroupRekey(int groupRekey) {
|
||||||
|
this.groupRekey = groupRekey;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIfName(String ifName) {
|
||||||
|
this.ifName = ifName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMac(String mac) {
|
||||||
|
this.mac = mac;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMacList(String macList) {
|
||||||
|
this.macList = macList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMinHwMode(String minHwMode) {
|
||||||
|
this.minHwMode = minHwMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMode(String mode) {
|
||||||
|
this.mode = mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setParent(String parent) {
|
||||||
|
this.parent = parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRrm(int rrm) {
|
||||||
|
this.rrm = rrm;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSecurity(Map<String, String> security) {
|
||||||
|
this.security = security;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSsid(String ssid) {
|
||||||
|
this.ssid = ssid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSsidBroadcast(String ssidBroadcast) {
|
||||||
|
this.ssidBroadcast = ssidBroadcast;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setState(String state) {
|
||||||
|
this.state = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUapsdEnable(boolean uapsdEnable) {
|
||||||
|
this.uapsdEnable = uapsdEnable;
|
||||||
|
}
|
||||||
|
|
||||||
public void setVersion(Uuid version) {
|
public void setVersion(Uuid version) {
|
||||||
this.version = version;
|
this.version = version;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setVifRadioIdx(int vifRadioIdx) {
|
||||||
|
this.vifRadioIdx = vifRadioIdx;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVlanId(int vlanId) {
|
||||||
|
this.vlanId = vlanId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWds(boolean wds) {
|
||||||
|
this.wds = wds;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,22 +1,28 @@
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.telecominfraproject.wlan.opensync.external.integration.models;
|
package com.telecominfraproject.wlan.opensync.external.integration.models;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
import com.vmware.ovsdb.protocol.operation.notation.Row;
|
||||||
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
|
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
|
||||||
|
import com.vmware.ovsdb.protocol.operation.notation.Value;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author mikehansen
|
* @author mikehansen
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class OpensyncAWLANNode extends BaseJsonModel {
|
public class OpensyncAWLANNode extends OpensyncAPBase {
|
||||||
|
|
||||||
private static final long serialVersionUID = -6172956297643126710L;
|
private static final long serialVersionUID = -6172956297643126710L;
|
||||||
|
|
||||||
|
public static long getSerialversionuid() {
|
||||||
|
return serialVersionUID;
|
||||||
|
}
|
||||||
|
|
||||||
public Map<Object, Object> mqttSettings;
|
public Map<Object, Object> mqttSettings;
|
||||||
public String model;
|
public String model;
|
||||||
public String skuNumber;
|
public String skuNumber;
|
||||||
@@ -40,11 +46,19 @@ public class OpensyncAWLANNode extends BaseJsonModel {
|
|||||||
public String revision;
|
public String revision;
|
||||||
public String managerAddr;
|
public String managerAddr;
|
||||||
public boolean factoryReset;
|
public boolean factoryReset;
|
||||||
|
public String referenceDesign;
|
||||||
|
public Map<String, String> qrCode;
|
||||||
|
public String modelDescription;
|
||||||
|
public String manufacturerUrl;
|
||||||
|
public String manufacturerName;
|
||||||
|
public String manufacturerDate;
|
||||||
|
public String certificationRegion;
|
||||||
|
|
||||||
public Uuid _uuid;
|
public Uuid _uuid;
|
||||||
|
|
||||||
public Uuid version;
|
public Uuid version;
|
||||||
|
|
||||||
public OpensyncAWLANNode() {
|
public OpensyncAWLANNode() {
|
||||||
super();
|
|
||||||
mqttSettings = new HashMap<>();
|
mqttSettings = new HashMap<>();
|
||||||
versionMatrix = new HashMap<>();
|
versionMatrix = new HashMap<>();
|
||||||
ledConfig = new HashMap<>();
|
ledConfig = new HashMap<>();
|
||||||
@@ -52,208 +66,391 @@ public class OpensyncAWLANNode extends BaseJsonModel {
|
|||||||
mqttTopics = new HashMap<>();
|
mqttTopics = new HashMap<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<Object, Object> getMqttSettings() {
|
public OpensyncAWLANNode(Row row) {
|
||||||
return mqttSettings;
|
this();
|
||||||
}
|
|
||||||
|
|
||||||
public void setMqttSettings(Map<Object, Object> map) {
|
// mqtt_settings {"key":"string","max":"unlimited","min":0,"value":"string"}
|
||||||
this.mqttSettings = map;
|
// model {"key":"string","min":0}
|
||||||
|
// sku_number {"key":"string","min":0}
|
||||||
|
// version_matrix {"key":"string","max":"unlimited","min":0,"value":{"maxLength":128,"type":"string"}}
|
||||||
|
// model_description "string"
|
||||||
|
// certification_region "string"
|
||||||
|
// id "string"
|
||||||
|
// firmware_version "string"
|
||||||
|
// firmware_url {"key":{"maxLength":256,"type":"string"}}
|
||||||
|
// _uuid "uuid"
|
||||||
|
// upgrade_dl_timer "integer"
|
||||||
|
// reference_design "string"
|
||||||
|
// platform_version "string"
|
||||||
|
// firmware_pass {"key":{"maxLength":256,"type":"string"}}
|
||||||
|
// upgrade_timer "integer"
|
||||||
|
// redirector_addr "string"
|
||||||
|
// led_config {"key":"string","max":"unlimited","min":0,"value":"string"}
|
||||||
|
// max_backoff "integer"
|
||||||
|
// mqtt_headers {"key":"string","max":"unlimited","min":0,"value":"string"}
|
||||||
|
// serial_number {"key":"string","min":0}
|
||||||
|
// _version "uuid"
|
||||||
|
// upgrade_status "integer"
|
||||||
|
// device_mode {"key":{"enum":["set",["battery","cloud","custom","monitor"]],"type":"string"},"min":0}
|
||||||
|
// min_backoff "integer"
|
||||||
|
// manufacturer_date "string"
|
||||||
|
// mqtt_topics {"key":"string","max":"unlimited","min":0,"value":{"maxLength":128,"type":"string"}}
|
||||||
|
// revision "string"
|
||||||
|
// manufacturer_name "string"
|
||||||
|
// manufacturer_url "string"
|
||||||
|
// manager_addr "string"
|
||||||
|
// factory_reset {"key":"boolean","min":0}
|
||||||
|
Map<String, Value> map = row.getColumns();
|
||||||
|
if (map.get("mqtt_settings") != null) {
|
||||||
|
this.setMqttSettings(row.getMapColumn("mqtt_settings"));
|
||||||
}
|
}
|
||||||
|
if (map.get("mqtt_headers") != null) {
|
||||||
public String getModel() {
|
this.setMqttHeaders(row.getMapColumn("mqtt_headers"));
|
||||||
return model;
|
|
||||||
}
|
}
|
||||||
|
if (map.get("mqtt_topics") != null) {
|
||||||
public void setModel(String model) {
|
this.setMqttHeaders(row.getMapColumn("mqtt_topics"));
|
||||||
this.model = model;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("model") != null) && map.get("model").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public String getSkuNumber() {
|
this.setModel(row.getStringColumn("model"));
|
||||||
return skuNumber;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("sku_number") != null) && map.get("sku_number").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public void setSkuNumber(String skuNumber) {
|
this.setSkuNumber(row.getStringColumn("sku_number"));
|
||||||
this.skuNumber = skuNumber;
|
|
||||||
}
|
}
|
||||||
|
if (map.get("id") != null) {
|
||||||
public String getId() {
|
this.setId(getSingleValueFromSet(row, "id"));
|
||||||
return id;
|
|
||||||
}
|
}
|
||||||
|
if (map.get("reference_design") != null) {
|
||||||
public void setId(String id) {
|
this.setReferenceDesign(row.getStringColumn("reference_design"));
|
||||||
this.id = id;
|
|
||||||
}
|
}
|
||||||
|
if (map.get("qr_code") != null) {
|
||||||
public Map<String, String> getVersionMatrix() {
|
this.setQrCode(row.getMapColumn("qr_code"));
|
||||||
return versionMatrix;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("model_description") != null)) {
|
||||||
public void setVersionMatrix(Map<String, String> versionMatrix) {
|
this.setModelDescription(row.getStringColumn("model_description"));
|
||||||
this.versionMatrix = versionMatrix;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("manufacturer_url") != null)) {
|
||||||
public String getFirmwareVersion() {
|
this.setManufacturerUrl(row.getStringColumn("manufacturer_url"));
|
||||||
return firmwareVersion;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("manufacturer_name") != null)) {
|
||||||
public void setFirmwareVersion(String firmwareVersion) {
|
this.setManufacturerName(row.getStringColumn("manufacturer_name"));
|
||||||
this.firmwareVersion = firmwareVersion;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("manufacturer_date") != null)) {
|
||||||
public String getFirmwareUrl() {
|
this.setManufacturerDate(row.getStringColumn("manufacturer_date"));
|
||||||
return firmwareUrl;
|
|
||||||
}
|
}
|
||||||
|
if (map.get("certification_region") != null) {
|
||||||
public void setFirmwareUrl(String firmwareUrl) {
|
this.setCertificationRegion(row.getStringColumn("certification_region"));
|
||||||
this.firmwareUrl = firmwareUrl;
|
|
||||||
}
|
}
|
||||||
|
if (map.get("version_matrix") != null) {
|
||||||
public int getUpgradeDlTimer() {
|
this.setVersionMatrix(row.getMapColumn("version_matrix"));
|
||||||
return upgradeDlTimer;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("firmware_version") != null) && map.get("firmware_version").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public void setUpgradeDlTimer(int upgradeDlTimer) {
|
this.setFirmwareVersion(row.getStringColumn("firmware_version"));
|
||||||
this.upgradeDlTimer = upgradeDlTimer;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("firmware_url") != null) && map.get("firmware_url").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public String getPlatformVersion() {
|
this.setFirmwareUrl(row.getStringColumn("firmware_url"));
|
||||||
return platformVersion;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("_uuid") != null) && map.get("_uuid").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public void setPlatformVersion(String platformVersion) {
|
this.setVersion(row.getUuidColumn("_uuid"));
|
||||||
this.platformVersion = platformVersion;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("upgrade_dl_timer") != null) && map.get("upgrade_dl_timer").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public String getFirmwarePass() {
|
this.setUpgradeDlTimer(row.getIntegerColumn("upgrade_dl_timer").intValue());
|
||||||
return firmwarePass;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("platform_version") != null) && map.get("platform_version").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public void setFirmwarePass(String firmwarePass) {
|
this.setPlatformVersion(row.getStringColumn("platform_version"));
|
||||||
this.firmwarePass = firmwarePass;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("firmware_pass") != null) && map.get("firmware_pass").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public int getUpgradeTimer() {
|
this.setFirmwarePass(row.getStringColumn("firmware_pass"));
|
||||||
return upgradeTimer;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("upgrade_timer") != null) && map.get("upgrade_timer").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public void setUpgradeTimer(int upgradeTimer) {
|
this.setUpgradeTimer(row.getIntegerColumn("upgrade_timer").intValue());
|
||||||
this.upgradeTimer = upgradeTimer;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("max_backoff") != null) && map.get("max_backoff").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public int getMaxBackoff() {
|
this.setMaxBackoff(row.getIntegerColumn("max_backoff").intValue());
|
||||||
return maxBackoff;
|
|
||||||
}
|
}
|
||||||
|
if (map.get("led_config") != null) {
|
||||||
public void setMaxBackoff(int maxBackoff) {
|
this.setLedConfig(row.getMapColumn("led_config"));
|
||||||
this.maxBackoff = maxBackoff;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("redirector_addr") != null) && map.get("redirector_addr").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public Map<String, String> getLedConfig() {
|
this.setRedirectorAddr(row.getStringColumn("redirector_addr"));
|
||||||
return ledConfig;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("serial_number") != null) && map.get("serial_number").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public void setLedConfig(Map<String, String> ledConfig) {
|
this.setSerialNumber(row.getStringColumn("serial_number"));
|
||||||
this.ledConfig = ledConfig;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("_version") != null) && map.get("_version").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public String getRedirectorAddr() {
|
this.setVersion(row.getUuidColumn("_version"));
|
||||||
return redirectorAddr;
|
|
||||||
}
|
}
|
||||||
|
this.setUpgradeStatus(row.getIntegerColumn("upgrade_status").intValue());
|
||||||
public void setRedirectorAddr(String redirectorAddr) {
|
if ((map.get("device_mode") != null) && map.get("device_mode").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
this.redirectorAddr = redirectorAddr;
|
this.setDeviceMode(row.getStringColumn("device_mode"));
|
||||||
}
|
}
|
||||||
|
if ((map.get("min_backoff") != null) && map.get("min_backoff").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public Map<String, String> getMqttHeaders() {
|
this.setMinBackoff(row.getIntegerColumn("min_backoff").intValue());
|
||||||
return mqttHeaders;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("revision") != null) && map.get("revision").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public void setMqttHeaders(Map<String, String> mqttHeaders) {
|
this.setRevision(row.getStringColumn("revision"));
|
||||||
this.mqttHeaders = mqttHeaders;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("manager_addr") != null) && map.get("manager_addr").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public String getSerialNumber() {
|
this.setManagerAddr(row.getStringColumn("manager_addr"));
|
||||||
return serialNumber;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("factory_reset") != null) && map.get("factory_reset").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public void setSerialNumber(String serialNumber) {
|
this.setFactoryReset(row.getBooleanColumn("factory_reset"));
|
||||||
this.serialNumber = serialNumber;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getUpgradeStatus() {
|
|
||||||
return upgradeStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUpgradeStatus(int upgradeStatus) {
|
|
||||||
this.upgradeStatus = upgradeStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDeviceMode() {
|
|
||||||
return deviceMode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDeviceMode(String deviceMode) {
|
|
||||||
this.deviceMode = deviceMode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getMinBackoff() {
|
|
||||||
return minBackoff;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMinBackoff(int minBackoff) {
|
|
||||||
this.minBackoff = minBackoff;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Map<String, String> getMqttTopics() {
|
|
||||||
return mqttTopics;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMqttTopics(Map<String, String> mqttTopics) {
|
|
||||||
this.mqttTopics = mqttTopics;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRevision() {
|
|
||||||
return revision;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRevision(String revision) {
|
|
||||||
this.revision = revision;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getManagerAddr() {
|
|
||||||
return managerAddr;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setManagerAddr(String managerAddr) {
|
|
||||||
this.managerAddr = managerAddr;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isFactoryReset() {
|
|
||||||
return factoryReset;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFactoryReset(boolean factoryReset) {
|
|
||||||
this.factoryReset = factoryReset;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static long getSerialversionuid() {
|
|
||||||
return serialVersionUID;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Uuid get_uuid() {
|
public Uuid get_uuid() {
|
||||||
return _uuid;
|
return _uuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void set_uuid(Uuid _uuid) {
|
public String getDeviceMode() {
|
||||||
this._uuid = _uuid;
|
return deviceMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFirmwarePass() {
|
||||||
|
return firmwarePass;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFirmwareUrl() {
|
||||||
|
return firmwareUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFirmwareVersion() {
|
||||||
|
return firmwareVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getLedConfig() {
|
||||||
|
return ledConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getManagerAddr() {
|
||||||
|
return managerAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getMaxBackoff() {
|
||||||
|
return maxBackoff;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getMinBackoff() {
|
||||||
|
return minBackoff;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getModel() {
|
||||||
|
return model;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getMqttHeaders() {
|
||||||
|
return mqttHeaders;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<Object, Object> getMqttSettings() {
|
||||||
|
return mqttSettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getMqttTopics() {
|
||||||
|
return mqttTopics;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPlatformVersion() {
|
||||||
|
return platformVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRedirectorAddr() {
|
||||||
|
return redirectorAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRevision() {
|
||||||
|
return revision;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSerialNumber() {
|
||||||
|
return serialNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSkuNumber() {
|
||||||
|
return skuNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getUpgradeDlTimer() {
|
||||||
|
return upgradeDlTimer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getUpgradeStatus() {
|
||||||
|
return upgradeStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getUpgradeTimer() {
|
||||||
|
return upgradeTimer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Uuid getVersion() {
|
public Uuid getVersion() {
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getVersionMatrix() {
|
||||||
|
return versionMatrix;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isFactoryReset() {
|
||||||
|
return factoryReset;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getReferenceDesign() {
|
||||||
|
return referenceDesign;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReferenceDesign(String referenceDesign) {
|
||||||
|
this.referenceDesign = referenceDesign;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getQrCode() {
|
||||||
|
return qrCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setQrCode(Map<String, String> qrCode) {
|
||||||
|
this.qrCode = qrCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getModelDescription() {
|
||||||
|
return modelDescription;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setModelDescription(String modelDescription) {
|
||||||
|
this.modelDescription = modelDescription;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getManufacturerUrl() {
|
||||||
|
return manufacturerUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setManufacturerUrl(String manufacturerUrl) {
|
||||||
|
this.manufacturerUrl = manufacturerUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getManufacturerName() {
|
||||||
|
return manufacturerName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setManufacturerName(String manufacturerName) {
|
||||||
|
this.manufacturerName = manufacturerName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getManufacturerDate() {
|
||||||
|
return manufacturerDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setManufacturerDate(String manufacturerDate) {
|
||||||
|
this.manufacturerDate = manufacturerDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCertificationRegion() {
|
||||||
|
return certificationRegion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCertificationRegion(String certificationRegion) {
|
||||||
|
this.certificationRegion = certificationRegion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void set_uuid(Uuid _uuid) {
|
||||||
|
this._uuid = _uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDeviceMode(String deviceMode) {
|
||||||
|
this.deviceMode = deviceMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFactoryReset(boolean factoryReset) {
|
||||||
|
this.factoryReset = factoryReset;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFirmwarePass(String firmwarePass) {
|
||||||
|
this.firmwarePass = firmwarePass;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFirmwareUrl(String firmwareUrl) {
|
||||||
|
this.firmwareUrl = firmwareUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFirmwareVersion(String firmwareVersion) {
|
||||||
|
this.firmwareVersion = firmwareVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLedConfig(Map<String, String> ledConfig) {
|
||||||
|
this.ledConfig = ledConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setManagerAddr(String managerAddr) {
|
||||||
|
this.managerAddr = managerAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMaxBackoff(int maxBackoff) {
|
||||||
|
this.maxBackoff = maxBackoff;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMinBackoff(int minBackoff) {
|
||||||
|
this.minBackoff = minBackoff;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setModel(String model) {
|
||||||
|
this.model = model;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMqttHeaders(Map<String, String> mqttHeaders) {
|
||||||
|
this.mqttHeaders = mqttHeaders;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMqttSettings(Map<Object, Object> map) {
|
||||||
|
this.mqttSettings = map;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMqttTopics(Map<String, String> mqttTopics) {
|
||||||
|
this.mqttTopics = mqttTopics;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPlatformVersion(String platformVersion) {
|
||||||
|
this.platformVersion = platformVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRedirectorAddr(String redirectorAddr) {
|
||||||
|
this.redirectorAddr = redirectorAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRevision(String revision) {
|
||||||
|
this.revision = revision;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSerialNumber(String serialNumber) {
|
||||||
|
this.serialNumber = serialNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSkuNumber(String skuNumber) {
|
||||||
|
this.skuNumber = skuNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpgradeDlTimer(int upgradeDlTimer) {
|
||||||
|
this.upgradeDlTimer = upgradeDlTimer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpgradeStatus(int upgradeStatus) {
|
||||||
|
this.upgradeStatus = upgradeStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpgradeTimer(int upgradeTimer) {
|
||||||
|
this.upgradeTimer = upgradeTimer;
|
||||||
|
}
|
||||||
|
|
||||||
public void setVersion(Uuid version) {
|
public void setVersion(Uuid version) {
|
||||||
this.version = version;
|
this.version = version;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setVersionMatrix(Map<String, String> versionMatrix) {
|
||||||
|
this.versionMatrix = versionMatrix;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,19 +4,25 @@
|
|||||||
package com.telecominfraproject.wlan.opensync.external.integration.models;
|
package com.telecominfraproject.wlan.opensync.external.integration.models;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
import com.vmware.ovsdb.protocol.operation.notation.Row;
|
||||||
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
|
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
|
||||||
|
import com.vmware.ovsdb.protocol.operation.notation.Value;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author mikehansen
|
* @author mikehansen
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class OpensyncWifiAssociatedClients extends BaseJsonModel {
|
public class OpensyncWifiAssociatedClients extends OpensyncAPBase {
|
||||||
|
|
||||||
private static final long serialVersionUID = -7088651136971662138L;
|
private static final long serialVersionUID = -7088651136971662138L;
|
||||||
|
|
||||||
|
public static long getSerialversionuid() {
|
||||||
|
return serialVersionUID;
|
||||||
|
}
|
||||||
|
|
||||||
public String keyId;
|
public String keyId;
|
||||||
public String mac;
|
public String mac;
|
||||||
public String state;
|
public String state;
|
||||||
@@ -25,85 +31,107 @@ public class OpensyncWifiAssociatedClients extends BaseJsonModel {
|
|||||||
public String kick;
|
public String kick;
|
||||||
public String oftag;
|
public String oftag;
|
||||||
public Uuid _uuid;
|
public Uuid _uuid;
|
||||||
|
|
||||||
public Uuid version;
|
public Uuid version;
|
||||||
|
|
||||||
public OpensyncWifiAssociatedClients() {
|
public OpensyncWifiAssociatedClients() {
|
||||||
super();
|
|
||||||
capabilities = new HashSet<>();
|
capabilities = new HashSet<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getKeyId() {
|
public OpensyncWifiAssociatedClients(Row row) {
|
||||||
return keyId;
|
this();
|
||||||
}
|
|
||||||
|
|
||||||
public void setKeyId(String keyId) {
|
Map<String, Value> map = row.getColumns();
|
||||||
this.keyId = keyId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getMac() {
|
if ((map.get("mac") != null)
|
||||||
return mac;
|
&& map.get("mac").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setMac(row.getStringColumn("mac"));
|
||||||
}
|
}
|
||||||
|
if (row.getSetColumn("capabilities") != null) {
|
||||||
public void setMac(String mac) {
|
this.setCapabilities(row.getSetColumn("capabilities"));
|
||||||
this.mac = mac;
|
|
||||||
}
|
}
|
||||||
|
if ((map.get("state") != null)
|
||||||
public String getState() {
|
&& map.get("state").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
return state;
|
this.setState(row.getStringColumn("state"));
|
||||||
}
|
}
|
||||||
|
if ((map.get("_version") != null)
|
||||||
public void setState(String state) {
|
&& map.get("_version").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
this.state = state;
|
this.setVersion(row.getUuidColumn("_version"));
|
||||||
}
|
}
|
||||||
|
if ((map.get("_uuid") != null)
|
||||||
public Set<String> getCapabilities() {
|
&& map.get("_uuid").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
return capabilities;
|
this.setVersion(row.getUuidColumn("_uuid"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCapabilities(Set<String> set) {
|
|
||||||
this.capabilities = set;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getUapsd() {
|
|
||||||
return uapsd;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUapsd(int uapsd) {
|
|
||||||
this.uapsd = uapsd;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getKick() {
|
|
||||||
return kick;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setKick(String kick) {
|
|
||||||
this.kick = kick;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getOftag() {
|
|
||||||
return oftag;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOftag(String oftag) {
|
|
||||||
this.oftag = oftag;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static long getSerialversionuid() {
|
|
||||||
return serialVersionUID;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Uuid get_uuid() {
|
public Uuid get_uuid() {
|
||||||
return _uuid;
|
return _uuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void set_uuid(Uuid _uuid) {
|
public Set<String> getCapabilities() {
|
||||||
this._uuid = _uuid;
|
return capabilities;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getKeyId() {
|
||||||
|
return keyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getKick() {
|
||||||
|
return kick;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMac() {
|
||||||
|
return mac;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOftag() {
|
||||||
|
return oftag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getState() {
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getUapsd() {
|
||||||
|
return uapsd;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Uuid getVersion() {
|
public Uuid getVersion() {
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void set_uuid(Uuid _uuid) {
|
||||||
|
this._uuid = _uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCapabilities(Set<String> set) {
|
||||||
|
this.capabilities = set;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKeyId(String keyId) {
|
||||||
|
this.keyId = keyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKick(String kick) {
|
||||||
|
this.kick = kick;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMac(String mac) {
|
||||||
|
this.mac = mac;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOftag(String oftag) {
|
||||||
|
this.oftag = oftag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setState(String state) {
|
||||||
|
this.state = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUapsd(int uapsd) {
|
||||||
|
this.uapsd = uapsd;
|
||||||
|
}
|
||||||
|
|
||||||
public void setVersion(Uuid version) {
|
public void setVersion(Uuid version) {
|
||||||
this.version = version;
|
this.version = version;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
|
||||||
|
package com.telecominfraproject.wlan.opensync.external.integration.utils;
|
||||||
|
|
||||||
|
import com.telecominfraproject.wlan.systemevent.models.SystemEvent;
|
||||||
|
|
||||||
|
import sts.OpensyncStats.Report;
|
||||||
|
|
||||||
|
public interface StatsPublisherInterface {
|
||||||
|
|
||||||
|
void processMqttMessage(String topic, Report report);
|
||||||
|
|
||||||
|
void publishSystemEventFromTableStateMonitor(SystemEvent event);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<artifactId>tip-wlan-cloud-root-pom</artifactId>
|
<artifactId>tip-wlan-cloud-root-pom</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
<relativePath>../../wlan-cloud-root</relativePath>
|
<relativePath>../../wlan-cloud-root</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>opensync-ext-static</artifactId>
|
<artifactId>opensync-ext-static</artifactId>
|
||||||
@@ -12,8 +12,8 @@
|
|||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<artifactId>opensync-ext-interface</artifactId>
|
<artifactId>opensync-gateway</artifactId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package com.telecominfraproject.wlan.opensync.external.integration;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -18,7 +17,6 @@ import com.telecominfraproject.wlan.equipment.models.Equipment;
|
|||||||
import com.telecominfraproject.wlan.location.models.Location;
|
import com.telecominfraproject.wlan.location.models.Location;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo;
|
import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPConfig;
|
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPConfig;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPHotspot20Config;
|
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPInetState;
|
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPInetState;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPRadioState;
|
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPRadioState;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPVIFState;
|
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPVIFState;
|
||||||
@@ -47,30 +45,9 @@ public class OpensyncExternalIntegrationSimple implements OpensyncExternalIntegr
|
|||||||
@Value("${tip.wlan.ovsdb.ssidProfileFileName:/app/config/ProfileSsid.json}")
|
@Value("${tip.wlan.ovsdb.ssidProfileFileName:/app/config/ProfileSsid.json}")
|
||||||
private String ssidProfileFileName;
|
private String ssidProfileFileName;
|
||||||
|
|
||||||
@Value("${tip.wlan.ovsdb.metricsProfileFileName:/app/config/ProfileMetrics.json}")
|
|
||||||
private String metricsProfileFileName;
|
|
||||||
|
|
||||||
@Value("${tip.wlan.ovsdb.venueProfileFileName:/app/config/ProfileVenue.json}")
|
|
||||||
private String venueProfileFileName;
|
|
||||||
|
|
||||||
@Value("${tip.wlan.ovsdb.operatorProfileFileName:/app/config/ProfileOperator.json}")
|
|
||||||
private String operatorProfileFileName;
|
|
||||||
|
|
||||||
@Value("${tip.wlan.ovsdb.hotspot20ProfileFileName:/app/config/ProfileHotspot20.json}")
|
|
||||||
private String hotspot20ProfileFileName;
|
|
||||||
|
|
||||||
@Value("${tip.wlan.ovsdb.idProviderProfileFileName:/app/config/ProfileIdProvider.json}")
|
|
||||||
private String idProviderProfileFileName;
|
|
||||||
|
|
||||||
@Value("${tip.wlan.ovsdb.radiusProfileFileName:/app/config/ProfileRadius.json}")
|
@Value("${tip.wlan.ovsdb.radiusProfileFileName:/app/config/ProfileRadius.json}")
|
||||||
private String radiusProfileFileName;
|
private String radiusProfileFileName;
|
||||||
|
|
||||||
@Value("${tip.wlan.ovsdb.captiveProfileFileName:/app/config/ProfileCaptive.json}")
|
|
||||||
private String captiveProfileFileName;
|
|
||||||
|
|
||||||
@Value("${tip.wlan.ovsdb.bonjourProfileFileName:/app/config/ProfileBonjour.json}")
|
|
||||||
private String bonjourProfileFileName;
|
|
||||||
|
|
||||||
@Value("${tip.wlan.ovsdb.locationFileName:/app/config/LocationBuildingExample.json}")
|
@Value("${tip.wlan.ovsdb.locationFileName:/app/config/LocationBuildingExample.json}")
|
||||||
private String locationFileName;
|
private String locationFileName;
|
||||||
|
|
||||||
@@ -85,7 +62,6 @@ public class OpensyncExternalIntegrationSimple implements OpensyncExternalIntegr
|
|||||||
serialNumber = connectNodeInfo.serialNumber;
|
serialNumber = connectNodeInfo.serialNumber;
|
||||||
LOG.info("AP {} got connected to the gateway", apId);
|
LOG.info("AP {} got connected to the gateway", apId);
|
||||||
LOG.info("ConnectNodeInfo {}", connectNodeInfo);
|
LOG.info("ConnectNodeInfo {}", connectNodeInfo);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void apDisconnected(String apId) {
|
public void apDisconnected(String apId) {
|
||||||
@@ -95,97 +71,41 @@ public class OpensyncExternalIntegrationSimple implements OpensyncExternalIntegr
|
|||||||
public OpensyncAPConfig getApConfig(String apId) {
|
public OpensyncAPConfig getApConfig(String apId) {
|
||||||
LOG.info("Retrieving config for AP {}", apId);
|
LOG.info("Retrieving config for AP {}", apId);
|
||||||
OpensyncAPConfig ret = null;
|
OpensyncAPConfig ret = null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
Equipment equipment = Equipment.fromFile(customerEquipmentFileName, Equipment.class);
|
Equipment equipment = Equipment.fromFile(customerEquipmentFileName, Equipment.class);
|
||||||
equipment.setInventoryId(apId);
|
equipment.setInventoryId(apId);
|
||||||
equipment.setName(apId);
|
equipment.setName(apId);
|
||||||
equipment.setSerial(serialNumber);
|
equipment.setSerial(serialNumber);
|
||||||
|
|
||||||
com.telecominfraproject.wlan.profile.models.Profile apProfile = com.telecominfraproject.wlan.profile.models.Profile
|
com.telecominfraproject.wlan.profile.models.Profile apProfile = com.telecominfraproject.wlan.profile.models.Profile
|
||||||
.fromFile(apProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
.fromFile(apProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
||||||
|
|
||||||
com.telecominfraproject.wlan.profile.models.Profile rfProfile = com.telecominfraproject.wlan.profile.models.Profile
|
com.telecominfraproject.wlan.profile.models.Profile rfProfile = com.telecominfraproject.wlan.profile.models.Profile
|
||||||
.fromFile(rfProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
.fromFile(rfProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
||||||
|
|
||||||
apProfile.getChildProfileIds().add(rfProfile.getId());
|
apProfile.getChildProfileIds().add(rfProfile.getId());
|
||||||
|
|
||||||
List<com.telecominfraproject.wlan.profile.models.Profile> ssidProfiles = com.telecominfraproject.wlan.profile.models.Profile
|
List<com.telecominfraproject.wlan.profile.models.Profile> ssidProfiles = com.telecominfraproject.wlan.profile.models.Profile
|
||||||
.listFromFile(ssidProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
.listFromFile(ssidProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
||||||
|
|
||||||
List<com.telecominfraproject.wlan.profile.models.Profile> hotspot20Profiles = com.telecominfraproject.wlan.profile.models.Profile
|
|
||||||
.listFromFile(hotspot20ProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
|
||||||
List<com.telecominfraproject.wlan.profile.models.Profile> operatorProfiles = com.telecominfraproject.wlan.profile.models.Profile
|
|
||||||
.listFromFile(operatorProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
|
||||||
List<com.telecominfraproject.wlan.profile.models.Profile> venueProfiles = com.telecominfraproject.wlan.profile.models.Profile
|
|
||||||
.listFromFile(venueProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
|
||||||
List<com.telecominfraproject.wlan.profile.models.Profile> providerProfiles = com.telecominfraproject.wlan.profile.models.Profile
|
|
||||||
.listFromFile(idProviderProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
|
||||||
|
|
||||||
|
|
||||||
ssidProfiles.stream().forEach(p -> apProfile.getChildProfileIds().add(p.getId()));
|
ssidProfiles.stream().forEach(p -> apProfile.getChildProfileIds().add(p.getId()));
|
||||||
|
|
||||||
List<com.telecominfraproject.wlan.profile.models.Profile> metricsProfiles = com.telecominfraproject.wlan.profile.models.Profile
|
|
||||||
.listFromFile(metricsProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
|
||||||
|
|
||||||
List<com.telecominfraproject.wlan.profile.models.Profile> radiusProfiles = com.telecominfraproject.wlan.profile.models.Profile
|
|
||||||
.listFromFile(radiusProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
|
||||||
|
|
||||||
|
|
||||||
List<com.telecominfraproject.wlan.profile.models.Profile> captiveProfiles = null;
|
|
||||||
File captiveFile = new File(captiveProfileFileName);
|
|
||||||
if (captiveFile.exists()) {
|
|
||||||
captiveProfiles = com.telecominfraproject.wlan.profile.models.Profile.listFromFile(
|
|
||||||
captiveProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
|
||||||
} else {
|
|
||||||
LOG.info("Captive file is not provided");
|
|
||||||
}
|
|
||||||
|
|
||||||
List<com.telecominfraproject.wlan.profile.models.Profile> bonjourProfiles = null;
|
|
||||||
File bonjourFile = new File(bonjourProfileFileName);
|
|
||||||
if (bonjourFile.exists()) {
|
|
||||||
bonjourProfiles = com.telecominfraproject.wlan.profile.models.Profile.listFromFile(
|
|
||||||
bonjourProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
|
||||||
} else {
|
|
||||||
LOG.info("Bonjour file is not provided");
|
|
||||||
}
|
|
||||||
|
|
||||||
equipment.setProfileId(apProfile.getId());
|
equipment.setProfileId(apProfile.getId());
|
||||||
|
|
||||||
Location location = Location.fromFile(locationFileName, Location.class);
|
Location location = Location.fromFile(locationFileName, Location.class);
|
||||||
|
|
||||||
equipment.setLocationId(location.getId());
|
equipment.setLocationId(location.getId());
|
||||||
|
|
||||||
OpensyncAPHotspot20Config hotspotConfig = new OpensyncAPHotspot20Config();
|
|
||||||
|
|
||||||
hotspotConfig.setHotspot20ProfileSet(
|
|
||||||
new HashSet<com.telecominfraproject.wlan.profile.models.Profile>(hotspot20Profiles));
|
|
||||||
hotspotConfig.setHotspot20OperatorSet(
|
|
||||||
new HashSet<com.telecominfraproject.wlan.profile.models.Profile>(operatorProfiles));
|
|
||||||
hotspotConfig.setHotspot20VenueSet(
|
|
||||||
new HashSet<com.telecominfraproject.wlan.profile.models.Profile>(venueProfiles));
|
|
||||||
hotspotConfig.setHotspot20ProviderSet(
|
|
||||||
new HashSet<com.telecominfraproject.wlan.profile.models.Profile>(providerProfiles));
|
|
||||||
|
|
||||||
ret = new OpensyncAPConfig();
|
ret = new OpensyncAPConfig();
|
||||||
ret.setCustomerEquipment(equipment);
|
ret.setCustomerEquipment(equipment);
|
||||||
ret.setApProfile(apProfile);
|
ret.setApProfile(apProfile);
|
||||||
ret.setRfProfile(rfProfile);
|
ret.setRfProfile(rfProfile);
|
||||||
ret.setMetricsProfiles(metricsProfiles);
|
|
||||||
ret.setSsidProfile(ssidProfiles);
|
ret.setSsidProfile(ssidProfiles);
|
||||||
|
File radiusFile = new File(radiusProfileFileName);
|
||||||
|
if (radiusFile.exists()) {
|
||||||
|
List<com.telecominfraproject.wlan.profile.models.Profile> radiusProfiles = com.telecominfraproject.wlan.profile.models.Profile
|
||||||
|
.listFromFile(radiusProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
||||||
ret.setRadiusProfiles(radiusProfiles);
|
ret.setRadiusProfiles(radiusProfiles);
|
||||||
|
} else {
|
||||||
|
LOG.debug("No radius file present at {}", radiusFile.getAbsolutePath());
|
||||||
|
}
|
||||||
ret.setEquipmentLocation(location);
|
ret.setEquipmentLocation(location);
|
||||||
ret.setCaptiveProfiles(captiveProfiles);
|
|
||||||
ret.setBonjourGatewayProfiles(bonjourProfiles);
|
|
||||||
ret.setHotspotConfig(hotspotConfig);
|
|
||||||
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
LOG.error("Cannot read config file", e);
|
LOG.error("Cannot read config file", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG.debug("Config content : {}", ret);
|
LOG.debug("Config content : {}", ret);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -199,7 +119,6 @@ public class OpensyncExternalIntegrationSimple implements OpensyncExternalIntegr
|
|||||||
LOG.info("Received EventReport {}", e);
|
LOG.info("Received EventReport {}", e);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void processMqttMessage(String topic, FlowReport flowReport) {
|
public void processMqttMessage(String topic, FlowReport flowReport) {
|
||||||
@@ -275,4 +194,22 @@ public class OpensyncExternalIntegrationSimple implements OpensyncExternalIntegr
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void clearEquipmentStatus(String apId) {
|
||||||
|
LOG.info("Received clearEquipmentStatus for ap {}", apId);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void apcStateDbTableUpdate(Map<String, String> apcStateAttributes, String apId,
|
||||||
|
RowUpdateOperation rowUpdateOperation) {
|
||||||
|
LOG.info("Received APC_State {} for operation {}", apcStateAttributes, rowUpdateOperation);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void nodeStateDbTableUpdate(List<Map<String, String>> nodeStateAttributes, String apId) {
|
||||||
|
LOG.info("nodeStateDbTableUpdate for AP {}", apId);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"model_type": "Equipment",
|
"model_type": "Equipment",
|
||||||
"id": 51,
|
"id": 1,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileId": 5,
|
"profileId": 8,
|
||||||
"locationId": 8,
|
"locationId": 8,
|
||||||
"equipmentType": "AP",
|
"equipmentType": "AP",
|
||||||
"inventoryId": "Test_Client_21P10C68818122",
|
"inventoryId": "Open_AP_21P10C68818122",
|
||||||
"name": "Test_Client_21P10C68818122",
|
"name": "Open_AP_21P10C68818122",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "ApElementConfiguration",
|
"model_type": "ApElementConfiguration",
|
||||||
"equipmentModel": "EA8300-CA",
|
"equipmentModel": "EA8300-CA",
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
"staticDnsIp1": null,
|
"staticDnsIp1": null,
|
||||||
"staticDnsIp2": null,
|
"staticDnsIp2": null,
|
||||||
"peerInfoList": [],
|
"peerInfoList": [],
|
||||||
"deviceName": "Default Device Name",
|
"deviceName": "Open_AP_21P10C68818122",
|
||||||
"locationData": null,
|
"locationData": null,
|
||||||
"locallyConfiguredMgmtVlan": 0,
|
"locallyConfiguredMgmtVlan": 0,
|
||||||
"locallyConfigured": false,
|
"locallyConfigured": false,
|
||||||
@@ -32,73 +32,246 @@
|
|||||||
"costSavingEventsEnabled": true,
|
"costSavingEventsEnabled": true,
|
||||||
"forwardMode": "BRIDGE",
|
"forwardMode": "BRIDGE",
|
||||||
"radioMap": {
|
"radioMap": {
|
||||||
|
"is5GHzU": {
|
||||||
|
"model_type": "ElementRadioConfiguration",
|
||||||
|
"radioType": "is5GHzU",
|
||||||
|
"channelNumber": 149,
|
||||||
|
"manualChannelNumber": 149,
|
||||||
|
"backupChannelNumber": 157,
|
||||||
|
"manualBackupChannelNumber": 157,
|
||||||
|
"rxCellSizeDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"probeResponseThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"clientDisconnectThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"eirpTxPower": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": 18
|
||||||
|
},
|
||||||
|
"perimeterDetectionEnabled": true,
|
||||||
|
"bestAPSteerType": "both",
|
||||||
|
"deauthAttackDetection": null,
|
||||||
|
"allowedChannelsPowerLevels": [
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 161,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 100,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 132,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 165,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 104,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 136,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 108,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 140,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 112,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 144,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 116,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 149,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 153,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 157,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"is2dot4GHz": {
|
"is2dot4GHz": {
|
||||||
"model_type": "ElementRadioConfiguration",
|
"model_type": "ElementRadioConfiguration",
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is2dot4GHz",
|
||||||
"channelNumber": 6,
|
"channelNumber": 6,
|
||||||
"manualChannelNumber": 6,
|
"manualChannelNumber": 6,
|
||||||
"backupChannelNumber": 11,
|
"backupChannelNumber": 11,
|
||||||
"bannedChannels": [],
|
"manualBackupChannelNumber": 11,
|
||||||
"allowedChannels": [],
|
|
||||||
"rxCellSizeDb": {
|
"rxCellSizeDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"probeResponseThresholdDb": {
|
"probeResponseThresholdDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"clientDisconnectThresholdDb": {
|
"clientDisconnectThresholdDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"eirpTxPower": {
|
"eirpTxPower": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": 32
|
"value": 18
|
||||||
},
|
},
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"bestAPSteerType": "both",
|
"bestAPSteerType": "both",
|
||||||
"deauthAttackDetection": null,
|
"deauthAttackDetection": null,
|
||||||
"allowedChannelsPowerLevels": [],
|
"allowedChannelsPowerLevels": [
|
||||||
"activeChannel": 6
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 1,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
},
|
},
|
||||||
"is5GHzU": {
|
{
|
||||||
"model_type": "ElementRadioConfiguration",
|
"model_type": "ChannelPowerLevel",
|
||||||
"radioType": "is5GHzU",
|
"channelNumber": 2,
|
||||||
"channelNumber": 149,
|
"powerLevel": 18,
|
||||||
"manualChannelNumber": 149,
|
"dfs": false,
|
||||||
"backupChannelNumber": 154,
|
"channelWidth": 20
|
||||||
"bannedChannels": [],
|
|
||||||
"allowedChannels": [],
|
|
||||||
"rxCellSizeDb": {
|
|
||||||
"model_type": "SourceSelectionValue",
|
|
||||||
"source": "auto",
|
|
||||||
"value": -90
|
|
||||||
},
|
},
|
||||||
"probeResponseThresholdDb": {
|
{
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "ChannelPowerLevel",
|
||||||
"source": "auto",
|
"channelNumber": 3,
|
||||||
"value": -90
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
},
|
},
|
||||||
"clientDisconnectThresholdDb": {
|
{
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "ChannelPowerLevel",
|
||||||
"source": "auto",
|
"channelNumber": 4,
|
||||||
"value": -90
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
},
|
},
|
||||||
"eirpTxPower": {
|
{
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "ChannelPowerLevel",
|
||||||
"source": "auto",
|
"channelNumber": 5,
|
||||||
"value": 32
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
},
|
},
|
||||||
"perimeterDetectionEnabled": true,
|
{
|
||||||
"bestAPSteerType": "both",
|
"model_type": "ChannelPowerLevel",
|
||||||
"deauthAttackDetection": null,
|
"channelNumber": 6,
|
||||||
"allowedChannelsPowerLevels": [],
|
"powerLevel": 18,
|
||||||
"activeChannel": 149
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 7,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 8,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 9,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 10,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 11,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"is5GHzL": {
|
"is5GHzL": {
|
||||||
"model_type": "ElementRadioConfiguration",
|
"model_type": "ElementRadioConfiguration",
|
||||||
@@ -106,33 +279,88 @@
|
|||||||
"channelNumber": 36,
|
"channelNumber": 36,
|
||||||
"manualChannelNumber": 36,
|
"manualChannelNumber": 36,
|
||||||
"backupChannelNumber": 44,
|
"backupChannelNumber": 44,
|
||||||
"bannedChannels": [],
|
"manualBackupChannelNumber": 44,
|
||||||
"allowedChannels": [],
|
|
||||||
"rxCellSizeDb": {
|
"rxCellSizeDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"probeResponseThresholdDb": {
|
"probeResponseThresholdDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"clientDisconnectThresholdDb": {
|
"clientDisconnectThresholdDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"eirpTxPower": {
|
"eirpTxPower": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": 32
|
"value": 18
|
||||||
},
|
},
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"bestAPSteerType": "both",
|
"bestAPSteerType": "both",
|
||||||
"deauthAttackDetection": null,
|
"deauthAttackDetection": null,
|
||||||
"allowedChannelsPowerLevels": [],
|
"allowedChannelsPowerLevels": [
|
||||||
"activeChannel": 36
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 52,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 36,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 56,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 40,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 60,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 44,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 64,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 48,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"advancedRadioMap": {
|
"advancedRadioMap": {
|
||||||
@@ -141,25 +369,30 @@
|
|||||||
"radioType": "is2dot4GHz",
|
"radioType": "is2dot4GHz",
|
||||||
"radioAdminState": "enabled",
|
"radioAdminState": "enabled",
|
||||||
"fragmentationThresholdBytes": 2346,
|
"fragmentationThresholdBytes": 2346,
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
"uapsdState": "enabled",
|
||||||
"stationIsolation": "disabled",
|
"stationIsolation": "disabled",
|
||||||
|
"multicastRate": {
|
||||||
|
"model_type": "SourceSelectionMulticast",
|
||||||
|
"source": "profile",
|
||||||
|
"value": "auto"
|
||||||
|
},
|
||||||
"managementRate": {
|
"managementRate": {
|
||||||
"model_type": "SourceSelectionManagement",
|
"model_type": "SourceSelectionManagement",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": "auto"
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "SourceSelectionSteering",
|
"model_type": "SourceSelectionSteering",
|
||||||
"source": "auto",
|
"source": "manual",
|
||||||
"value": {
|
"value": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 30,
|
"dropInSnrPercentage": 20,
|
||||||
"minLoadFactor": 40
|
"minLoadFactor": 50
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"legacyBSSRate": "enabled",
|
"legacyBSSRate": "enabled",
|
||||||
|
"dtimPeriod": 2,
|
||||||
"deauthAttackDetection": null
|
"deauthAttackDetection": null
|
||||||
},
|
},
|
||||||
"is5GHzU": {
|
"is5GHzU": {
|
||||||
@@ -167,17 +400,21 @@
|
|||||||
"radioType": "is5GHzU",
|
"radioType": "is5GHzU",
|
||||||
"radioAdminState": "enabled",
|
"radioAdminState": "enabled",
|
||||||
"fragmentationThresholdBytes": 2346,
|
"fragmentationThresholdBytes": 2346,
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
"uapsdState": "enabled",
|
||||||
"stationIsolation": "disabled",
|
"stationIsolation": "disabled",
|
||||||
|
"multicastRate": {
|
||||||
|
"model_type": "SourceSelectionMulticast",
|
||||||
|
"source": "profile",
|
||||||
|
"value": "auto"
|
||||||
|
},
|
||||||
"managementRate": {
|
"managementRate": {
|
||||||
"model_type": "SourceSelectionManagement",
|
"model_type": "SourceSelectionManagement",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": "auto"
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "SourceSelectionSteering",
|
"model_type": "SourceSelectionSteering",
|
||||||
"source": "auto",
|
"source": "manual",
|
||||||
"value": {
|
"value": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
@@ -186,6 +423,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"legacyBSSRate": "enabled",
|
"legacyBSSRate": "enabled",
|
||||||
|
"dtimPeriod": 2,
|
||||||
"deauthAttackDetection": null
|
"deauthAttackDetection": null
|
||||||
},
|
},
|
||||||
"is5GHzL": {
|
"is5GHzL": {
|
||||||
@@ -193,17 +431,21 @@
|
|||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"radioAdminState": "enabled",
|
"radioAdminState": "enabled",
|
||||||
"fragmentationThresholdBytes": 2346,
|
"fragmentationThresholdBytes": 2346,
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
"uapsdState": "enabled",
|
||||||
"stationIsolation": "disabled",
|
"stationIsolation": "disabled",
|
||||||
|
"multicastRate": {
|
||||||
|
"model_type": "SourceSelectionMulticast",
|
||||||
|
"source": "profile",
|
||||||
|
"value": "auto"
|
||||||
|
},
|
||||||
"managementRate": {
|
"managementRate": {
|
||||||
"model_type": "SourceSelectionManagement",
|
"model_type": "SourceSelectionManagement",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": "auto"
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "SourceSelectionSteering",
|
"model_type": "SourceSelectionSteering",
|
||||||
"source": "auto",
|
"source": "manual",
|
||||||
"value": {
|
"value": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
@@ -212,13 +454,19 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"legacyBSSRate": "enabled",
|
"legacyBSSRate": "enabled",
|
||||||
|
"dtimPeriod": 2,
|
||||||
"deauthAttackDetection": null
|
"deauthAttackDetection": null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latitude": null,
|
"latitude": null,
|
||||||
"longitude": null,
|
"longitude": null,
|
||||||
|
"baseMacAddress": {
|
||||||
|
"model_type": "MacAddress",
|
||||||
|
"address": "JPWi7y5T",
|
||||||
|
"addressAsString": "24:f5:a2:ef:2e:53"
|
||||||
|
},
|
||||||
"serial": "21P10C68818122",
|
"serial": "21P10C68818122",
|
||||||
"createdTimestamp": 1591653239821,
|
"createdTimestamp": 1612285288821,
|
||||||
"lastModifiedTimestamp": 1591653241398
|
"lastModifiedTimestamp": 1612285293922
|
||||||
}
|
}
|
||||||
@@ -1,67 +1,61 @@
|
|||||||
{
|
{
|
||||||
"model_type" : "Location",
|
"model_type": "Location",
|
||||||
"id" : 8,
|
"id": 8,
|
||||||
"parentId" : 0,
|
"parentId": 0,
|
||||||
"locationType" : "SITE",
|
"locationType": "SITE",
|
||||||
"customerId" : 2,
|
"customerId": 2,
|
||||||
"name" : "Ottawa",
|
"name": "Ottawa",
|
||||||
"details" : {
|
"details": {
|
||||||
"model_type" : "LocationDetails",
|
"model_type": "LocationDetails",
|
||||||
"countryCode" : "ca",
|
"countryCode": "CA",
|
||||||
"maintenanceWindow" : null,
|
"dailyActivityDetails": {
|
||||||
"rrmEnabled" : true,
|
"SUNDAY": {
|
||||||
"dailyRebalancingDetails" : {
|
"model_type": "LocationActivityDetails",
|
||||||
"SUNDAY" : {
|
"busyTime": "13:30",
|
||||||
"model_type" : "LocationActivityDetails",
|
"quietTime": "3:00",
|
||||||
"busyTime" : "13:30",
|
"timezone": "US/Eastern"
|
||||||
"quietTime" : "3:30",
|
|
||||||
"timezone" : "US/Eastern",
|
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"MONDAY" : {
|
"MONDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"TUESDAY" : {
|
"TUESDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"WEDNESDAY" : {
|
"WEDNESDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"THURSDAY" : {
|
"THURSDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"FRIDAY" : {
|
"FRIDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"SATURDAY" : {
|
"SATURDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"createdTimestamp" : 1590607043540,
|
"maintenanceWindow": null,
|
||||||
"lastModifiedTimestamp" : 1590607043540
|
"rrmEnabled": true,
|
||||||
|
"timezone": "US/Eastern"
|
||||||
|
},
|
||||||
|
"createdTimestamp": 1612285243534,
|
||||||
|
"lastModifiedTimestamp": 1612285243534
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 17,
|
"id": 8,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "equipment_ap",
|
"profileType": "equipment_ap",
|
||||||
"name": "ApProfile-3-radios",
|
"name": "ApProfile-3-radios",
|
||||||
@@ -37,14 +37,22 @@
|
|||||||
"bestAPSteerType": "both"
|
"bestAPSteerType": "both"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"greTunnelConfigurations": [
|
||||||
|
{
|
||||||
|
"model_type": "GreTunnelConfiguration",
|
||||||
|
"greTunnelName": "gre1",
|
||||||
|
"greRemoteInetAddr": "192.168.1.101",
|
||||||
|
"vlanIdsInGreTunnel": [
|
||||||
|
100
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"profileType": "equipment_ap"
|
"profileType": "equipment_ap"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182806348,
|
"createdTimestamp": 1612285248925,
|
||||||
"lastModifiedTimestamp": 1602182806348,
|
"lastModifiedTimestamp": 1612285628377,
|
||||||
"childProfileIds": [
|
"childProfileIds": [
|
||||||
2,
|
2,
|
||||||
5,
|
4
|
||||||
11,
|
|
||||||
13
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -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": []
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -1,135 +1,58 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 14,
|
"id": 5,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "captive_portal",
|
"profileType": "captive_portal",
|
||||||
"name": "Captive-portal",
|
"name": "Captive-portal",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "CaptivePortalConfiguration",
|
"model_type": "CaptivePortalConfiguration",
|
||||||
"name": "Captive-portal",
|
"name": "Default",
|
||||||
"browserTitle": "Access the network as Guest",
|
"browserTitle": "Captive-portal",
|
||||||
"headerContent": "Captive Portal",
|
"headerContent": "Captive Portal",
|
||||||
"userAcceptancePolicy": "Use this network at your own risk. No warranty of any kind.",
|
"userAcceptancePolicy": "Please agree to the following terms for using this network:",
|
||||||
"successPageMarkdownText": "Welcome to the network",
|
"successPageMarkdownText": "You are now authorized and connected to the network.",
|
||||||
"redirectURL": "",
|
"redirectURL": "https://www.google.com",
|
||||||
"externalCaptivePortalURL": null,
|
"externalCaptivePortalURL": null,
|
||||||
"sessionTimeoutInMinutes": 60,
|
"sessionTimeoutInMinutes": 10,
|
||||||
"logoFile": null,
|
"logoFile": {
|
||||||
"backgroundFile": null,
|
|
||||||
"walledGardenAllowlist": [],
|
|
||||||
"usernamePasswordFile": {
|
|
||||||
"model_type": "ManagedFileInfo",
|
"model_type": "ManagedFileInfo",
|
||||||
"md5checksum": null,
|
"md5checksum": null,
|
||||||
"lastModifiedTimestamp": null,
|
"lastModifiedTimestamp": null,
|
||||||
"apExportUrl": "userList",
|
"apExportUrl": "/filestore/tip-logo-mobile",
|
||||||
"fileCategory": "UsernamePasswordList",
|
"fileCategory": "CaptivePortalLogo",
|
||||||
"fileType": "TEXT",
|
"fileType": "PNG",
|
||||||
"altSlot": true
|
"altSlot": false
|
||||||
},
|
},
|
||||||
|
"backgroundFile": {
|
||||||
|
"model_type": "ManagedFileInfo",
|
||||||
|
"md5checksum": null,
|
||||||
|
"lastModifiedTimestamp": null,
|
||||||
|
"apExportUrl": "/filestore/tip-logo",
|
||||||
|
"fileCategory": "CaptivePortalBackground",
|
||||||
|
"fileType": "PNG",
|
||||||
|
"altSlot": false
|
||||||
|
},
|
||||||
|
"walledGardenAllowlist": [
|
||||||
|
],
|
||||||
|
"usernamePasswordFile": null,
|
||||||
"authenticationType": "guest",
|
"authenticationType": "guest",
|
||||||
"radiusAuthMethod": "CHAP",
|
"radiusAuthMethod": "CHAP",
|
||||||
"maxUsersWithSameCredentials": 42,
|
"maxUsersWithSameCredentials": 3,
|
||||||
"externalPolicyFile": null,
|
"externalPolicyFile": null,
|
||||||
"backgroundPosition": "left_top",
|
"backgroundPosition": "left_top",
|
||||||
"backgroundRepeat": "no_repeat",
|
"backgroundRepeat": "no_repeat",
|
||||||
"radiusServiceName": null,
|
"radiusServiceId": 0,
|
||||||
"expiryType": "unlimited",
|
"expiryType": "time_limited",
|
||||||
"userList": [
|
"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
|
"macAllowList": [
|
||||||
},
|
|
||||||
{
|
|
||||||
"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"
|
"profileType": "captive_portal"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602183994959,
|
"createdTimestamp": 1611857459118,
|
||||||
"lastModifiedTimestamp": 1602183994959,
|
"lastModifiedTimestamp": 1611857459118,
|
||||||
"childProfileIds": []
|
"childProfileIds": [
|
||||||
}
|
]
|
||||||
|
}
|
||||||
]
|
]
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"model_type": "Profile",
|
|
||||||
"id": 10,
|
|
||||||
"customerId": 2,
|
|
||||||
"profileType": "hotspot_2pt0",
|
|
||||||
"name": "TipWlan-Hotspot20-Config",
|
|
||||||
"details": {
|
|
||||||
"model_type": "Hotspot2Profile",
|
|
||||||
"enableInterworkingAndHs20": true,
|
|
||||||
"hessid": null,
|
|
||||||
"accessNetworkType": "free_public_network",
|
|
||||||
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
|
|
||||||
"additionalStepsRequiredForAccess": 0,
|
|
||||||
"deauthRequestTimeout": 0,
|
|
||||||
"operatingClass": 0,
|
|
||||||
"termsAndConditionsFile": {
|
|
||||||
"model_type": "ManagedFileInfo",
|
|
||||||
"md5checksum": null,
|
|
||||||
"lastModifiedTimestamp": null,
|
|
||||||
"apExportUrl": "https://localhost:9091/filestore/termsAndConditions",
|
|
||||||
"fileCategory": "ExternalPolicyConfiguration",
|
|
||||||
"fileType": "TEXT",
|
|
||||||
"altSlot": false
|
|
||||||
},
|
|
||||||
"whitelistDomain": null,
|
|
||||||
"emergencyServicesReachable": true,
|
|
||||||
"unauthenticatedEmergencyServiceAccessible": false,
|
|
||||||
"internetConnectivity": true,
|
|
||||||
"connectionCapabilitySet": [
|
|
||||||
{
|
|
||||||
"model_type": "ConnectionCapability",
|
|
||||||
"connectionCapabilitiesPortNumber": 8888,
|
|
||||||
"connectionCapabilitiesIpProtocol": "TCP",
|
|
||||||
"connectionCapabilitiesStatus": "open"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"ipAddressTypeAvailability": "public_IPv4_address_available",
|
|
||||||
"qosMapSetConfiguration": null,
|
|
||||||
"apGeospatialLocation": null,
|
|
||||||
"apCivicLocation": null,
|
|
||||||
"apPublicLocationIdUri": null,
|
|
||||||
"gasAddr3Behaviour": "p2pSpecWorkaroundFromRequest",
|
|
||||||
"anqpDomainId": 1234,
|
|
||||||
"disableDownstreamGroupAddressedForwarding": false,
|
|
||||||
"enable2pt4GHz": true,
|
|
||||||
"enable5GHz": true,
|
|
||||||
"associatedAccessSsidNames": [
|
|
||||||
"TipWlan-cloud-hotspot-access"
|
|
||||||
],
|
|
||||||
"osuSsidName": "TipWlan-cloud-3-radios",
|
|
||||||
"operatorProfileName": "TipWlan-Hotspot20-Operator",
|
|
||||||
"venueProfileName": "TipWlan-Hotspot20-Venue",
|
|
||||||
"idProviderProfileNames": [
|
|
||||||
"TipWlan-Hotspot20-OSU-Provider-2",
|
|
||||||
"TipWlan-Hotspot20-OSU-Provider"
|
|
||||||
],
|
|
||||||
"profileType": "hotspot_2pt0",
|
|
||||||
"associatedSsids": [
|
|
||||||
"TipWlan-cloud-hotspot-access"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"createdTimestamp": 1602182806040,
|
|
||||||
"lastModifiedTimestamp": 1602182806040,
|
|
||||||
"childProfileIds": [
|
|
||||||
6,
|
|
||||||
7,
|
|
||||||
8,
|
|
||||||
9
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -1,256 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"model_type": "Profile",
|
|
||||||
"id": 8,
|
|
||||||
"customerId": 2,
|
|
||||||
"profileType": "id_provider",
|
|
||||||
"name": "TipWlan-Hotspot20-OSU-Provider",
|
|
||||||
"details": {
|
|
||||||
"model_type": "Hotspot20IdProviderProfile",
|
|
||||||
"domainName": "rogers.com",
|
|
||||||
"mccMncList": [
|
|
||||||
{
|
|
||||||
"model_type": "MccMnc",
|
|
||||||
"mcc": 302,
|
|
||||||
"mnc": 720,
|
|
||||||
"iso": "ca",
|
|
||||||
"country": "Canada",
|
|
||||||
"countryCode": 1,
|
|
||||||
"network": "Rogers AT&T Wireless",
|
|
||||||
"mccMncPairing": "302,720"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"naiRealmList": [
|
|
||||||
{
|
|
||||||
"model_type": "NaiRealmInformation",
|
|
||||||
"naiRealms": [
|
|
||||||
"rogers.com"
|
|
||||||
],
|
|
||||||
"encoding": 0,
|
|
||||||
"eapMethods": [
|
|
||||||
"EAP-TTLS with username/password",
|
|
||||||
"EAP-TLS with certificate"
|
|
||||||
],
|
|
||||||
"eapMap": {
|
|
||||||
"EAP-TTLS with username/password": [
|
|
||||||
"Credential Type:username/password",
|
|
||||||
"Non-EAP Inner Authentication Type:MSCHAPV2"
|
|
||||||
],
|
|
||||||
"EAP-TLS with certificate": [
|
|
||||||
"Credential Type:Certificate"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"osuIconList": [
|
|
||||||
{
|
|
||||||
"model_type": "OsuIcon",
|
|
||||||
"iconWidth": 32,
|
|
||||||
"iconHeight": 32,
|
|
||||||
"languageCode": "eng",
|
|
||||||
"iconLocale": "en_CA",
|
|
||||||
"iconName": "icon32eng",
|
|
||||||
"filePath": "/tmp/icon32eng.png",
|
|
||||||
"imageUrl": "https://localhost:9096/icon32eng.png",
|
|
||||||
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "OsuIcon",
|
|
||||||
"iconWidth": 32,
|
|
||||||
"iconHeight": 32,
|
|
||||||
"languageCode": "fra",
|
|
||||||
"iconLocale": "fr_CA",
|
|
||||||
"iconName": "icon32fra",
|
|
||||||
"filePath": "/tmp/icon32fra.png",
|
|
||||||
"imageUrl": "https://localhost:9096/icon32fra.png",
|
|
||||||
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "OsuIcon",
|
|
||||||
"iconWidth": 32,
|
|
||||||
"iconHeight": 32,
|
|
||||||
"languageCode": "eng",
|
|
||||||
"iconLocale": "en_US",
|
|
||||||
"iconName": "icon32usa",
|
|
||||||
"filePath": "/tmp/icon32usa.png",
|
|
||||||
"imageUrl": "https://localhost:9096/icon32usa.png",
|
|
||||||
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"osuServerUri": "https://example.com/osu/rogers/",
|
|
||||||
"osuFriendlyName": [
|
|
||||||
{
|
|
||||||
"model_type": "Hotspot20Duple",
|
|
||||||
"locale": "en_CA",
|
|
||||||
"dupleIso3Language": "eng",
|
|
||||||
"dupleName": "Example provider rogers",
|
|
||||||
"defaultDupleSeparator": ":",
|
|
||||||
"asDuple": "eng:Example provider rogers"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "Hotspot20Duple",
|
|
||||||
"locale": "fr_CA",
|
|
||||||
"dupleIso3Language": "fra",
|
|
||||||
"dupleName": "Exemple de fournisseur rogers",
|
|
||||||
"defaultDupleSeparator": ":",
|
|
||||||
"asDuple": "fra:Exemple de fournisseur rogers"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"osuNaiStandalone": "anonymous@rogers.com",
|
|
||||||
"osuNaiShared": "anonymous@rogers.com",
|
|
||||||
"osuMethodList": [
|
|
||||||
1,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"osuServiceDescription": [
|
|
||||||
{
|
|
||||||
"model_type": "Hotspot20Duple",
|
|
||||||
"locale": "en_CA",
|
|
||||||
"dupleIso3Language": "eng",
|
|
||||||
"dupleName": "Example services rogers",
|
|
||||||
"defaultDupleSeparator": ":",
|
|
||||||
"asDuple": "eng:Example services rogers"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "Hotspot20Duple",
|
|
||||||
"locale": "fr_CA",
|
|
||||||
"dupleIso3Language": "fra",
|
|
||||||
"dupleName": "Exemples de services rogers",
|
|
||||||
"defaultDupleSeparator": ":",
|
|
||||||
"asDuple": "fra:Exemples de services rogers"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"profileType": "id_provider"
|
|
||||||
},
|
|
||||||
"createdTimestamp": 1602182805654,
|
|
||||||
"lastModifiedTimestamp": 1602182805654,
|
|
||||||
"childProfileIds": []
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "Profile",
|
|
||||||
"id": 9,
|
|
||||||
"customerId": 2,
|
|
||||||
"profileType": "id_provider",
|
|
||||||
"name": "TipWlan-Hotspot20-OSU-Provider-2",
|
|
||||||
"details": {
|
|
||||||
"model_type": "Hotspot20IdProviderProfile",
|
|
||||||
"domainName": "telus.com",
|
|
||||||
"mccMncList": [
|
|
||||||
{
|
|
||||||
"model_type": "MccMnc",
|
|
||||||
"mcc": 302,
|
|
||||||
"mnc": 220,
|
|
||||||
"iso": "ca",
|
|
||||||
"country": "Canada",
|
|
||||||
"countryCode": 1,
|
|
||||||
"network": "Telus Mobility",
|
|
||||||
"mccMncPairing": "302,220"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"naiRealmList": [
|
|
||||||
{
|
|
||||||
"model_type": "NaiRealmInformation",
|
|
||||||
"naiRealms": [
|
|
||||||
"telus.com"
|
|
||||||
],
|
|
||||||
"encoding": 0,
|
|
||||||
"eapMethods": [
|
|
||||||
"EAP-TTLS with username/password",
|
|
||||||
"EAP-TLS with certificate"
|
|
||||||
],
|
|
||||||
"eapMap": {
|
|
||||||
"EAP-TTLS with username/password": [
|
|
||||||
"Credential Type:username/password",
|
|
||||||
"Non-EAP Inner Authentication Type:MSCHAPV2"
|
|
||||||
],
|
|
||||||
"EAP-TLS with certificate": [
|
|
||||||
"Credential Type:Certificate"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"osuIconList": [
|
|
||||||
{
|
|
||||||
"model_type": "OsuIcon",
|
|
||||||
"iconWidth": 32,
|
|
||||||
"iconHeight": 32,
|
|
||||||
"languageCode": "eng",
|
|
||||||
"iconLocale": "en_CA",
|
|
||||||
"iconName": "icon32eng",
|
|
||||||
"filePath": "/tmp/icon32eng.png",
|
|
||||||
"imageUrl": "https://localhost:9096/icon32eng.png",
|
|
||||||
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "OsuIcon",
|
|
||||||
"iconWidth": 32,
|
|
||||||
"iconHeight": 32,
|
|
||||||
"languageCode": "fra",
|
|
||||||
"iconLocale": "fr_CA",
|
|
||||||
"iconName": "icon32fra",
|
|
||||||
"filePath": "/tmp/icon32fra.png",
|
|
||||||
"imageUrl": "https://localhost:9096/icon32fra.png",
|
|
||||||
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "OsuIcon",
|
|
||||||
"iconWidth": 32,
|
|
||||||
"iconHeight": 32,
|
|
||||||
"languageCode": "eng",
|
|
||||||
"iconLocale": "en_US",
|
|
||||||
"iconName": "icon32usa",
|
|
||||||
"filePath": "/tmp/icon32usa.png",
|
|
||||||
"imageUrl": "https://localhost:9096/icon32usa.png",
|
|
||||||
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"osuServerUri": "https://example.com/osu/telus/",
|
|
||||||
"osuFriendlyName": [
|
|
||||||
{
|
|
||||||
"model_type": "Hotspot20Duple",
|
|
||||||
"locale": "en_CA",
|
|
||||||
"dupleIso3Language": "eng",
|
|
||||||
"dupleName": "Example provider telus",
|
|
||||||
"defaultDupleSeparator": ":",
|
|
||||||
"asDuple": "eng:Example provider telus"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "Hotspot20Duple",
|
|
||||||
"locale": "fr_CA",
|
|
||||||
"dupleIso3Language": "fra",
|
|
||||||
"dupleName": "Exemple de fournisseur telus",
|
|
||||||
"defaultDupleSeparator": ":",
|
|
||||||
"asDuple": "fra:Exemple de fournisseur telus"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"osuNaiStandalone": "anonymous@telus.com",
|
|
||||||
"osuNaiShared": "anonymous@telus.com",
|
|
||||||
"osuMethodList": [
|
|
||||||
1,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"osuServiceDescription": [
|
|
||||||
{
|
|
||||||
"model_type": "Hotspot20Duple",
|
|
||||||
"locale": "en_CA",
|
|
||||||
"dupleIso3Language": "eng",
|
|
||||||
"dupleName": "Example services telus",
|
|
||||||
"defaultDupleSeparator": ":",
|
|
||||||
"asDuple": "eng:Example services telus"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "Hotspot20Duple",
|
|
||||||
"locale": "fr_CA",
|
|
||||||
"dupleIso3Language": "fra",
|
|
||||||
"dupleName": "Exemples de services telus",
|
|
||||||
"defaultDupleSeparator": ":",
|
|
||||||
"asDuple": "fra:Exemples de services telus"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"profileType": "id_provider"
|
|
||||||
},
|
|
||||||
"createdTimestamp": 1602182805660,
|
|
||||||
"lastModifiedTimestamp": 1602182805660,
|
|
||||||
"childProfileIds": []
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -1,298 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"model_type": "Profile",
|
|
||||||
"id": 2,
|
|
||||||
"customerId": 2,
|
|
||||||
"profileType": "metrics",
|
|
||||||
"name": "Metrics-Profile-3-radios",
|
|
||||||
"details": {
|
|
||||||
"model_type": "ServiceMetricsCollectionConfigProfile",
|
|
||||||
"radioTypes": [
|
|
||||||
"is5GHzU",
|
|
||||||
"is5GHzL",
|
|
||||||
"is2dot4GHz"
|
|
||||||
],
|
|
||||||
"serviceMetricDataTypes": [
|
|
||||||
"ApNode",
|
|
||||||
"ApSsid",
|
|
||||||
"Client",
|
|
||||||
"Channel",
|
|
||||||
"Neighbour"
|
|
||||||
],
|
|
||||||
"metricConfigParameterMap": {
|
|
||||||
"ApNode": [
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 120,
|
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"serviceMetricDataType": "ApNode"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 120,
|
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzL",
|
|
||||||
"serviceMetricDataType": "ApNode"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 120,
|
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "ApNode"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzL",
|
|
||||||
"serviceMetricDataType": "ApNode"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "ApNode"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"serviceMetricDataType": "ApNode"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"ApSsid": [
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "ApSsid"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"radioType": "is5GHzL",
|
|
||||||
"serviceMetricDataType": "ApSsid"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"serviceMetricDataType": "ApSsid"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Client": [
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "Client"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"radioType": "is5GHzL",
|
|
||||||
"serviceMetricDataType": "Client"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"serviceMetricDataType": "Client"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Channel": [
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzL",
|
|
||||||
"serviceMetricDataType": "Channel"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "Channel"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"serviceMetricDataType": "Channel"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 120,
|
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzL",
|
|
||||||
"serviceMetricDataType": "Channel"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 120,
|
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "Channel"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 120,
|
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"serviceMetricDataType": "Channel"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Neighbour": [
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzL",
|
|
||||||
"serviceMetricDataType": "Neighbour"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "Neighbour"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"serviceMetricDataType": "Neighbour"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 120,
|
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"serviceMetricDataType": "Neighbour"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 120,
|
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzL",
|
|
||||||
"serviceMetricDataType": "Neighbour"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 120,
|
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "Neighbour"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"profileType": "metrics"
|
|
||||||
},
|
|
||||||
"createdTimestamp": 1602113058699,
|
|
||||||
"lastModifiedTimestamp": 1602113058699,
|
|
||||||
"childProfileIds": []
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"model_type": "Profile",
|
|
||||||
"id": 6,
|
|
||||||
"customerId": 2,
|
|
||||||
"profileType": "operator",
|
|
||||||
"name": "TipWlan-Hotspot20-Operator",
|
|
||||||
"details": {
|
|
||||||
"model_type": "OperatorProfile",
|
|
||||||
"domainName": "telecominfraproject.atlassian.net",
|
|
||||||
"serverOnlyAuthenticatedL2EncryptionNetwork": false,
|
|
||||||
"x509CertificateLocation": "/etc/ca.pem",
|
|
||||||
"operatorFriendlyName": [
|
|
||||||
{
|
|
||||||
"model_type": "Hotspot20Duple",
|
|
||||||
"locale": "en_CA",
|
|
||||||
"dupleIso3Language": "eng",
|
|
||||||
"dupleName": "Default friendly operator name",
|
|
||||||
"defaultDupleSeparator": ":",
|
|
||||||
"asDuple": "eng:Default friendly operator name"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "Hotspot20Duple",
|
|
||||||
"locale": "fr_CA",
|
|
||||||
"dupleIso3Language": "fra",
|
|
||||||
"dupleName": "Nom de l'opérateur convivial par défaut",
|
|
||||||
"defaultDupleSeparator": ":",
|
|
||||||
"asDuple": "fra:Nom de l'opérateur convivial par défaut"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"profileType": "operator"
|
|
||||||
},
|
|
||||||
"createdTimestamp": 1602113058719,
|
|
||||||
"lastModifiedTimestamp": 1602113058719,
|
|
||||||
"childProfileIds": []
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"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": []
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 13,
|
"id": 4,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "rf",
|
"profileType": "rf",
|
||||||
"name": "TipWlan-rf",
|
"name": "TipWlan-rf",
|
||||||
@@ -9,16 +9,15 @@
|
|||||||
"rfConfigMap": {
|
"rfConfigMap": {
|
||||||
"is5GHz": {
|
"is5GHz": {
|
||||||
"model_type": "RfElementConfiguration",
|
"model_type": "RfElementConfiguration",
|
||||||
"rf": "TipWlan-rf",
|
|
||||||
"radioType": "is5GHz",
|
"radioType": "is5GHz",
|
||||||
"radioMode": "modeAC",
|
"radioMode": "modeAC",
|
||||||
|
"rf": "TipWlan-rf",
|
||||||
"beaconInterval": 100,
|
"beaconInterval": 100,
|
||||||
"forceScanDuringVoice": "disabled",
|
"forceScanDuringVoice": "disabled",
|
||||||
"rtsCtsThreshold": 65535,
|
"rtsCtsThreshold": 65535,
|
||||||
"channelBandwidth": "is80MHz",
|
"channelBandwidth": "is80MHz",
|
||||||
"mimoMode": "twoByTwo",
|
"mimoMode": "twoByTwo",
|
||||||
"maxNumClients": 100,
|
"maxNumClients": 100,
|
||||||
"multicastRate": "auto",
|
|
||||||
"autoChannelSelection": false,
|
"autoChannelSelection": false,
|
||||||
"activeScanSettings": {
|
"activeScanSettings": {
|
||||||
"model_type": "ActiveScanSettings",
|
"model_type": "ActiveScanSettings",
|
||||||
@@ -26,17 +25,12 @@
|
|||||||
"scanFrequencySeconds": 10,
|
"scanFrequencySeconds": 10,
|
||||||
"scanDurationMillis": 65
|
"scanDurationMillis": 65
|
||||||
},
|
},
|
||||||
"managementRate": "auto",
|
|
||||||
"rxCellSizeDb": -90,
|
|
||||||
"probeResponseThresholdDb": -90,
|
|
||||||
"clientDisconnectThresholdDb": -90,
|
|
||||||
"eirpTxPower": 18,
|
|
||||||
"bestApEnabled": null,
|
|
||||||
"neighbouringListApConfig": {
|
"neighbouringListApConfig": {
|
||||||
"model_type": "NeighbouringAPListConfiguration",
|
"model_type": "NeighbouringAPListConfiguration",
|
||||||
"minSignal": -85,
|
"minSignal": -85,
|
||||||
"maxAps": 25
|
"maxAps": 25
|
||||||
},
|
},
|
||||||
|
"minAutoCellSize": -65,
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"channelHopSettings": {
|
"channelHopSettings": {
|
||||||
"model_type": "ChannelHopSettings",
|
"model_type": "ChannelHopSettings",
|
||||||
@@ -46,26 +40,31 @@
|
|||||||
"nonWifiThresholdTimeInSeconds": 180,
|
"nonWifiThresholdTimeInSeconds": 180,
|
||||||
"obssHopMode": "NON_WIFI"
|
"obssHopMode": "NON_WIFI"
|
||||||
},
|
},
|
||||||
|
"bestApEnabled": null,
|
||||||
|
"multicastRate": "auto",
|
||||||
|
"managementRate": "auto",
|
||||||
|
"rxCellSizeDb": -90,
|
||||||
|
"probeResponseThresholdDb": -90,
|
||||||
|
"clientDisconnectThresholdDb": -90,
|
||||||
|
"eirpTxPower": 18,
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 30,
|
"dropInSnrPercentage": 30,
|
||||||
"minLoadFactor": 40
|
"minLoadFactor": 40
|
||||||
},
|
}
|
||||||
"minAutoCellSize": -65
|
|
||||||
},
|
},
|
||||||
"is2dot4GHz": {
|
"is2dot4GHz": {
|
||||||
"model_type": "RfElementConfiguration",
|
"model_type": "RfElementConfiguration",
|
||||||
"rf": "TipWlan-rf",
|
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is2dot4GHz",
|
||||||
"radioMode": "modeN",
|
"radioMode": "modeN",
|
||||||
|
"rf": "TipWlan-rf",
|
||||||
"beaconInterval": 100,
|
"beaconInterval": 100,
|
||||||
"forceScanDuringVoice": "disabled",
|
"forceScanDuringVoice": "disabled",
|
||||||
"rtsCtsThreshold": 65535,
|
"rtsCtsThreshold": 65535,
|
||||||
"channelBandwidth": "is20MHz",
|
"channelBandwidth": "is20MHz",
|
||||||
"mimoMode": "twoByTwo",
|
"mimoMode": "twoByTwo",
|
||||||
"maxNumClients": 100,
|
"maxNumClients": 100,
|
||||||
"multicastRate": "auto",
|
|
||||||
"autoChannelSelection": false,
|
"autoChannelSelection": false,
|
||||||
"activeScanSettings": {
|
"activeScanSettings": {
|
||||||
"model_type": "ActiveScanSettings",
|
"model_type": "ActiveScanSettings",
|
||||||
@@ -73,17 +72,12 @@
|
|||||||
"scanFrequencySeconds": 10,
|
"scanFrequencySeconds": 10,
|
||||||
"scanDurationMillis": 65
|
"scanDurationMillis": 65
|
||||||
},
|
},
|
||||||
"managementRate": "auto",
|
|
||||||
"rxCellSizeDb": -90,
|
|
||||||
"probeResponseThresholdDb": -90,
|
|
||||||
"clientDisconnectThresholdDb": -90,
|
|
||||||
"eirpTxPower": 18,
|
|
||||||
"bestApEnabled": null,
|
|
||||||
"neighbouringListApConfig": {
|
"neighbouringListApConfig": {
|
||||||
"model_type": "NeighbouringAPListConfiguration",
|
"model_type": "NeighbouringAPListConfiguration",
|
||||||
"minSignal": -85,
|
"minSignal": -85,
|
||||||
"maxAps": 25
|
"maxAps": 25
|
||||||
},
|
},
|
||||||
|
"minAutoCellSize": -65,
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"channelHopSettings": {
|
"channelHopSettings": {
|
||||||
"model_type": "ChannelHopSettings",
|
"model_type": "ChannelHopSettings",
|
||||||
@@ -93,26 +87,31 @@
|
|||||||
"nonWifiThresholdTimeInSeconds": 180,
|
"nonWifiThresholdTimeInSeconds": 180,
|
||||||
"obssHopMode": "NON_WIFI"
|
"obssHopMode": "NON_WIFI"
|
||||||
},
|
},
|
||||||
|
"bestApEnabled": null,
|
||||||
|
"multicastRate": "auto",
|
||||||
|
"managementRate": "auto",
|
||||||
|
"rxCellSizeDb": -90,
|
||||||
|
"probeResponseThresholdDb": -90,
|
||||||
|
"clientDisconnectThresholdDb": -90,
|
||||||
|
"eirpTxPower": 18,
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 20,
|
"dropInSnrPercentage": 20,
|
||||||
"minLoadFactor": 50
|
"minLoadFactor": 50
|
||||||
},
|
}
|
||||||
"minAutoCellSize": -65
|
|
||||||
},
|
},
|
||||||
"is5GHzU": {
|
"is5GHzU": {
|
||||||
"model_type": "RfElementConfiguration",
|
"model_type": "RfElementConfiguration",
|
||||||
"rf": "TipWlan-rf",
|
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is5GHzU",
|
||||||
"radioMode": "modeAC",
|
"radioMode": "modeAC",
|
||||||
|
"rf": "TipWlan-rf",
|
||||||
"beaconInterval": 100,
|
"beaconInterval": 100,
|
||||||
"forceScanDuringVoice": "disabled",
|
"forceScanDuringVoice": "disabled",
|
||||||
"rtsCtsThreshold": 65535,
|
"rtsCtsThreshold": 65535,
|
||||||
"channelBandwidth": "is80MHz",
|
"channelBandwidth": "is80MHz",
|
||||||
"mimoMode": "twoByTwo",
|
"mimoMode": "twoByTwo",
|
||||||
"maxNumClients": 100,
|
"maxNumClients": 100,
|
||||||
"multicastRate": "auto",
|
|
||||||
"autoChannelSelection": false,
|
"autoChannelSelection": false,
|
||||||
"activeScanSettings": {
|
"activeScanSettings": {
|
||||||
"model_type": "ActiveScanSettings",
|
"model_type": "ActiveScanSettings",
|
||||||
@@ -120,17 +119,12 @@
|
|||||||
"scanFrequencySeconds": 10,
|
"scanFrequencySeconds": 10,
|
||||||
"scanDurationMillis": 65
|
"scanDurationMillis": 65
|
||||||
},
|
},
|
||||||
"managementRate": "auto",
|
|
||||||
"rxCellSizeDb": -90,
|
|
||||||
"probeResponseThresholdDb": -90,
|
|
||||||
"clientDisconnectThresholdDb": -90,
|
|
||||||
"eirpTxPower": 18,
|
|
||||||
"bestApEnabled": null,
|
|
||||||
"neighbouringListApConfig": {
|
"neighbouringListApConfig": {
|
||||||
"model_type": "NeighbouringAPListConfiguration",
|
"model_type": "NeighbouringAPListConfiguration",
|
||||||
"minSignal": -85,
|
"minSignal": -85,
|
||||||
"maxAps": 25
|
"maxAps": 25
|
||||||
},
|
},
|
||||||
|
"minAutoCellSize": -65,
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"channelHopSettings": {
|
"channelHopSettings": {
|
||||||
"model_type": "ChannelHopSettings",
|
"model_type": "ChannelHopSettings",
|
||||||
@@ -140,26 +134,31 @@
|
|||||||
"nonWifiThresholdTimeInSeconds": 180,
|
"nonWifiThresholdTimeInSeconds": 180,
|
||||||
"obssHopMode": "NON_WIFI"
|
"obssHopMode": "NON_WIFI"
|
||||||
},
|
},
|
||||||
|
"bestApEnabled": null,
|
||||||
|
"multicastRate": "auto",
|
||||||
|
"managementRate": "auto",
|
||||||
|
"rxCellSizeDb": -90,
|
||||||
|
"probeResponseThresholdDb": -90,
|
||||||
|
"clientDisconnectThresholdDb": -90,
|
||||||
|
"eirpTxPower": 18,
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 30,
|
"dropInSnrPercentage": 30,
|
||||||
"minLoadFactor": 40
|
"minLoadFactor": 40
|
||||||
},
|
}
|
||||||
"minAutoCellSize": -65
|
|
||||||
},
|
},
|
||||||
"is5GHzL": {
|
"is5GHzL": {
|
||||||
"model_type": "RfElementConfiguration",
|
"model_type": "RfElementConfiguration",
|
||||||
"rf": "TipWlan-rf",
|
|
||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"radioMode": "modeAC",
|
"radioMode": "modeAC",
|
||||||
|
"rf": "TipWlan-rf",
|
||||||
"beaconInterval": 100,
|
"beaconInterval": 100,
|
||||||
"forceScanDuringVoice": "disabled",
|
"forceScanDuringVoice": "disabled",
|
||||||
"rtsCtsThreshold": 65535,
|
"rtsCtsThreshold": 65535,
|
||||||
"channelBandwidth": "is80MHz",
|
"channelBandwidth": "is80MHz",
|
||||||
"mimoMode": "twoByTwo",
|
"mimoMode": "twoByTwo",
|
||||||
"maxNumClients": 100,
|
"maxNumClients": 100,
|
||||||
"multicastRate": "auto",
|
|
||||||
"autoChannelSelection": false,
|
"autoChannelSelection": false,
|
||||||
"activeScanSettings": {
|
"activeScanSettings": {
|
||||||
"model_type": "ActiveScanSettings",
|
"model_type": "ActiveScanSettings",
|
||||||
@@ -167,17 +166,12 @@
|
|||||||
"scanFrequencySeconds": 10,
|
"scanFrequencySeconds": 10,
|
||||||
"scanDurationMillis": 65
|
"scanDurationMillis": 65
|
||||||
},
|
},
|
||||||
"managementRate": "auto",
|
|
||||||
"rxCellSizeDb": -90,
|
|
||||||
"probeResponseThresholdDb": -90,
|
|
||||||
"clientDisconnectThresholdDb": -90,
|
|
||||||
"eirpTxPower": 18,
|
|
||||||
"bestApEnabled": null,
|
|
||||||
"neighbouringListApConfig": {
|
"neighbouringListApConfig": {
|
||||||
"model_type": "NeighbouringAPListConfiguration",
|
"model_type": "NeighbouringAPListConfiguration",
|
||||||
"minSignal": -85,
|
"minSignal": -85,
|
||||||
"maxAps": 25
|
"maxAps": 25
|
||||||
},
|
},
|
||||||
|
"minAutoCellSize": -65,
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"channelHopSettings": {
|
"channelHopSettings": {
|
||||||
"model_type": "ChannelHopSettings",
|
"model_type": "ChannelHopSettings",
|
||||||
@@ -187,18 +181,24 @@
|
|||||||
"nonWifiThresholdTimeInSeconds": 180,
|
"nonWifiThresholdTimeInSeconds": 180,
|
||||||
"obssHopMode": "NON_WIFI"
|
"obssHopMode": "NON_WIFI"
|
||||||
},
|
},
|
||||||
|
"bestApEnabled": null,
|
||||||
|
"multicastRate": "auto",
|
||||||
|
"managementRate": "auto",
|
||||||
|
"rxCellSizeDb": -90,
|
||||||
|
"probeResponseThresholdDb": -90,
|
||||||
|
"clientDisconnectThresholdDb": -90,
|
||||||
|
"eirpTxPower": 18,
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 30,
|
"dropInSnrPercentage": 30,
|
||||||
"minLoadFactor": 40
|
"minLoadFactor": 40
|
||||||
},
|
}
|
||||||
"minAutoCellSize": -65
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"profileType": "rf"
|
"profileType": "rf"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182806063,
|
"createdTimestamp": 1612285248650,
|
||||||
"lastModifiedTimestamp": 1602182806063,
|
"lastModifiedTimestamp": 1612285248650,
|
||||||
"childProfileIds": []
|
"childProfileIds": []
|
||||||
}
|
}
|
||||||
@@ -1,73 +1,7 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 5,
|
"id": 2,
|
||||||
"customerId": 2,
|
|
||||||
"profileType": "ssid",
|
|
||||||
"name": "TipWlan-cloud-hotspot-access",
|
|
||||||
"details": {
|
|
||||||
"model_type": "SsidConfiguration",
|
|
||||||
"ssid": "TipWlan-cloud-hotspot-access",
|
|
||||||
"appliedRadios": [
|
|
||||||
"is5GHzU",
|
|
||||||
"is5GHzL",
|
|
||||||
"is2dot4GHz"
|
|
||||||
],
|
|
||||||
"ssidAdminState": "enabled",
|
|
||||||
"secureMode": "wpa2PSK",
|
|
||||||
"vlanId": 1,
|
|
||||||
"keyStr": "testing123",
|
|
||||||
"broadcastSsid": "enabled",
|
|
||||||
"keyRefresh": 0,
|
|
||||||
"noLocalSubnets": false,
|
|
||||||
"radiusServiceName": null,
|
|
||||||
"captivePortalId": null,
|
|
||||||
"bandwidthLimitDown": 0,
|
|
||||||
"bandwidthLimitUp": 0,
|
|
||||||
"clientBandwidthLimitDown": 0,
|
|
||||||
"clientBandwidthLimitUp": 0,
|
|
||||||
"videoTrafficOnly": false,
|
|
||||||
"radioBasedConfigs": {
|
|
||||||
"is5GHz": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is2dot4GHz": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is5GHzU": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is5GHzL": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bonjourGatewayProfileId": null,
|
|
||||||
"enable80211w": null,
|
|
||||||
"wepConfig": null,
|
|
||||||
"forwardMode": null,
|
|
||||||
"profileType": "ssid"
|
|
||||||
},
|
|
||||||
"createdTimestamp": 1602113058718,
|
|
||||||
"lastModifiedTimestamp": 1602113059547,
|
|
||||||
"childProfileIds": [
|
|
||||||
10
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "Profile",
|
|
||||||
"id": 11,
|
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "ssid",
|
"profileType": "ssid",
|
||||||
"name": "TipWlan-cloud-3-radios",
|
"name": "TipWlan-cloud-3-radios",
|
||||||
@@ -75,18 +9,19 @@
|
|||||||
"model_type": "SsidConfiguration",
|
"model_type": "SsidConfiguration",
|
||||||
"ssid": "TipWlan-cloud-3-radios",
|
"ssid": "TipWlan-cloud-3-radios",
|
||||||
"appliedRadios": [
|
"appliedRadios": [
|
||||||
"is5GHzL",
|
"is5GHzU",
|
||||||
"is2dot4GHz",
|
"is2dot4GHz",
|
||||||
"is5GHzU"
|
"is5GHzL"
|
||||||
],
|
],
|
||||||
"ssidAdminState": "enabled",
|
"ssidAdminState": "enabled",
|
||||||
"secureMode": "open",
|
"secureMode": "wpa2OnlyPSK",
|
||||||
"vlanId": 1,
|
"vlanId": 1,
|
||||||
"keyStr": null,
|
"keyStr": "openwifi",
|
||||||
"broadcastSsid": "enabled",
|
"broadcastSsid": "enabled",
|
||||||
"keyRefresh": 0,
|
"keyRefresh": 0,
|
||||||
"noLocalSubnets": false,
|
"noLocalSubnets": false,
|
||||||
"radiusServiceName": null,
|
"radiusServiceId": 0,
|
||||||
|
"radiusAcountingServiceInterval": 60,
|
||||||
"captivePortalId": null,
|
"captivePortalId": null,
|
||||||
"bandwidthLimitDown": 0,
|
"bandwidthLimitDown": 0,
|
||||||
"bandwidthLimitUp": 0,
|
"bandwidthLimitUp": 0,
|
||||||
@@ -94,7 +29,7 @@
|
|||||||
"clientBandwidthLimitUp": 0,
|
"clientBandwidthLimitUp": 0,
|
||||||
"videoTrafficOnly": false,
|
"videoTrafficOnly": false,
|
||||||
"radioBasedConfigs": {
|
"radioBasedConfigs": {
|
||||||
"is5GHz": {
|
"is5GHzU": {
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211r": null,
|
"enable80211r": null,
|
||||||
"enable80211k": null,
|
"enable80211k": null,
|
||||||
@@ -106,7 +41,7 @@
|
|||||||
"enable80211k": null,
|
"enable80211k": null,
|
||||||
"enable80211v": null
|
"enable80211v": null
|
||||||
},
|
},
|
||||||
"is5GHzU": {
|
"is5GHz": {
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211r": null,
|
"enable80211r": null,
|
||||||
"enable80211k": null,
|
"enable80211k": null,
|
||||||
@@ -122,13 +57,19 @@
|
|||||||
"bonjourGatewayProfileId": null,
|
"bonjourGatewayProfileId": null,
|
||||||
"enable80211w": null,
|
"enable80211w": null,
|
||||||
"wepConfig": null,
|
"wepConfig": null,
|
||||||
"forwardMode": null,
|
"forwardMode": "BRIDGE",
|
||||||
"profileType": "ssid"
|
"profileType": "ssid",
|
||||||
},
|
"radiusClientConfiguration": {
|
||||||
"createdTimestamp": 1602183994766,
|
"model_type": "RadiusNasConfiguration",
|
||||||
"lastModifiedTimestamp": 1602183994766,
|
"nasClientId": "DEFAULT",
|
||||||
"childProfileIds": [
|
"nasClientIp": "WAN_IP",
|
||||||
10
|
"userDefinedNasId": null,
|
||||||
]
|
"userDefinedNasIp": null,
|
||||||
|
"operatorId": null
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"createdTimestamp": 1612285248638,
|
||||||
|
"lastModifiedTimestamp": 1612285248638,
|
||||||
|
"childProfileIds": []
|
||||||
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,42 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"model_type": "Profile",
|
|
||||||
"id": 7,
|
|
||||||
"customerId": 2,
|
|
||||||
"profileType": "venue",
|
|
||||||
"name": "TipWlan-Hotspot20-Venue",
|
|
||||||
"details": {
|
|
||||||
"model_type": "VenueProfile",
|
|
||||||
"venueNameSet": [
|
|
||||||
{
|
|
||||||
"model_type": "VenueName",
|
|
||||||
"locale": "fr_CA",
|
|
||||||
"dupleIso3Language": "fra",
|
|
||||||
"dupleName": "Exemple de lieu",
|
|
||||||
"defaultDupleSeparator": ":",
|
|
||||||
"venueUrl": "http://www.example.com/info-fra",
|
|
||||||
"asDuple": "fra:Exemple de lieu"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "VenueName",
|
|
||||||
"locale": "en_CA",
|
|
||||||
"dupleIso3Language": "eng",
|
|
||||||
"dupleName": "Example venue",
|
|
||||||
"defaultDupleSeparator": ":",
|
|
||||||
"venueUrl": "http://www.example.com/info-eng",
|
|
||||||
"asDuple": "eng:Example venue"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"venueTypeAssignment": {
|
|
||||||
"model_type": "VenueTypeAssignment",
|
|
||||||
"venueDescription": "Research and Development Facility",
|
|
||||||
"venueGroupId": 2,
|
|
||||||
"venueTypeId": 8
|
|
||||||
},
|
|
||||||
"profileType": "venue"
|
|
||||||
},
|
|
||||||
"createdTimestamp": 1602113058725,
|
|
||||||
"lastModifiedTimestamp": 1602113058725,
|
|
||||||
"childProfileIds": []
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<artifactId>tip-wlan-cloud-root-pom</artifactId>
|
<artifactId>tip-wlan-cloud-root-pom</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
<relativePath>../../wlan-cloud-root</relativePath>
|
<relativePath>../../wlan-cloud-root</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>opensync-gateway-build</artifactId>
|
<artifactId>opensync-gateway-build</artifactId>
|
||||||
@@ -20,10 +20,10 @@
|
|||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
<module>../opensync-ext-interface</module>
|
<module>../opensync-ext-interface</module>
|
||||||
<module>../opensync-ext-static</module>
|
|
||||||
<module>../opensync-ext-cloud</module>
|
|
||||||
<module>../opensync-gateway</module>
|
<module>../opensync-gateway</module>
|
||||||
|
<module>../opensync-ext-static</module>
|
||||||
<module>../opensync-gateway-static-process</module>
|
<module>../opensync-gateway-static-process</module>
|
||||||
|
<module>../opensync-ext-cloud</module>
|
||||||
<module>../opensync-gateway-cloud-process</module>
|
<module>../opensync-gateway-cloud-process</module>
|
||||||
</modules>
|
</modules>
|
||||||
</profile>
|
</profile>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<artifactId>tip-wlan-cloud-root-pom</artifactId>
|
<artifactId>tip-wlan-cloud-root-pom</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
<relativePath>../../wlan-cloud-root</relativePath>
|
<relativePath>../../wlan-cloud-root</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>opensync-gateway-cloud-docker</artifactId>
|
<artifactId>opensync-gateway-cloud-docker</artifactId>
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<artifactId>opensync-gateway-cloud-process</artifactId>
|
<artifactId>opensync-gateway-cloud-process</artifactId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|||||||
@@ -30,6 +30,22 @@
|
|||||||
</triggeringPolicy>
|
</triggeringPolicy>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
<appender name="mqttMsgTracer" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
|
<file>/app/logs/mqttMsgTracer.log</file>
|
||||||
|
<append>true</append>
|
||||||
|
<encoder>
|
||||||
|
<pattern>%date %msg%n</pattern>
|
||||||
|
</encoder>
|
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
|
||||||
|
<fileNamePattern>/app/logs/mqttMsgTracer.%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">
|
<appender name="logfile" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
<file>/app/logs/opensyncgw.log</file>
|
<file>/app/logs/opensyncgw.log</file>
|
||||||
<append>true</append>
|
<append>true</append>
|
||||||
@@ -67,7 +83,7 @@
|
|||||||
<logger name="com.vmware.ovsdb.service.OvsdbConnectionInfo" level="OFF"/>
|
<logger name="com.vmware.ovsdb.service.OvsdbConnectionInfo" level="OFF"/>
|
||||||
<logger name="com.vmware.ovsdb.netty.OvsdbConnectionHandler" level="ERROR"/>
|
<logger name="com.vmware.ovsdb.netty.OvsdbConnectionHandler" level="ERROR"/>
|
||||||
|
|
||||||
<logger name="MQTT_DATA" level="DEBUG" additivity="false">
|
<logger name="MQTT_DATA" level="INFO" additivity="false">
|
||||||
<appender-ref ref="mqttDataFile"/>
|
<appender-ref ref="mqttDataFile"/>
|
||||||
</logger>
|
</logger>
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,13 @@ SSC_SERVER_HOST="${SSC_SERVER}"
|
|||||||
ALL_IN_ONE_HOST="${INTEGRATED_SERVER}"
|
ALL_IN_ONE_HOST="${INTEGRATED_SERVER}"
|
||||||
FILE_STORE_DIRECTORY="${FILE_STORE_DIRECTORY_INTERNAL:=/tmp/filestore}"
|
FILE_STORE_DIRECTORY="${FILE_STORE_DIRECTORY_INTERNAL:=/tmp/filestore}"
|
||||||
FILE_STORE_EXTERNAL_URL="${FILE_STORE_URL}"
|
FILE_STORE_EXTERNAL_URL="${FILE_STORE_URL}"
|
||||||
|
MQTT_BROKER_EXTERNAL_PORT="${MQTT_BROKER_EXTERNAL_PORT}"
|
||||||
|
OVSDB_EXTERNAL_PORT="${OVSDB_EXTERNAL_PORT}"
|
||||||
|
OFF_CHANNEL_REPORTING_INTERVAL_SECONDS="${OFF_CHANNEL_REPORTING_INTERVAL_SECONDS:=120}"
|
||||||
|
REPORTING_INTERVAL_SECONDS="${REPORTING_INTERVAL_SECONDS:=60}"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
OVSDB_PROPS=" "
|
OVSDB_PROPS=" "
|
||||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.managerAddr=$OVSDB_MANAGER_HOST"
|
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.managerAddr=$OVSDB_MANAGER_HOST"
|
||||||
@@ -33,6 +40,8 @@ OVSDB_PROPS+=" -Dtip.wlan.ovsdb.configFileName=/app/opensync/config_2_ssids.json
|
|||||||
MQTT_PROPS=" "
|
MQTT_PROPS=" "
|
||||||
MQTT_PROPS+=" -Dtip.wlan.mqttBroker.address.internal=$MQTT_BROKER_HOST_INTERNAL"
|
MQTT_PROPS+=" -Dtip.wlan.mqttBroker.address.internal=$MQTT_BROKER_HOST_INTERNAL"
|
||||||
MQTT_PROPS+=" -Dtip.wlan.mqttBroker.address.external=$MQTT_BROKER_HOST_EXTERNAL"
|
MQTT_PROPS+=" -Dtip.wlan.mqttBroker.address.external=$MQTT_BROKER_HOST_EXTERNAL"
|
||||||
|
MQTT_PROPS+=" -Dtip.wlan.ovsdb.externalPort=$OVSDB_EXTERNAL_PORT"
|
||||||
|
MQTT_PROPS+=" -Dtip.wlan.mqttBroker.externalPort=$MQTT_BROKER_EXTERNAL_PORT"
|
||||||
MQTT_PROPS+=" -Dtip.wlan.mqttBroker.listenPort=1883"
|
MQTT_PROPS+=" -Dtip.wlan.mqttBroker.listenPort=1883"
|
||||||
|
|
||||||
LOGBACK_CONFIG_FILE="${LOGBACK_CONFIG_FILE:=/app/opensync/logback.xml}"
|
LOGBACK_CONFIG_FILE="${LOGBACK_CONFIG_FILE:=/app/opensync/logback.xml}"
|
||||||
@@ -99,6 +108,8 @@ 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_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_type=$DEFAULT_LAN_TYPE"
|
||||||
PROV_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_lan_name=$DEFAULT_LAN_NAME"
|
PROV_PROPS+=" -Dtip.wlan.ovsdb.wifi-iface.default_lan_name=$DEFAULT_LAN_NAME"
|
||||||
|
PROV_PROPS+=" -Dtip.wlan.defaultOffChannelReportingIntervalSeconds=$OFF_CHANNEL_REPORTING_INTERVAL_SECONDS"
|
||||||
|
PROV_PROPS+=" -Dtip.wlan.defaultReportingIntervalSeconds=$REPORTING_INTERVAL_SECONDS"
|
||||||
|
|
||||||
PROV_PROPS+=" -Dtip.wlan.ovsdb.autoProvisionedCustomerId=$AUTO_PROV_CUSTOMER_ID"
|
PROV_PROPS+=" -Dtip.wlan.ovsdb.autoProvisionedCustomerId=$AUTO_PROV_CUSTOMER_ID"
|
||||||
|
|
||||||
@@ -106,9 +117,16 @@ FILE_STORE_PROPS=" "
|
|||||||
FILE_STORE_PROPS+=" -Dtip.wlan.fileStoreDirectory=$FILE_STORE_DIRECTORY"
|
FILE_STORE_PROPS+=" -Dtip.wlan.fileStoreDirectory=$FILE_STORE_DIRECTORY"
|
||||||
FILE_STORE_PROPS+=" -Dtip.wlan.externalFileStoreURL=$FILE_STORE_EXTERNAL_URL"
|
FILE_STORE_PROPS+=" -Dtip.wlan.externalFileStoreURL=$FILE_STORE_EXTERNAL_URL"
|
||||||
|
|
||||||
REMOTE_DEBUG_PORT=5005
|
REMOTE_DEBUG_PORT=${REMOTE_DEBUG_PORT:-'5005'}
|
||||||
REMOTE_DEBUG=" -agentlib:jdwp=transport=dt_socket,server=y,address=*:$REMOTE_DEBUG_PORT,suspend=n"
|
if [ "x$REMOTE_DEBUG_ENABLE" == "xtrue" ]
|
||||||
|
then
|
||||||
|
REMOTE_DEBUG=" -agentlib:jdwp=transport=dt_socket,server=y,address=*:$REMOTE_DEBUG_PORT,suspend=n"
|
||||||
|
else
|
||||||
|
REMOTE_DEBUG=" "
|
||||||
|
fi
|
||||||
|
|
||||||
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"
|
JVM_EXTRA_PROPS=" ${JVM_MEM_OPTIONS:- } "
|
||||||
|
|
||||||
|
export ALL_PROPS="$JVM_EXTRA_PROPS $PROFILES $SSL_PROPS $CLIENT_MQTT_SSL_PROPS $OVSDB_PROPS $MQTT_PROPS $LOGGING_PROPS $RESTAPI_PROPS $SPRING_EXTRA_PROPS $HOST_PROPS $PROV_PROPS $FILE_STORE_PROPS $REMOTE_DEBUG"
|
||||||
|
|
||||||
java $ALL_PROPS -jar app.jar
|
java $ALL_PROPS -jar app.jar
|
||||||
|
|||||||
1
opensync-gateway-cloud-process/.gitignore
vendored
1
opensync-gateway-cloud-process/.gitignore
vendored
@@ -1 +0,0 @@
|
|||||||
/target/
|
|
||||||
@@ -1,11 +1,9 @@
|
|||||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<artifactId>tip-wlan-cloud-root-pom</artifactId>
|
<artifactId>tip-wlan-cloud-root-pom</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
<relativePath>../../wlan-cloud-root</relativePath>
|
<relativePath>../../wlan-cloud-root</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>opensync-gateway-cloud-process</artifactId>
|
<artifactId>opensync-gateway-cloud-process</artifactId>
|
||||||
@@ -18,99 +16,99 @@
|
|||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<!-- <dependency> <groupId>com.telecominfraproject.wlan</groupId> <artifactId>opensync-gateway</artifactId>
|
<!-- <dependency> <groupId>com.telecominfraproject.wlan</groupId> <artifactId>opensync-gateway</artifactId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version> </dependency> -->
|
<version>0.0.1-SNAPSHOT</version> </dependency> -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<artifactId>opensync-ext-cloud</artifactId>
|
<artifactId>opensync-ext-cloud</artifactId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>filestore-service</artifactId>
|
<artifactId>filestore-service</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>customer-service-remote</artifactId>
|
<artifactId>customer-service-remote</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>location-service-remote</artifactId>
|
<artifactId>location-service-remote</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>equipment-service-remote</artifactId>
|
<artifactId>equipment-service-remote</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>profile-service-remote</artifactId>
|
<artifactId>profile-service-remote</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>portal-user-service-remote</artifactId>
|
<artifactId>portal-user-service-remote</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>service-metric-service-remote</artifactId>
|
<artifactId>service-metric-service-remote</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>system-event-service-remote</artifactId>
|
<artifactId>system-event-service-remote</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>alarm-service-remote</artifactId>
|
<artifactId>alarm-service-remote</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>status-service-remote</artifactId>
|
<artifactId>status-service-remote</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>client-service-remote</artifactId>
|
<artifactId>client-service-remote</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>routing-service-remote</artifactId>
|
<artifactId>routing-service-remote</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>firmware-service-remote</artifactId>
|
<artifactId>firmware-service-remote</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>manufacturer-service-remote</artifactId>
|
<artifactId>manufacturer-service-remote</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>cloud-event-dispatcher-remote</artifactId>
|
<artifactId>cloud-event-dispatcher-remote</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ tip.wlan.manufacturerServiceBaseUrl=https://localhost:9092
|
|||||||
tip.wlan.portalUserServiceBaseUrl=https://localhost:9092
|
tip.wlan.portalUserServiceBaseUrl=https://localhost:9092
|
||||||
|
|
||||||
tip.wlan.fileStoreDirectory=/tmp/tip-wlan-filestore
|
tip.wlan.fileStoreDirectory=/tmp/tip-wlan-filestore
|
||||||
tip.wlan.externalFileStoreURL=https://localhost:9096
|
tip.wlan.externalFileStoreURL=https://localhost:9092
|
||||||
|
|
||||||
#server.session-timeout= # session timeout in seconds
|
#server.session-timeout= # session timeout in seconds
|
||||||
#server.tomcat.max-threads = 0 # number of threads in protocol handler
|
#server.tomcat.max-threads = 0 # number of threads in protocol handler
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
<listEntry value="1"/>
|
<listEntry value="1"/>
|
||||||
</listAttribute>
|
</listAttribute>
|
||||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/>
|
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/>
|
||||||
|
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/>
|
||||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/>
|
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/>
|
||||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
|
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
|
||||||
<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
|
<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
<logger name="com.vmware.ovsdb.service.OvsdbConnectionInfo" level="OFF"/>
|
<logger name="com.vmware.ovsdb.service.OvsdbConnectionInfo" level="OFF"/>
|
||||||
<logger name="com.vmware.ovsdb.netty.OvsdbConnectionHandler" level="ERROR"/>
|
<logger name="com.vmware.ovsdb.netty.OvsdbConnectionHandler" level="ERROR"/>
|
||||||
|
|
||||||
<logger name="MQTT_DATA" level="DEBUG"/>
|
<logger name="MQTT_DATA" level="INFO"/>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<logger name="org.springframework.security.web.authentication.preauth" level="DEBUG"/>
|
<logger name="org.springframework.security.web.authentication.preauth" level="DEBUG"/>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<artifactId>tip-wlan-cloud-root-pom</artifactId>
|
<artifactId>tip-wlan-cloud-root-pom</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
<relativePath>../../wlan-cloud-root</relativePath>
|
<relativePath>../../wlan-cloud-root</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>opensync-gateway-static-docker</artifactId>
|
<artifactId>opensync-gateway-static-docker</artifactId>
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<artifactId>opensync-gateway-static-process</artifactId>
|
<artifactId>opensync-gateway-static-process</artifactId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
<artifactId>docker-maven-plugin</artifactId>
|
<artifactId>docker-maven-plugin</artifactId>
|
||||||
<version>${docker.fabric.version}</version>
|
<version>${docker.fabric.version}</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<verbose>true</verbose>
|
<verbose>false</verbose>
|
||||||
<apiVersion>1.23</apiVersion>
|
<apiVersion>1.23</apiVersion>
|
||||||
<images>
|
<images>
|
||||||
<image>
|
<image>
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"model_type": "Equipment",
|
"model_type": "Equipment",
|
||||||
"id": 51,
|
"id": 1,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileId": 5,
|
"profileId": 8,
|
||||||
"locationId": 8,
|
"locationId": 8,
|
||||||
"equipmentType": "AP",
|
"equipmentType": "AP",
|
||||||
"inventoryId": "Test_Client_21P10C68818122",
|
"inventoryId": "Open_AP_21P10C68818122",
|
||||||
"name": "Test_Client_21P10C68818122",
|
"name": "Open_AP_21P10C68818122",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "ApElementConfiguration",
|
"model_type": "ApElementConfiguration",
|
||||||
"equipmentModel": "EA8300-CA",
|
"equipmentModel": "EA8300-CA",
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
"staticDnsIp1": null,
|
"staticDnsIp1": null,
|
||||||
"staticDnsIp2": null,
|
"staticDnsIp2": null,
|
||||||
"peerInfoList": [],
|
"peerInfoList": [],
|
||||||
"deviceName": "Default Device Name",
|
"deviceName": "Open_AP_21P10C68818122",
|
||||||
"locationData": null,
|
"locationData": null,
|
||||||
"locallyConfiguredMgmtVlan": 0,
|
"locallyConfiguredMgmtVlan": 0,
|
||||||
"locallyConfigured": false,
|
"locallyConfigured": false,
|
||||||
@@ -32,73 +32,246 @@
|
|||||||
"costSavingEventsEnabled": true,
|
"costSavingEventsEnabled": true,
|
||||||
"forwardMode": "BRIDGE",
|
"forwardMode": "BRIDGE",
|
||||||
"radioMap": {
|
"radioMap": {
|
||||||
|
"is5GHzU": {
|
||||||
|
"model_type": "ElementRadioConfiguration",
|
||||||
|
"radioType": "is5GHzU",
|
||||||
|
"channelNumber": 149,
|
||||||
|
"manualChannelNumber": 149,
|
||||||
|
"backupChannelNumber": 157,
|
||||||
|
"manualBackupChannelNumber": 157,
|
||||||
|
"rxCellSizeDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"probeResponseThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"clientDisconnectThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"eirpTxPower": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": 18
|
||||||
|
},
|
||||||
|
"perimeterDetectionEnabled": true,
|
||||||
|
"bestAPSteerType": "both",
|
||||||
|
"deauthAttackDetection": null,
|
||||||
|
"allowedChannelsPowerLevels": [
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 161,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 100,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 132,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 165,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 104,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 136,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 108,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 140,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 112,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 144,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 116,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 149,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 153,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 157,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"is2dot4GHz": {
|
"is2dot4GHz": {
|
||||||
"model_type": "ElementRadioConfiguration",
|
"model_type": "ElementRadioConfiguration",
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is2dot4GHz",
|
||||||
"channelNumber": 6,
|
"channelNumber": 6,
|
||||||
"manualChannelNumber": 6,
|
"manualChannelNumber": 6,
|
||||||
"backupChannelNumber": 11,
|
"backupChannelNumber": 11,
|
||||||
"bannedChannels": [],
|
"manualBackupChannelNumber": 11,
|
||||||
"allowedChannels": [],
|
|
||||||
"rxCellSizeDb": {
|
"rxCellSizeDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"probeResponseThresholdDb": {
|
"probeResponseThresholdDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"clientDisconnectThresholdDb": {
|
"clientDisconnectThresholdDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"eirpTxPower": {
|
"eirpTxPower": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": 32
|
"value": 18
|
||||||
},
|
},
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"bestAPSteerType": "both",
|
"bestAPSteerType": "both",
|
||||||
"deauthAttackDetection": null,
|
"deauthAttackDetection": null,
|
||||||
"allowedChannelsPowerLevels": [],
|
"allowedChannelsPowerLevels": [
|
||||||
"activeChannel": 6
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 1,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
},
|
},
|
||||||
"is5GHzU": {
|
{
|
||||||
"model_type": "ElementRadioConfiguration",
|
"model_type": "ChannelPowerLevel",
|
||||||
"radioType": "is5GHzU",
|
"channelNumber": 2,
|
||||||
"channelNumber": 149,
|
"powerLevel": 18,
|
||||||
"manualChannelNumber": 149,
|
"dfs": false,
|
||||||
"backupChannelNumber": 154,
|
"channelWidth": 20
|
||||||
"bannedChannels": [],
|
|
||||||
"allowedChannels": [],
|
|
||||||
"rxCellSizeDb": {
|
|
||||||
"model_type": "SourceSelectionValue",
|
|
||||||
"source": "auto",
|
|
||||||
"value": -90
|
|
||||||
},
|
},
|
||||||
"probeResponseThresholdDb": {
|
{
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "ChannelPowerLevel",
|
||||||
"source": "auto",
|
"channelNumber": 3,
|
||||||
"value": -90
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
},
|
},
|
||||||
"clientDisconnectThresholdDb": {
|
{
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "ChannelPowerLevel",
|
||||||
"source": "auto",
|
"channelNumber": 4,
|
||||||
"value": -90
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
},
|
},
|
||||||
"eirpTxPower": {
|
{
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "ChannelPowerLevel",
|
||||||
"source": "auto",
|
"channelNumber": 5,
|
||||||
"value": 32
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
},
|
},
|
||||||
"perimeterDetectionEnabled": true,
|
{
|
||||||
"bestAPSteerType": "both",
|
"model_type": "ChannelPowerLevel",
|
||||||
"deauthAttackDetection": null,
|
"channelNumber": 6,
|
||||||
"allowedChannelsPowerLevels": [],
|
"powerLevel": 18,
|
||||||
"activeChannel": 149
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 7,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 8,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 9,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 10,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 11,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"is5GHzL": {
|
"is5GHzL": {
|
||||||
"model_type": "ElementRadioConfiguration",
|
"model_type": "ElementRadioConfiguration",
|
||||||
@@ -106,33 +279,88 @@
|
|||||||
"channelNumber": 36,
|
"channelNumber": 36,
|
||||||
"manualChannelNumber": 36,
|
"manualChannelNumber": 36,
|
||||||
"backupChannelNumber": 44,
|
"backupChannelNumber": 44,
|
||||||
"bannedChannels": [],
|
"manualBackupChannelNumber": 44,
|
||||||
"allowedChannels": [],
|
|
||||||
"rxCellSizeDb": {
|
"rxCellSizeDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"probeResponseThresholdDb": {
|
"probeResponseThresholdDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"clientDisconnectThresholdDb": {
|
"clientDisconnectThresholdDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"eirpTxPower": {
|
"eirpTxPower": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": 32
|
"value": 18
|
||||||
},
|
},
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"bestAPSteerType": "both",
|
"bestAPSteerType": "both",
|
||||||
"deauthAttackDetection": null,
|
"deauthAttackDetection": null,
|
||||||
"allowedChannelsPowerLevels": [],
|
"allowedChannelsPowerLevels": [
|
||||||
"activeChannel": 36
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 52,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 36,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 56,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 40,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 60,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 44,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 64,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 48,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"advancedRadioMap": {
|
"advancedRadioMap": {
|
||||||
@@ -141,25 +369,30 @@
|
|||||||
"radioType": "is2dot4GHz",
|
"radioType": "is2dot4GHz",
|
||||||
"radioAdminState": "enabled",
|
"radioAdminState": "enabled",
|
||||||
"fragmentationThresholdBytes": 2346,
|
"fragmentationThresholdBytes": 2346,
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
"uapsdState": "enabled",
|
||||||
"stationIsolation": "disabled",
|
"stationIsolation": "disabled",
|
||||||
|
"multicastRate": {
|
||||||
|
"model_type": "SourceSelectionMulticast",
|
||||||
|
"source": "profile",
|
||||||
|
"value": "auto"
|
||||||
|
},
|
||||||
"managementRate": {
|
"managementRate": {
|
||||||
"model_type": "SourceSelectionManagement",
|
"model_type": "SourceSelectionManagement",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": "auto"
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "SourceSelectionSteering",
|
"model_type": "SourceSelectionSteering",
|
||||||
"source": "auto",
|
"source": "manual",
|
||||||
"value": {
|
"value": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 30,
|
"dropInSnrPercentage": 20,
|
||||||
"minLoadFactor": 40
|
"minLoadFactor": 50
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"legacyBSSRate": "enabled",
|
"legacyBSSRate": "enabled",
|
||||||
|
"dtimPeriod": 2,
|
||||||
"deauthAttackDetection": null
|
"deauthAttackDetection": null
|
||||||
},
|
},
|
||||||
"is5GHzU": {
|
"is5GHzU": {
|
||||||
@@ -167,17 +400,21 @@
|
|||||||
"radioType": "is5GHzU",
|
"radioType": "is5GHzU",
|
||||||
"radioAdminState": "enabled",
|
"radioAdminState": "enabled",
|
||||||
"fragmentationThresholdBytes": 2346,
|
"fragmentationThresholdBytes": 2346,
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
"uapsdState": "enabled",
|
||||||
"stationIsolation": "disabled",
|
"stationIsolation": "disabled",
|
||||||
|
"multicastRate": {
|
||||||
|
"model_type": "SourceSelectionMulticast",
|
||||||
|
"source": "profile",
|
||||||
|
"value": "auto"
|
||||||
|
},
|
||||||
"managementRate": {
|
"managementRate": {
|
||||||
"model_type": "SourceSelectionManagement",
|
"model_type": "SourceSelectionManagement",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": "auto"
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "SourceSelectionSteering",
|
"model_type": "SourceSelectionSteering",
|
||||||
"source": "auto",
|
"source": "manual",
|
||||||
"value": {
|
"value": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
@@ -186,6 +423,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"legacyBSSRate": "enabled",
|
"legacyBSSRate": "enabled",
|
||||||
|
"dtimPeriod": 2,
|
||||||
"deauthAttackDetection": null
|
"deauthAttackDetection": null
|
||||||
},
|
},
|
||||||
"is5GHzL": {
|
"is5GHzL": {
|
||||||
@@ -193,17 +431,21 @@
|
|||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"radioAdminState": "enabled",
|
"radioAdminState": "enabled",
|
||||||
"fragmentationThresholdBytes": 2346,
|
"fragmentationThresholdBytes": 2346,
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
"uapsdState": "enabled",
|
||||||
"stationIsolation": "disabled",
|
"stationIsolation": "disabled",
|
||||||
|
"multicastRate": {
|
||||||
|
"model_type": "SourceSelectionMulticast",
|
||||||
|
"source": "profile",
|
||||||
|
"value": "auto"
|
||||||
|
},
|
||||||
"managementRate": {
|
"managementRate": {
|
||||||
"model_type": "SourceSelectionManagement",
|
"model_type": "SourceSelectionManagement",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": "auto"
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "SourceSelectionSteering",
|
"model_type": "SourceSelectionSteering",
|
||||||
"source": "auto",
|
"source": "manual",
|
||||||
"value": {
|
"value": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
@@ -212,13 +454,19 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"legacyBSSRate": "enabled",
|
"legacyBSSRate": "enabled",
|
||||||
|
"dtimPeriod": 2,
|
||||||
"deauthAttackDetection": null
|
"deauthAttackDetection": null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latitude": null,
|
"latitude": null,
|
||||||
"longitude": null,
|
"longitude": null,
|
||||||
|
"baseMacAddress": {
|
||||||
|
"model_type": "MacAddress",
|
||||||
|
"address": "JPWi7y5T",
|
||||||
|
"addressAsString": "24:f5:a2:ef:2e:53"
|
||||||
|
},
|
||||||
"serial": "21P10C68818122",
|
"serial": "21P10C68818122",
|
||||||
"createdTimestamp": 1591653239821,
|
"createdTimestamp": 1612285288821,
|
||||||
"lastModifiedTimestamp": 1591653241398
|
"lastModifiedTimestamp": 1612285293922
|
||||||
}
|
}
|
||||||
@@ -1,67 +1,61 @@
|
|||||||
{
|
{
|
||||||
"model_type" : "Location",
|
"model_type": "Location",
|
||||||
"id" : 8,
|
"id": 8,
|
||||||
"parentId" : 0,
|
"parentId": 0,
|
||||||
"locationType" : "SITE",
|
"locationType": "SITE",
|
||||||
"customerId" : 2,
|
"customerId": 2,
|
||||||
"name" : "Ottawa",
|
"name": "Ottawa",
|
||||||
"details" : {
|
"details": {
|
||||||
"model_type" : "LocationDetails",
|
"model_type": "LocationDetails",
|
||||||
"countryCode" : "ca",
|
"countryCode": "CA",
|
||||||
"maintenanceWindow" : null,
|
"dailyActivityDetails": {
|
||||||
"rrmEnabled" : true,
|
"SUNDAY": {
|
||||||
"dailyRebalancingDetails" : {
|
"model_type": "LocationActivityDetails",
|
||||||
"SUNDAY" : {
|
"busyTime": "13:30",
|
||||||
"model_type" : "LocationActivityDetails",
|
"quietTime": "3:00",
|
||||||
"busyTime" : "13:30",
|
"timezone": "US/Eastern"
|
||||||
"quietTime" : "3:30",
|
|
||||||
"timezone" : "US/Eastern",
|
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"MONDAY" : {
|
"MONDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"TUESDAY" : {
|
"TUESDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"WEDNESDAY" : {
|
"WEDNESDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"THURSDAY" : {
|
"THURSDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"FRIDAY" : {
|
"FRIDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"SATURDAY" : {
|
"SATURDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"createdTimestamp" : 1590607043540,
|
"maintenanceWindow": null,
|
||||||
"lastModifiedTimestamp" : 1590607043540
|
"rrmEnabled": true,
|
||||||
|
"timezone": "US/Eastern"
|
||||||
|
},
|
||||||
|
"createdTimestamp": 1612285243534,
|
||||||
|
"lastModifiedTimestamp": 1612285243534
|
||||||
}
|
}
|
||||||
@@ -10,55 +10,48 @@
|
|||||||
"countryCode" : "usa",
|
"countryCode" : "usa",
|
||||||
"maintenanceWindow" : null,
|
"maintenanceWindow" : null,
|
||||||
"rrmEnabled" : true,
|
"rrmEnabled" : true,
|
||||||
"dailyRebalancingDetails" : {
|
"dailyActivityDetails" : {
|
||||||
"SUNDAY" : {
|
"SUNDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"MONDAY" : {
|
"MONDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"TUESDAY" : {
|
"TUESDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"WEDNESDAY" : {
|
"WEDNESDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"THURSDAY" : {
|
"THURSDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"FRIDAY" : {
|
"FRIDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"SATURDAY" : {
|
"SATURDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 17,
|
"id": 8,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "equipment_ap",
|
"profileType": "equipment_ap",
|
||||||
"name": "ApProfile-3-radios",
|
"name": "ApProfile-3-radios",
|
||||||
@@ -37,14 +37,22 @@
|
|||||||
"bestAPSteerType": "both"
|
"bestAPSteerType": "both"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"greTunnelConfigurations": [
|
||||||
|
{
|
||||||
|
"model_type": "GreTunnelConfiguration",
|
||||||
|
"greTunnelName": "gre1",
|
||||||
|
"greRemoteInetAddr": "192.168.1.101",
|
||||||
|
"vlanIdsInGreTunnel": [
|
||||||
|
100
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"profileType": "equipment_ap"
|
"profileType": "equipment_ap"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182806348,
|
"createdTimestamp": 1612285248925,
|
||||||
"lastModifiedTimestamp": 1602182806348,
|
"lastModifiedTimestamp": 1612285628377,
|
||||||
"childProfileIds": [
|
"childProfileIds": [
|
||||||
2,
|
2,
|
||||||
5,
|
4
|
||||||
11,
|
|
||||||
13
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -1,135 +1,58 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 14,
|
"id": 5,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "captive_portal",
|
"profileType": "captive_portal",
|
||||||
"name": "Captive-portal",
|
"name": "Captive-portal",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "CaptivePortalConfiguration",
|
"model_type": "CaptivePortalConfiguration",
|
||||||
"name": "Captive-portal",
|
"name": "Default",
|
||||||
"browserTitle": "Access the network as Guest",
|
"browserTitle": "Captive-portal",
|
||||||
"headerContent": "Captive Portal",
|
"headerContent": "Captive Portal",
|
||||||
"userAcceptancePolicy": "Use this network at your own risk. No warranty of any kind.",
|
"userAcceptancePolicy": "Please agree to the following terms for using this network:",
|
||||||
"successPageMarkdownText": "Welcome to the network",
|
"successPageMarkdownText": "You are now authorized and connected to the network.",
|
||||||
"redirectURL": "",
|
"redirectURL": "https://www.google.com",
|
||||||
"externalCaptivePortalURL": null,
|
"externalCaptivePortalURL": null,
|
||||||
"sessionTimeoutInMinutes": 60,
|
"sessionTimeoutInMinutes": 10,
|
||||||
"logoFile": null,
|
"logoFile": {
|
||||||
"backgroundFile": null,
|
|
||||||
"walledGardenAllowlist": [],
|
|
||||||
"usernamePasswordFile": {
|
|
||||||
"model_type": "ManagedFileInfo",
|
"model_type": "ManagedFileInfo",
|
||||||
"md5checksum": null,
|
"md5checksum": null,
|
||||||
"lastModifiedTimestamp": null,
|
"lastModifiedTimestamp": null,
|
||||||
"apExportUrl": "userList",
|
"apExportUrl": "/filestore/tip-logo-mobile",
|
||||||
"fileCategory": "UsernamePasswordList",
|
"fileCategory": "CaptivePortalLogo",
|
||||||
"fileType": "TEXT",
|
"fileType": "PNG",
|
||||||
"altSlot": true
|
"altSlot": false
|
||||||
},
|
},
|
||||||
|
"backgroundFile": {
|
||||||
|
"model_type": "ManagedFileInfo",
|
||||||
|
"md5checksum": null,
|
||||||
|
"lastModifiedTimestamp": null,
|
||||||
|
"apExportUrl": "/filestore/tip-logo",
|
||||||
|
"fileCategory": "CaptivePortalBackground",
|
||||||
|
"fileType": "PNG",
|
||||||
|
"altSlot": false
|
||||||
|
},
|
||||||
|
"walledGardenAllowlist": [
|
||||||
|
],
|
||||||
|
"usernamePasswordFile": null,
|
||||||
"authenticationType": "guest",
|
"authenticationType": "guest",
|
||||||
"radiusAuthMethod": "CHAP",
|
"radiusAuthMethod": "CHAP",
|
||||||
"maxUsersWithSameCredentials": 42,
|
"maxUsersWithSameCredentials": 3,
|
||||||
"externalPolicyFile": null,
|
"externalPolicyFile": null,
|
||||||
"backgroundPosition": "left_top",
|
"backgroundPosition": "left_top",
|
||||||
"backgroundRepeat": "no_repeat",
|
"backgroundRepeat": "no_repeat",
|
||||||
"radiusServiceName": null,
|
"radiusServiceId": 0,
|
||||||
"expiryType": "unlimited",
|
"expiryType": "time_limited",
|
||||||
"userList": [
|
"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
|
"macAllowList": [
|
||||||
},
|
|
||||||
{
|
|
||||||
"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"
|
"profileType": "captive_portal"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602183994959,
|
"createdTimestamp": 1611857459118,
|
||||||
"lastModifiedTimestamp": 1602183994959,
|
"lastModifiedTimestamp": 1611857459118,
|
||||||
"childProfileIds": []
|
"childProfileIds": [
|
||||||
}
|
]
|
||||||
|
}
|
||||||
]
|
]
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 10,
|
"id": 37,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "hotspot_2pt0",
|
"profileType": "passpoint",
|
||||||
"name": "TipWlan-Hotspot20-Config",
|
"name": "hotspot20-profile-2021-01-21T21:28:59.171Z",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "Hotspot2Profile",
|
"model_type": "PasspointProfile",
|
||||||
"enableInterworkingAndHs20": true,
|
"enableInterworkingAndHs20": true,
|
||||||
"hessid": null,
|
"hessid": null,
|
||||||
"accessNetworkType": "free_public_network",
|
"passpointAccessNetworkType": "free_public_network",
|
||||||
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
|
"passpointNetworkAuthenticationType": "acceptance_of_terms_and_conditions",
|
||||||
"additionalStepsRequiredForAccess": 0,
|
"additionalStepsRequiredForAccess": 0,
|
||||||
"deauthRequestTimeout": 0,
|
"deauthRequestTimeout": 0,
|
||||||
"operatingClass": 0,
|
"operatingClass": 0,
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"internetConnectivity": true,
|
"internetConnectivity": true,
|
||||||
"connectionCapabilitySet": [
|
"connectionCapabilitySet": [
|
||||||
{
|
{
|
||||||
"model_type": "ConnectionCapability",
|
"model_type": "PasspointConnectionCapability",
|
||||||
"connectionCapabilitiesPortNumber": 8888,
|
"connectionCapabilitiesPortNumber": 8888,
|
||||||
"connectionCapabilitiesIpProtocol": "TCP",
|
"connectionCapabilitiesIpProtocol": "TCP",
|
||||||
"connectionCapabilitiesStatus": "open"
|
"connectionCapabilitiesStatus": "open"
|
||||||
@@ -45,28 +45,27 @@
|
|||||||
"disableDownstreamGroupAddressedForwarding": false,
|
"disableDownstreamGroupAddressedForwarding": false,
|
||||||
"enable2pt4GHz": true,
|
"enable2pt4GHz": true,
|
||||||
"enable5GHz": true,
|
"enable5GHz": true,
|
||||||
"associatedAccessSsidNames": [
|
"associatedAccessSsidProfileIds": [
|
||||||
"TipWlan-cloud-hotspot-access"
|
32
|
||||||
],
|
],
|
||||||
"osuSsidName": "TipWlan-cloud-3-radios",
|
"osuSsidProfileId": 31,
|
||||||
"operatorProfileName": "TipWlan-Hotspot20-Operator",
|
"passpointOperatorProfileId": 34,
|
||||||
"venueProfileName": "TipWlan-Hotspot20-Venue",
|
"passpointVenueProfileId": 33,
|
||||||
"idProviderProfileNames": [
|
"passpointOsuProviderProfileIds": [
|
||||||
"TipWlan-Hotspot20-OSU-Provider-2",
|
35,
|
||||||
"TipWlan-Hotspot20-OSU-Provider"
|
36
|
||||||
],
|
],
|
||||||
"profileType": "hotspot_2pt0",
|
"accessNetworkType": "free_public_network",
|
||||||
"associatedSsids": [
|
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
|
||||||
"TipWlan-cloud-hotspot-access"
|
"profileType": "passpoint"
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182806040,
|
"createdTimestamp": 0,
|
||||||
"lastModifiedTimestamp": 1602182806040,
|
"lastModifiedTimestamp": 1611264539331,
|
||||||
"childProfileIds": [
|
"childProfileIds": [
|
||||||
6,
|
33,
|
||||||
7,
|
34,
|
||||||
8,
|
35,
|
||||||
9
|
36
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1,16 +1,15 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 8,
|
"id": 35,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "id_provider",
|
"profileType": "passpoint_osu_id_provider",
|
||||||
"name": "TipWlan-Hotspot20-OSU-Provider",
|
"name": "provider1-profile-2021-01-21T21:28:59.057Z",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "Hotspot20IdProviderProfile",
|
"model_type": "PasspointOsuProviderProfile",
|
||||||
"domainName": "rogers.com",
|
|
||||||
"mccMncList": [
|
"mccMncList": [
|
||||||
{
|
{
|
||||||
"model_type": "MccMnc",
|
"model_type": "PasspointMccMnc",
|
||||||
"mcc": 302,
|
"mcc": 302,
|
||||||
"mnc": 720,
|
"mnc": 720,
|
||||||
"iso": "ca",
|
"iso": "ca",
|
||||||
@@ -22,7 +21,7 @@
|
|||||||
],
|
],
|
||||||
"naiRealmList": [
|
"naiRealmList": [
|
||||||
{
|
{
|
||||||
"model_type": "NaiRealmInformation",
|
"model_type": "PasspointNaiRealmInformation",
|
||||||
"naiRealms": [
|
"naiRealms": [
|
||||||
"rogers.com"
|
"rogers.com"
|
||||||
],
|
],
|
||||||
@@ -44,7 +43,7 @@
|
|||||||
],
|
],
|
||||||
"osuIconList": [
|
"osuIconList": [
|
||||||
{
|
{
|
||||||
"model_type": "OsuIcon",
|
"model_type": "PasspointOsuIcon",
|
||||||
"iconWidth": 32,
|
"iconWidth": 32,
|
||||||
"iconHeight": 32,
|
"iconHeight": 32,
|
||||||
"languageCode": "eng",
|
"languageCode": "eng",
|
||||||
@@ -55,7 +54,7 @@
|
|||||||
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "OsuIcon",
|
"model_type": "PasspointOsuIcon",
|
||||||
"iconWidth": 32,
|
"iconWidth": 32,
|
||||||
"iconHeight": 32,
|
"iconHeight": 32,
|
||||||
"languageCode": "fra",
|
"languageCode": "fra",
|
||||||
@@ -66,7 +65,7 @@
|
|||||||
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "OsuIcon",
|
"model_type": "PasspointOsuIcon",
|
||||||
"iconWidth": 32,
|
"iconWidth": 32,
|
||||||
"iconHeight": 32,
|
"iconHeight": 32,
|
||||||
"languageCode": "eng",
|
"languageCode": "eng",
|
||||||
@@ -77,19 +76,19 @@
|
|||||||
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
|
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"osuServerUri": "https://example.com/osu/rogers/",
|
"osuServerUri": "https://example.com/osu/rogers",
|
||||||
"osuFriendlyName": [
|
"osuFriendlyName": [
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "en_CA",
|
"locale": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleIso3Language": "eng",
|
||||||
"dupleName": "Example provider rogers",
|
"dupleName": "Example provider rogers",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "eng:Example provider rogers"
|
"asDuple": "eng:Example provider rogers"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "fr_CA",
|
"locale": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleIso3Language": "fra",
|
||||||
"dupleName": "Exemple de fournisseur rogers",
|
"dupleName": "Exemple de fournisseur rogers",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
@@ -104,40 +103,43 @@
|
|||||||
],
|
],
|
||||||
"osuServiceDescription": [
|
"osuServiceDescription": [
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "en_CA",
|
"locale": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleIso3Language": "eng",
|
||||||
"dupleName": "Example services rogers",
|
"dupleName": "Example services rogers",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "eng:Example services rogers"
|
"asDuple": "eng:Example services rogers"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "fr_CA",
|
"locale": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleIso3Language": "fra",
|
||||||
"dupleName": "Exemples de services rogers",
|
"dupleName": "Exemples de services rogers",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "fra:Exemples de services rogers"
|
"asDuple": "fra:Exemples de services rogers"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"profileType": "id_provider"
|
"roamingOi": [
|
||||||
|
"BAA2D00100",
|
||||||
|
"BAA2D00000"
|
||||||
|
],
|
||||||
|
"profileType": "passpoint_osu_id_provider"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182805654,
|
"createdTimestamp": 1611264539070,
|
||||||
"lastModifiedTimestamp": 1602182805654,
|
"lastModifiedTimestamp": 1611264539070,
|
||||||
"childProfileIds": []
|
"childProfileIds": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 9,
|
"id": 36,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "id_provider",
|
"profileType": "passpoint_osu_id_provider",
|
||||||
"name": "TipWlan-Hotspot20-OSU-Provider-2",
|
"name": "provider2-profile-2021-01-21T21:28:59.118Z",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "Hotspot20IdProviderProfile",
|
"model_type": "PasspointOsuProviderProfile",
|
||||||
"domainName": "telus.com",
|
|
||||||
"mccMncList": [
|
"mccMncList": [
|
||||||
{
|
{
|
||||||
"model_type": "MccMnc",
|
"model_type": "PasspointMccMnc",
|
||||||
"mcc": 302,
|
"mcc": 302,
|
||||||
"mnc": 220,
|
"mnc": 220,
|
||||||
"iso": "ca",
|
"iso": "ca",
|
||||||
@@ -149,7 +151,7 @@
|
|||||||
],
|
],
|
||||||
"naiRealmList": [
|
"naiRealmList": [
|
||||||
{
|
{
|
||||||
"model_type": "NaiRealmInformation",
|
"model_type": "PasspointNaiRealmInformation",
|
||||||
"naiRealms": [
|
"naiRealms": [
|
||||||
"telus.com"
|
"telus.com"
|
||||||
],
|
],
|
||||||
@@ -171,7 +173,7 @@
|
|||||||
],
|
],
|
||||||
"osuIconList": [
|
"osuIconList": [
|
||||||
{
|
{
|
||||||
"model_type": "OsuIcon",
|
"model_type": "PasspointOsuIcon",
|
||||||
"iconWidth": 32,
|
"iconWidth": 32,
|
||||||
"iconHeight": 32,
|
"iconHeight": 32,
|
||||||
"languageCode": "eng",
|
"languageCode": "eng",
|
||||||
@@ -182,7 +184,7 @@
|
|||||||
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "OsuIcon",
|
"model_type": "PasspointOsuIcon",
|
||||||
"iconWidth": 32,
|
"iconWidth": 32,
|
||||||
"iconHeight": 32,
|
"iconHeight": 32,
|
||||||
"languageCode": "fra",
|
"languageCode": "fra",
|
||||||
@@ -193,7 +195,7 @@
|
|||||||
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "OsuIcon",
|
"model_type": "PasspointOsuIcon",
|
||||||
"iconWidth": 32,
|
"iconWidth": 32,
|
||||||
"iconHeight": 32,
|
"iconHeight": 32,
|
||||||
"languageCode": "eng",
|
"languageCode": "eng",
|
||||||
@@ -204,19 +206,19 @@
|
|||||||
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
|
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"osuServerUri": "https://example.com/osu/telus/",
|
"osuServerUri": "https://example.com/osu/telus",
|
||||||
"osuFriendlyName": [
|
"osuFriendlyName": [
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "en_CA",
|
"locale": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleIso3Language": "eng",
|
||||||
"dupleName": "Example provider telus",
|
"dupleName": "Example provider telus",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "eng:Example provider telus"
|
"asDuple": "eng:Example provider telus"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "fr_CA",
|
"locale": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleIso3Language": "fra",
|
||||||
"dupleName": "Exemple de fournisseur telus",
|
"dupleName": "Exemple de fournisseur telus",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
@@ -231,26 +233,31 @@
|
|||||||
],
|
],
|
||||||
"osuServiceDescription": [
|
"osuServiceDescription": [
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "en_CA",
|
"locale": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleIso3Language": "eng",
|
||||||
"dupleName": "Example services telus",
|
"dupleName": "Example services telus",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "eng:Example services telus"
|
"asDuple": "eng:Example services telus"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "fr_CA",
|
"locale": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleIso3Language": "fra",
|
||||||
"dupleName": "Exemples de services telus",
|
"dupleName": "Exemples de services telus",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "fra:Exemples de services telus"
|
"asDuple": "fra:Exemples de services telus"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"profileType": "id_provider"
|
"roamingOi": [
|
||||||
|
"004096",
|
||||||
|
"005014",
|
||||||
|
"F4F5E8F5F4"
|
||||||
|
],
|
||||||
|
"profileType": "passpoint_osu_id_provider"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182805660,
|
"createdTimestamp": 1611264539131,
|
||||||
"lastModifiedTimestamp": 1602182805660,
|
"lastModifiedTimestamp": 1611264539131,
|
||||||
"childProfileIds": []
|
"childProfileIds": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 2,
|
"id": 10,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "metrics",
|
"profileType": "service_metrics_collection_config",
|
||||||
"name": "Metrics-Profile-3-radios",
|
"name": "Metrics-Profile-3-Radios",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "ServiceMetricsCollectionConfigProfile",
|
"model_type": "ServiceMetricsCollectionConfigProfile",
|
||||||
"radioTypes": [
|
"radioTypes": [
|
||||||
"is5GHzU",
|
|
||||||
"is5GHzL",
|
"is5GHzL",
|
||||||
"is2dot4GHz"
|
"is2dot4GHz",
|
||||||
|
"is5GHzU"
|
||||||
],
|
],
|
||||||
"serviceMetricDataTypes": [
|
"serviceMetricDataTypes": [
|
||||||
"ApNode",
|
"ApNode",
|
||||||
@@ -29,9 +29,9 @@
|
|||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzL",
|
||||||
"radioType": "is5GHzU",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
@@ -41,9 +41,9 @@
|
|||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzU",
|
||||||
"radioType": "is5GHzL",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
@@ -53,9 +53,9 @@
|
|||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is2dot4GHz",
|
||||||
"serviceMetricDataType": "ApNode"
|
"serviceMetricDataType": "ApNode",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
@@ -65,33 +65,33 @@
|
|||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzL",
|
|
||||||
"serviceMetricDataType": "ApNode"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "ApNode"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is5GHzU",
|
||||||
"serviceMetricDataType": "ApNode"
|
"serviceMetricDataType": "ApNode",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is2dot4GHz",
|
||||||
|
"serviceMetricDataType": "ApNode",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is5GHzL",
|
||||||
|
"serviceMetricDataType": "ApNode",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"ApSsid": [
|
"ApSsid": [
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is5GHzU",
|
||||||
"serviceMetricDataType": "ApSsid"
|
"serviceMetricDataType": "ApSsid"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -113,7 +113,7 @@
|
|||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is2dot4GHz",
|
||||||
"serviceMetricDataType": "ApSsid"
|
"serviceMetricDataType": "ApSsid"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is5GHzU",
|
||||||
"serviceMetricDataType": "Client"
|
"serviceMetricDataType": "Client"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -136,7 +136,7 @@
|
|||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is2dot4GHz",
|
||||||
"serviceMetricDataType": "Client"
|
"serviceMetricDataType": "Client"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -144,38 +144,14 @@
|
|||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"serviceMetricDataType": "Channel"
|
"serviceMetricDataType": "Channel",
|
||||||
},
|
"statsReportFormat": "RAW"
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "Channel"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"serviceMetricDataType": "Channel"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
@@ -185,95 +161,83 @@
|
|||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzU",
|
||||||
|
"serviceMetricDataType": "Channel",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 120,
|
||||||
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is2dot4GHz",
|
||||||
|
"serviceMetricDataType": "Channel",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is5GHzU",
|
||||||
|
"serviceMetricDataType": "Channel",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is2dot4GHz",
|
||||||
|
"serviceMetricDataType": "Channel",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"serviceMetricDataType": "Channel"
|
"serviceMetricDataType": "Channel",
|
||||||
},
|
"statsReportFormat": "RAW"
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 120,
|
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "Channel"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 120,
|
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"serviceMetricDataType": "Channel"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"Neighbour": [
|
"Neighbour": [
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzL",
|
|
||||||
"serviceMetricDataType": "Neighbour"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "Neighbour"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is5GHzU",
|
||||||
"serviceMetricDataType": "Neighbour"
|
"serviceMetricDataType": "Neighbour",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 120,
|
"reportingIntervalSeconds": 60,
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"serviceMetricDataType": "Neighbour"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 120,
|
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"serviceMetricDataType": "Neighbour"
|
"serviceMetricDataType": "Neighbour",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
@@ -283,16 +247,53 @@
|
|||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is2dot4GHz",
|
||||||
"serviceMetricDataType": "Neighbour"
|
"serviceMetricDataType": "Neighbour",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is5GHzU",
|
||||||
|
"serviceMetricDataType": "Neighbour",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 120,
|
||||||
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is5GHzL",
|
||||||
|
"serviceMetricDataType": "Neighbour",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is2dot4GHz",
|
||||||
|
"serviceMetricDataType": "Neighbour",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"profileType": "metrics"
|
"profileType": "service_metrics_collection_config"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602113058699,
|
"createdTimestamp": 1606778369931,
|
||||||
"lastModifiedTimestamp": 1602113058699,
|
"lastModifiedTimestamp": 1606778369931,
|
||||||
"childProfileIds": []
|
"childProfileIds": [
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1,37 +1,41 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 6,
|
"id": 34,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "operator",
|
"profileType": "passpoint_operator",
|
||||||
"name": "TipWlan-Hotspot20-Operator",
|
"name": "operator-profile-2021-01-21T21:28:58.994Z",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "OperatorProfile",
|
"model_type": "PasspointOperatorProfile",
|
||||||
"domainName": "telecominfraproject.atlassian.net",
|
|
||||||
"serverOnlyAuthenticatedL2EncryptionNetwork": false,
|
"serverOnlyAuthenticatedL2EncryptionNetwork": false,
|
||||||
"x509CertificateLocation": "/etc/ca.pem",
|
"x509CertificateLocation": "/etc/ca.pem",
|
||||||
"operatorFriendlyName": [
|
"operatorFriendlyName": [
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "en_CA",
|
"locale": "fra",
|
||||||
"dupleIso3Language": "eng",
|
|
||||||
"dupleName": "Default friendly operator name",
|
|
||||||
"defaultDupleSeparator": ":",
|
|
||||||
"asDuple": "eng:Default friendly operator name"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "Hotspot20Duple",
|
|
||||||
"locale": "fr_CA",
|
|
||||||
"dupleIso3Language": "fra",
|
"dupleIso3Language": "fra",
|
||||||
"dupleName": "Nom de l'opérateur convivial par défaut",
|
"dupleName": "Nom de l'opérateur convivial par défaut",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "fra:Nom de l'opérateur convivial par défaut"
|
"asDuple": "fra:Nom de l'opérateur convivial par défaut"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "PasspointDuple",
|
||||||
|
"locale": "eng",
|
||||||
|
"dupleIso3Language": "eng",
|
||||||
|
"dupleName": "Default friendly passpoint_operator name",
|
||||||
|
"defaultDupleSeparator": ":",
|
||||||
|
"asDuple": "eng:Default friendly passpoint_operator name"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"profileType": "operator"
|
"domainNameList": [
|
||||||
|
"bell.ca",
|
||||||
|
"telus.com",
|
||||||
|
"rogers.com"
|
||||||
|
],
|
||||||
|
"profileType": "passpoint_operator"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602113058719,
|
"createdTimestamp": 1611264539004,
|
||||||
"lastModifiedTimestamp": 1602113058719,
|
"lastModifiedTimestamp": 1611264539004,
|
||||||
"childProfileIds": []
|
"childProfileIds": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -7,28 +7,18 @@
|
|||||||
"name": "Radius-Profile",
|
"name": "Radius-Profile",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "RadiusProfile",
|
"model_type": "RadiusProfile",
|
||||||
"subnetConfiguration": null,
|
"primaryRadiusAuthServer": {
|
||||||
"serviceRegionMap": {
|
|
||||||
"Ottawa": {
|
|
||||||
"model_type": "RadiusServiceRegion",
|
|
||||||
"serverMap": {
|
|
||||||
"Radius-Profile": [
|
|
||||||
{
|
|
||||||
"model_type": "RadiusServer",
|
"model_type": "RadiusServer",
|
||||||
"ipAddress": "192.168.0.1",
|
"ipAddress": "192.168.0.1",
|
||||||
"secret": "testing123",
|
"secret": "testing123",
|
||||||
"authPort": 1812,
|
"port": 1812,
|
||||||
"timeout": null
|
"timeout": null
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"regionName": "Ottawa"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"profileType": "radius"
|
"profileType": "radius"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1601961451668,
|
"createdTimestamp": 1611262628767,
|
||||||
"lastModifiedTimestamp": 1601961451668,
|
"lastModifiedTimestamp": 1611262628767,
|
||||||
"childProfileIds": []
|
"childProfileIds": [
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 13,
|
"id": 4,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "rf",
|
"profileType": "rf",
|
||||||
"name": "TipWlan-rf",
|
"name": "TipWlan-rf",
|
||||||
@@ -9,16 +9,15 @@
|
|||||||
"rfConfigMap": {
|
"rfConfigMap": {
|
||||||
"is5GHz": {
|
"is5GHz": {
|
||||||
"model_type": "RfElementConfiguration",
|
"model_type": "RfElementConfiguration",
|
||||||
"rf": "TipWlan-rf",
|
|
||||||
"radioType": "is5GHz",
|
"radioType": "is5GHz",
|
||||||
"radioMode": "modeAC",
|
"radioMode": "modeAC",
|
||||||
|
"rf": "TipWlan-rf",
|
||||||
"beaconInterval": 100,
|
"beaconInterval": 100,
|
||||||
"forceScanDuringVoice": "disabled",
|
"forceScanDuringVoice": "disabled",
|
||||||
"rtsCtsThreshold": 65535,
|
"rtsCtsThreshold": 65535,
|
||||||
"channelBandwidth": "is80MHz",
|
"channelBandwidth": "is80MHz",
|
||||||
"mimoMode": "twoByTwo",
|
"mimoMode": "twoByTwo",
|
||||||
"maxNumClients": 100,
|
"maxNumClients": 100,
|
||||||
"multicastRate": "auto",
|
|
||||||
"autoChannelSelection": false,
|
"autoChannelSelection": false,
|
||||||
"activeScanSettings": {
|
"activeScanSettings": {
|
||||||
"model_type": "ActiveScanSettings",
|
"model_type": "ActiveScanSettings",
|
||||||
@@ -26,17 +25,12 @@
|
|||||||
"scanFrequencySeconds": 10,
|
"scanFrequencySeconds": 10,
|
||||||
"scanDurationMillis": 65
|
"scanDurationMillis": 65
|
||||||
},
|
},
|
||||||
"managementRate": "auto",
|
|
||||||
"rxCellSizeDb": -90,
|
|
||||||
"probeResponseThresholdDb": -90,
|
|
||||||
"clientDisconnectThresholdDb": -90,
|
|
||||||
"eirpTxPower": 18,
|
|
||||||
"bestApEnabled": null,
|
|
||||||
"neighbouringListApConfig": {
|
"neighbouringListApConfig": {
|
||||||
"model_type": "NeighbouringAPListConfiguration",
|
"model_type": "NeighbouringAPListConfiguration",
|
||||||
"minSignal": -85,
|
"minSignal": -85,
|
||||||
"maxAps": 25
|
"maxAps": 25
|
||||||
},
|
},
|
||||||
|
"minAutoCellSize": -65,
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"channelHopSettings": {
|
"channelHopSettings": {
|
||||||
"model_type": "ChannelHopSettings",
|
"model_type": "ChannelHopSettings",
|
||||||
@@ -46,26 +40,31 @@
|
|||||||
"nonWifiThresholdTimeInSeconds": 180,
|
"nonWifiThresholdTimeInSeconds": 180,
|
||||||
"obssHopMode": "NON_WIFI"
|
"obssHopMode": "NON_WIFI"
|
||||||
},
|
},
|
||||||
|
"bestApEnabled": null,
|
||||||
|
"multicastRate": "auto",
|
||||||
|
"managementRate": "auto",
|
||||||
|
"rxCellSizeDb": -90,
|
||||||
|
"probeResponseThresholdDb": -90,
|
||||||
|
"clientDisconnectThresholdDb": -90,
|
||||||
|
"eirpTxPower": 18,
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 30,
|
"dropInSnrPercentage": 30,
|
||||||
"minLoadFactor": 40
|
"minLoadFactor": 40
|
||||||
},
|
}
|
||||||
"minAutoCellSize": -65
|
|
||||||
},
|
},
|
||||||
"is2dot4GHz": {
|
"is2dot4GHz": {
|
||||||
"model_type": "RfElementConfiguration",
|
"model_type": "RfElementConfiguration",
|
||||||
"rf": "TipWlan-rf",
|
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is2dot4GHz",
|
||||||
"radioMode": "modeN",
|
"radioMode": "modeN",
|
||||||
|
"rf": "TipWlan-rf",
|
||||||
"beaconInterval": 100,
|
"beaconInterval": 100,
|
||||||
"forceScanDuringVoice": "disabled",
|
"forceScanDuringVoice": "disabled",
|
||||||
"rtsCtsThreshold": 65535,
|
"rtsCtsThreshold": 65535,
|
||||||
"channelBandwidth": "is20MHz",
|
"channelBandwidth": "is20MHz",
|
||||||
"mimoMode": "twoByTwo",
|
"mimoMode": "twoByTwo",
|
||||||
"maxNumClients": 100,
|
"maxNumClients": 100,
|
||||||
"multicastRate": "auto",
|
|
||||||
"autoChannelSelection": false,
|
"autoChannelSelection": false,
|
||||||
"activeScanSettings": {
|
"activeScanSettings": {
|
||||||
"model_type": "ActiveScanSettings",
|
"model_type": "ActiveScanSettings",
|
||||||
@@ -73,17 +72,12 @@
|
|||||||
"scanFrequencySeconds": 10,
|
"scanFrequencySeconds": 10,
|
||||||
"scanDurationMillis": 65
|
"scanDurationMillis": 65
|
||||||
},
|
},
|
||||||
"managementRate": "auto",
|
|
||||||
"rxCellSizeDb": -90,
|
|
||||||
"probeResponseThresholdDb": -90,
|
|
||||||
"clientDisconnectThresholdDb": -90,
|
|
||||||
"eirpTxPower": 18,
|
|
||||||
"bestApEnabled": null,
|
|
||||||
"neighbouringListApConfig": {
|
"neighbouringListApConfig": {
|
||||||
"model_type": "NeighbouringAPListConfiguration",
|
"model_type": "NeighbouringAPListConfiguration",
|
||||||
"minSignal": -85,
|
"minSignal": -85,
|
||||||
"maxAps": 25
|
"maxAps": 25
|
||||||
},
|
},
|
||||||
|
"minAutoCellSize": -65,
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"channelHopSettings": {
|
"channelHopSettings": {
|
||||||
"model_type": "ChannelHopSettings",
|
"model_type": "ChannelHopSettings",
|
||||||
@@ -93,26 +87,31 @@
|
|||||||
"nonWifiThresholdTimeInSeconds": 180,
|
"nonWifiThresholdTimeInSeconds": 180,
|
||||||
"obssHopMode": "NON_WIFI"
|
"obssHopMode": "NON_WIFI"
|
||||||
},
|
},
|
||||||
|
"bestApEnabled": null,
|
||||||
|
"multicastRate": "auto",
|
||||||
|
"managementRate": "auto",
|
||||||
|
"rxCellSizeDb": -90,
|
||||||
|
"probeResponseThresholdDb": -90,
|
||||||
|
"clientDisconnectThresholdDb": -90,
|
||||||
|
"eirpTxPower": 18,
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 20,
|
"dropInSnrPercentage": 20,
|
||||||
"minLoadFactor": 50
|
"minLoadFactor": 50
|
||||||
},
|
}
|
||||||
"minAutoCellSize": -65
|
|
||||||
},
|
},
|
||||||
"is5GHzU": {
|
"is5GHzU": {
|
||||||
"model_type": "RfElementConfiguration",
|
"model_type": "RfElementConfiguration",
|
||||||
"rf": "TipWlan-rf",
|
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is5GHzU",
|
||||||
"radioMode": "modeAC",
|
"radioMode": "modeAC",
|
||||||
|
"rf": "TipWlan-rf",
|
||||||
"beaconInterval": 100,
|
"beaconInterval": 100,
|
||||||
"forceScanDuringVoice": "disabled",
|
"forceScanDuringVoice": "disabled",
|
||||||
"rtsCtsThreshold": 65535,
|
"rtsCtsThreshold": 65535,
|
||||||
"channelBandwidth": "is80MHz",
|
"channelBandwidth": "is80MHz",
|
||||||
"mimoMode": "twoByTwo",
|
"mimoMode": "twoByTwo",
|
||||||
"maxNumClients": 100,
|
"maxNumClients": 100,
|
||||||
"multicastRate": "auto",
|
|
||||||
"autoChannelSelection": false,
|
"autoChannelSelection": false,
|
||||||
"activeScanSettings": {
|
"activeScanSettings": {
|
||||||
"model_type": "ActiveScanSettings",
|
"model_type": "ActiveScanSettings",
|
||||||
@@ -120,17 +119,12 @@
|
|||||||
"scanFrequencySeconds": 10,
|
"scanFrequencySeconds": 10,
|
||||||
"scanDurationMillis": 65
|
"scanDurationMillis": 65
|
||||||
},
|
},
|
||||||
"managementRate": "auto",
|
|
||||||
"rxCellSizeDb": -90,
|
|
||||||
"probeResponseThresholdDb": -90,
|
|
||||||
"clientDisconnectThresholdDb": -90,
|
|
||||||
"eirpTxPower": 18,
|
|
||||||
"bestApEnabled": null,
|
|
||||||
"neighbouringListApConfig": {
|
"neighbouringListApConfig": {
|
||||||
"model_type": "NeighbouringAPListConfiguration",
|
"model_type": "NeighbouringAPListConfiguration",
|
||||||
"minSignal": -85,
|
"minSignal": -85,
|
||||||
"maxAps": 25
|
"maxAps": 25
|
||||||
},
|
},
|
||||||
|
"minAutoCellSize": -65,
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"channelHopSettings": {
|
"channelHopSettings": {
|
||||||
"model_type": "ChannelHopSettings",
|
"model_type": "ChannelHopSettings",
|
||||||
@@ -140,26 +134,31 @@
|
|||||||
"nonWifiThresholdTimeInSeconds": 180,
|
"nonWifiThresholdTimeInSeconds": 180,
|
||||||
"obssHopMode": "NON_WIFI"
|
"obssHopMode": "NON_WIFI"
|
||||||
},
|
},
|
||||||
|
"bestApEnabled": null,
|
||||||
|
"multicastRate": "auto",
|
||||||
|
"managementRate": "auto",
|
||||||
|
"rxCellSizeDb": -90,
|
||||||
|
"probeResponseThresholdDb": -90,
|
||||||
|
"clientDisconnectThresholdDb": -90,
|
||||||
|
"eirpTxPower": 18,
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 30,
|
"dropInSnrPercentage": 30,
|
||||||
"minLoadFactor": 40
|
"minLoadFactor": 40
|
||||||
},
|
}
|
||||||
"minAutoCellSize": -65
|
|
||||||
},
|
},
|
||||||
"is5GHzL": {
|
"is5GHzL": {
|
||||||
"model_type": "RfElementConfiguration",
|
"model_type": "RfElementConfiguration",
|
||||||
"rf": "TipWlan-rf",
|
|
||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"radioMode": "modeAC",
|
"radioMode": "modeAC",
|
||||||
|
"rf": "TipWlan-rf",
|
||||||
"beaconInterval": 100,
|
"beaconInterval": 100,
|
||||||
"forceScanDuringVoice": "disabled",
|
"forceScanDuringVoice": "disabled",
|
||||||
"rtsCtsThreshold": 65535,
|
"rtsCtsThreshold": 65535,
|
||||||
"channelBandwidth": "is80MHz",
|
"channelBandwidth": "is80MHz",
|
||||||
"mimoMode": "twoByTwo",
|
"mimoMode": "twoByTwo",
|
||||||
"maxNumClients": 100,
|
"maxNumClients": 100,
|
||||||
"multicastRate": "auto",
|
|
||||||
"autoChannelSelection": false,
|
"autoChannelSelection": false,
|
||||||
"activeScanSettings": {
|
"activeScanSettings": {
|
||||||
"model_type": "ActiveScanSettings",
|
"model_type": "ActiveScanSettings",
|
||||||
@@ -167,17 +166,12 @@
|
|||||||
"scanFrequencySeconds": 10,
|
"scanFrequencySeconds": 10,
|
||||||
"scanDurationMillis": 65
|
"scanDurationMillis": 65
|
||||||
},
|
},
|
||||||
"managementRate": "auto",
|
|
||||||
"rxCellSizeDb": -90,
|
|
||||||
"probeResponseThresholdDb": -90,
|
|
||||||
"clientDisconnectThresholdDb": -90,
|
|
||||||
"eirpTxPower": 18,
|
|
||||||
"bestApEnabled": null,
|
|
||||||
"neighbouringListApConfig": {
|
"neighbouringListApConfig": {
|
||||||
"model_type": "NeighbouringAPListConfiguration",
|
"model_type": "NeighbouringAPListConfiguration",
|
||||||
"minSignal": -85,
|
"minSignal": -85,
|
||||||
"maxAps": 25
|
"maxAps": 25
|
||||||
},
|
},
|
||||||
|
"minAutoCellSize": -65,
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"channelHopSettings": {
|
"channelHopSettings": {
|
||||||
"model_type": "ChannelHopSettings",
|
"model_type": "ChannelHopSettings",
|
||||||
@@ -187,18 +181,24 @@
|
|||||||
"nonWifiThresholdTimeInSeconds": 180,
|
"nonWifiThresholdTimeInSeconds": 180,
|
||||||
"obssHopMode": "NON_WIFI"
|
"obssHopMode": "NON_WIFI"
|
||||||
},
|
},
|
||||||
|
"bestApEnabled": null,
|
||||||
|
"multicastRate": "auto",
|
||||||
|
"managementRate": "auto",
|
||||||
|
"rxCellSizeDb": -90,
|
||||||
|
"probeResponseThresholdDb": -90,
|
||||||
|
"clientDisconnectThresholdDb": -90,
|
||||||
|
"eirpTxPower": 18,
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 30,
|
"dropInSnrPercentage": 30,
|
||||||
"minLoadFactor": 40
|
"minLoadFactor": 40
|
||||||
},
|
}
|
||||||
"minAutoCellSize": -65
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"profileType": "rf"
|
"profileType": "rf"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182806063,
|
"createdTimestamp": 1612285248650,
|
||||||
"lastModifiedTimestamp": 1602182806063,
|
"lastModifiedTimestamp": 1612285248650,
|
||||||
"childProfileIds": []
|
"childProfileIds": []
|
||||||
}
|
}
|
||||||
@@ -1,73 +1,7 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 5,
|
"id": 2,
|
||||||
"customerId": 2,
|
|
||||||
"profileType": "ssid",
|
|
||||||
"name": "TipWlan-cloud-hotspot-access",
|
|
||||||
"details": {
|
|
||||||
"model_type": "SsidConfiguration",
|
|
||||||
"ssid": "TipWlan-cloud-hotspot-access",
|
|
||||||
"appliedRadios": [
|
|
||||||
"is5GHzU",
|
|
||||||
"is5GHzL",
|
|
||||||
"is2dot4GHz"
|
|
||||||
],
|
|
||||||
"ssidAdminState": "enabled",
|
|
||||||
"secureMode": "wpa2PSK",
|
|
||||||
"vlanId": 1,
|
|
||||||
"keyStr": "testing123",
|
|
||||||
"broadcastSsid": "enabled",
|
|
||||||
"keyRefresh": 0,
|
|
||||||
"noLocalSubnets": false,
|
|
||||||
"radiusServiceName": null,
|
|
||||||
"captivePortalId": null,
|
|
||||||
"bandwidthLimitDown": 0,
|
|
||||||
"bandwidthLimitUp": 0,
|
|
||||||
"clientBandwidthLimitDown": 0,
|
|
||||||
"clientBandwidthLimitUp": 0,
|
|
||||||
"videoTrafficOnly": false,
|
|
||||||
"radioBasedConfigs": {
|
|
||||||
"is5GHz": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is2dot4GHz": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is5GHzU": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is5GHzL": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bonjourGatewayProfileId": null,
|
|
||||||
"enable80211w": null,
|
|
||||||
"wepConfig": null,
|
|
||||||
"forwardMode": null,
|
|
||||||
"profileType": "ssid"
|
|
||||||
},
|
|
||||||
"createdTimestamp": 1602113058718,
|
|
||||||
"lastModifiedTimestamp": 1602113059547,
|
|
||||||
"childProfileIds": [
|
|
||||||
10
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "Profile",
|
|
||||||
"id": 11,
|
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "ssid",
|
"profileType": "ssid",
|
||||||
"name": "TipWlan-cloud-3-radios",
|
"name": "TipWlan-cloud-3-radios",
|
||||||
@@ -75,18 +9,19 @@
|
|||||||
"model_type": "SsidConfiguration",
|
"model_type": "SsidConfiguration",
|
||||||
"ssid": "TipWlan-cloud-3-radios",
|
"ssid": "TipWlan-cloud-3-radios",
|
||||||
"appliedRadios": [
|
"appliedRadios": [
|
||||||
"is5GHzL",
|
"is5GHzU",
|
||||||
"is2dot4GHz",
|
"is2dot4GHz",
|
||||||
"is5GHzU"
|
"is5GHzL"
|
||||||
],
|
],
|
||||||
"ssidAdminState": "enabled",
|
"ssidAdminState": "enabled",
|
||||||
"secureMode": "open",
|
"secureMode": "wpa2OnlyPSK",
|
||||||
"vlanId": 1,
|
"vlanId": 1,
|
||||||
"keyStr": null,
|
"keyStr": "openwifi",
|
||||||
"broadcastSsid": "enabled",
|
"broadcastSsid": "enabled",
|
||||||
"keyRefresh": 0,
|
"keyRefresh": 0,
|
||||||
"noLocalSubnets": false,
|
"noLocalSubnets": false,
|
||||||
"radiusServiceName": null,
|
"radiusServiceId": 0,
|
||||||
|
"radiusAcountingServiceInterval": 60,
|
||||||
"captivePortalId": null,
|
"captivePortalId": null,
|
||||||
"bandwidthLimitDown": 0,
|
"bandwidthLimitDown": 0,
|
||||||
"bandwidthLimitUp": 0,
|
"bandwidthLimitUp": 0,
|
||||||
@@ -94,7 +29,7 @@
|
|||||||
"clientBandwidthLimitUp": 0,
|
"clientBandwidthLimitUp": 0,
|
||||||
"videoTrafficOnly": false,
|
"videoTrafficOnly": false,
|
||||||
"radioBasedConfigs": {
|
"radioBasedConfigs": {
|
||||||
"is5GHz": {
|
"is5GHzU": {
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211r": null,
|
"enable80211r": null,
|
||||||
"enable80211k": null,
|
"enable80211k": null,
|
||||||
@@ -106,7 +41,7 @@
|
|||||||
"enable80211k": null,
|
"enable80211k": null,
|
||||||
"enable80211v": null
|
"enable80211v": null
|
||||||
},
|
},
|
||||||
"is5GHzU": {
|
"is5GHz": {
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211r": null,
|
"enable80211r": null,
|
||||||
"enable80211k": null,
|
"enable80211k": null,
|
||||||
@@ -122,13 +57,19 @@
|
|||||||
"bonjourGatewayProfileId": null,
|
"bonjourGatewayProfileId": null,
|
||||||
"enable80211w": null,
|
"enable80211w": null,
|
||||||
"wepConfig": null,
|
"wepConfig": null,
|
||||||
"forwardMode": null,
|
"forwardMode": "BRIDGE",
|
||||||
"profileType": "ssid"
|
"profileType": "ssid",
|
||||||
},
|
"radiusClientConfiguration": {
|
||||||
"createdTimestamp": 1602183994766,
|
"model_type": "RadiusNasConfiguration",
|
||||||
"lastModifiedTimestamp": 1602183994766,
|
"nasClientId": "DEFAULT",
|
||||||
"childProfileIds": [
|
"nasClientIp": "WAN_IP",
|
||||||
10
|
"userDefinedNasId": null,
|
||||||
]
|
"userDefinedNasIp": null,
|
||||||
|
"operatorId": null
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"createdTimestamp": 1612285248638,
|
||||||
|
"lastModifiedTimestamp": 1612285248638,
|
||||||
|
"childProfileIds": []
|
||||||
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 7,
|
"id": 33,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "venue",
|
"profileType": "passpoint_venue",
|
||||||
"name": "TipWlan-Hotspot20-Venue",
|
"name": "venue-profile-2021-01-21T21:28:58.934Z",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "VenueProfile",
|
"model_type": "PasspointVenueProfile",
|
||||||
"venueNameSet": [
|
"venueNameSet": [
|
||||||
{
|
{
|
||||||
"model_type": "VenueName",
|
"model_type": "PasspointVenueName",
|
||||||
"locale": "fr_CA",
|
"locale": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleIso3Language": "fra",
|
||||||
"dupleName": "Exemple de lieu",
|
"dupleName": "Exemple de lieu",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
@@ -18,25 +18,25 @@
|
|||||||
"asDuple": "fra:Exemple de lieu"
|
"asDuple": "fra:Exemple de lieu"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "VenueName",
|
"model_type": "PasspointVenueName",
|
||||||
"locale": "en_CA",
|
"locale": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleIso3Language": "eng",
|
||||||
"dupleName": "Example venue",
|
"dupleName": "Example passpoint_venue",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"venueUrl": "http://www.example.com/info-eng",
|
"venueUrl": "http://www.example.com/info-eng",
|
||||||
"asDuple": "eng:Example venue"
|
"asDuple": "eng:Example passpoint_venue"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"venueTypeAssignment": {
|
"venueTypeAssignment": {
|
||||||
"model_type": "VenueTypeAssignment",
|
"model_type": "PasspointVenueTypeAssignment",
|
||||||
"venueDescription": "Research and Development Facility",
|
"venueDescription": "Research and Development Facility",
|
||||||
"venueGroupId": 2,
|
"venueGroupId": 2,
|
||||||
"venueTypeId": 8
|
"venueTypeId": 8
|
||||||
},
|
},
|
||||||
"profileType": "venue"
|
"profileType": "passpoint_venue"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602113058725,
|
"createdTimestamp": 1611264538947,
|
||||||
"lastModifiedTimestamp": 1602113058725,
|
"lastModifiedTimestamp": 1611264538947,
|
||||||
"childProfileIds": []
|
"childProfileIds": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -174,7 +174,9 @@ RESTAPI_PROPS="$RESTAPI_PROPS -Dserver.port=4043"
|
|||||||
|
|
||||||
SPRING_EXTRA_PROPS=" --add-opens java.base/java.lang=ALL-UNNAMED"
|
SPRING_EXTRA_PROPS=" --add-opens java.base/java.lang=ALL-UNNAMED"
|
||||||
|
|
||||||
export ALL_PROPS="$PROFILES $SSL_PROPS $CLIENT_MQTT_SSL_PROPS $OVSDB_PROPS $MQTT_PROPS $LOGGING_PROPS $RESTAPI_PROPS $SPRING_EXTRA_PROPS "
|
JVM_EXTRA_PROPS=" ${JVM_MEM_OPTIONS:- } "
|
||||||
|
|
||||||
|
export ALL_PROPS="$JVM_EXTRA_PROPS $PROFILES $SSL_PROPS $CLIENT_MQTT_SSL_PROPS $OVSDB_PROPS $MQTT_PROPS $LOGGING_PROPS $RESTAPI_PROPS $SPRING_EXTRA_PROPS "
|
||||||
|
|
||||||
echo Starting opensync wifi controller
|
echo Starting opensync wifi controller
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"model_type": "Equipment",
|
"model_type": "Equipment",
|
||||||
"id": 51,
|
"id": 1,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileId": 5,
|
"profileId": 8,
|
||||||
"locationId": 8,
|
"locationId": 8,
|
||||||
"equipmentType": "AP",
|
"equipmentType": "AP",
|
||||||
"inventoryId": "Test_Client_21P10C68818122",
|
"inventoryId": "Open_AP_21P10C68818122",
|
||||||
"name": "Test_Client_21P10C68818122",
|
"name": "Open_AP_21P10C68818122",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "ApElementConfiguration",
|
"model_type": "ApElementConfiguration",
|
||||||
"equipmentModel": "EA8300-CA",
|
"equipmentModel": "EA8300-CA",
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
"staticDnsIp1": null,
|
"staticDnsIp1": null,
|
||||||
"staticDnsIp2": null,
|
"staticDnsIp2": null,
|
||||||
"peerInfoList": [],
|
"peerInfoList": [],
|
||||||
"deviceName": "Default Device Name",
|
"deviceName": "Open_AP_21P10C68818122",
|
||||||
"locationData": null,
|
"locationData": null,
|
||||||
"locallyConfiguredMgmtVlan": 0,
|
"locallyConfiguredMgmtVlan": 0,
|
||||||
"locallyConfigured": false,
|
"locallyConfigured": false,
|
||||||
@@ -32,73 +32,246 @@
|
|||||||
"costSavingEventsEnabled": true,
|
"costSavingEventsEnabled": true,
|
||||||
"forwardMode": "BRIDGE",
|
"forwardMode": "BRIDGE",
|
||||||
"radioMap": {
|
"radioMap": {
|
||||||
|
"is5GHzU": {
|
||||||
|
"model_type": "ElementRadioConfiguration",
|
||||||
|
"radioType": "is5GHzU",
|
||||||
|
"channelNumber": 149,
|
||||||
|
"manualChannelNumber": 149,
|
||||||
|
"backupChannelNumber": 157,
|
||||||
|
"manualBackupChannelNumber": 157,
|
||||||
|
"rxCellSizeDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"probeResponseThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"clientDisconnectThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"eirpTxPower": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": 18
|
||||||
|
},
|
||||||
|
"perimeterDetectionEnabled": true,
|
||||||
|
"bestAPSteerType": "both",
|
||||||
|
"deauthAttackDetection": null,
|
||||||
|
"allowedChannelsPowerLevels": [
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 161,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 100,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 132,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 165,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 104,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 136,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 108,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 140,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 112,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 144,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 116,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 149,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 153,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 157,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"is2dot4GHz": {
|
"is2dot4GHz": {
|
||||||
"model_type": "ElementRadioConfiguration",
|
"model_type": "ElementRadioConfiguration",
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is2dot4GHz",
|
||||||
"channelNumber": 6,
|
"channelNumber": 6,
|
||||||
"manualChannelNumber": 6,
|
"manualChannelNumber": 6,
|
||||||
"backupChannelNumber": 11,
|
"backupChannelNumber": 11,
|
||||||
"bannedChannels": [],
|
"manualBackupChannelNumber": 11,
|
||||||
"allowedChannels": [],
|
|
||||||
"rxCellSizeDb": {
|
"rxCellSizeDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"probeResponseThresholdDb": {
|
"probeResponseThresholdDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"clientDisconnectThresholdDb": {
|
"clientDisconnectThresholdDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"eirpTxPower": {
|
"eirpTxPower": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": 32
|
"value": 18
|
||||||
},
|
},
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"bestAPSteerType": "both",
|
"bestAPSteerType": "both",
|
||||||
"deauthAttackDetection": null,
|
"deauthAttackDetection": null,
|
||||||
"allowedChannelsPowerLevels": [],
|
"allowedChannelsPowerLevels": [
|
||||||
"activeChannel": 6
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 1,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
},
|
},
|
||||||
"is5GHzU": {
|
{
|
||||||
"model_type": "ElementRadioConfiguration",
|
"model_type": "ChannelPowerLevel",
|
||||||
"radioType": "is5GHzU",
|
"channelNumber": 2,
|
||||||
"channelNumber": 149,
|
"powerLevel": 18,
|
||||||
"manualChannelNumber": 149,
|
"dfs": false,
|
||||||
"backupChannelNumber": 154,
|
"channelWidth": 20
|
||||||
"bannedChannels": [],
|
|
||||||
"allowedChannels": [],
|
|
||||||
"rxCellSizeDb": {
|
|
||||||
"model_type": "SourceSelectionValue",
|
|
||||||
"source": "auto",
|
|
||||||
"value": -90
|
|
||||||
},
|
},
|
||||||
"probeResponseThresholdDb": {
|
{
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "ChannelPowerLevel",
|
||||||
"source": "auto",
|
"channelNumber": 3,
|
||||||
"value": -90
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
},
|
},
|
||||||
"clientDisconnectThresholdDb": {
|
{
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "ChannelPowerLevel",
|
||||||
"source": "auto",
|
"channelNumber": 4,
|
||||||
"value": -90
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
},
|
},
|
||||||
"eirpTxPower": {
|
{
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "ChannelPowerLevel",
|
||||||
"source": "auto",
|
"channelNumber": 5,
|
||||||
"value": 32
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
},
|
},
|
||||||
"perimeterDetectionEnabled": true,
|
{
|
||||||
"bestAPSteerType": "both",
|
"model_type": "ChannelPowerLevel",
|
||||||
"deauthAttackDetection": null,
|
"channelNumber": 6,
|
||||||
"allowedChannelsPowerLevels": [],
|
"powerLevel": 18,
|
||||||
"activeChannel": 149
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 7,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 8,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 9,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 10,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 11,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"is5GHzL": {
|
"is5GHzL": {
|
||||||
"model_type": "ElementRadioConfiguration",
|
"model_type": "ElementRadioConfiguration",
|
||||||
@@ -106,33 +279,88 @@
|
|||||||
"channelNumber": 36,
|
"channelNumber": 36,
|
||||||
"manualChannelNumber": 36,
|
"manualChannelNumber": 36,
|
||||||
"backupChannelNumber": 44,
|
"backupChannelNumber": 44,
|
||||||
"bannedChannels": [],
|
"manualBackupChannelNumber": 44,
|
||||||
"allowedChannels": [],
|
|
||||||
"rxCellSizeDb": {
|
"rxCellSizeDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"probeResponseThresholdDb": {
|
"probeResponseThresholdDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"clientDisconnectThresholdDb": {
|
"clientDisconnectThresholdDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"eirpTxPower": {
|
"eirpTxPower": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": 32
|
"value": 18
|
||||||
},
|
},
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"bestAPSteerType": "both",
|
"bestAPSteerType": "both",
|
||||||
"deauthAttackDetection": null,
|
"deauthAttackDetection": null,
|
||||||
"allowedChannelsPowerLevels": [],
|
"allowedChannelsPowerLevels": [
|
||||||
"activeChannel": 36
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 52,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 36,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 56,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 40,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 60,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 44,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 64,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 48,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"advancedRadioMap": {
|
"advancedRadioMap": {
|
||||||
@@ -141,25 +369,30 @@
|
|||||||
"radioType": "is2dot4GHz",
|
"radioType": "is2dot4GHz",
|
||||||
"radioAdminState": "enabled",
|
"radioAdminState": "enabled",
|
||||||
"fragmentationThresholdBytes": 2346,
|
"fragmentationThresholdBytes": 2346,
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
"uapsdState": "enabled",
|
||||||
"stationIsolation": "disabled",
|
"stationIsolation": "disabled",
|
||||||
|
"multicastRate": {
|
||||||
|
"model_type": "SourceSelectionMulticast",
|
||||||
|
"source": "profile",
|
||||||
|
"value": "auto"
|
||||||
|
},
|
||||||
"managementRate": {
|
"managementRate": {
|
||||||
"model_type": "SourceSelectionManagement",
|
"model_type": "SourceSelectionManagement",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": "auto"
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "SourceSelectionSteering",
|
"model_type": "SourceSelectionSteering",
|
||||||
"source": "auto",
|
"source": "manual",
|
||||||
"value": {
|
"value": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 30,
|
"dropInSnrPercentage": 20,
|
||||||
"minLoadFactor": 40
|
"minLoadFactor": 50
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"legacyBSSRate": "enabled",
|
"legacyBSSRate": "enabled",
|
||||||
|
"dtimPeriod": 2,
|
||||||
"deauthAttackDetection": null
|
"deauthAttackDetection": null
|
||||||
},
|
},
|
||||||
"is5GHzU": {
|
"is5GHzU": {
|
||||||
@@ -167,17 +400,21 @@
|
|||||||
"radioType": "is5GHzU",
|
"radioType": "is5GHzU",
|
||||||
"radioAdminState": "enabled",
|
"radioAdminState": "enabled",
|
||||||
"fragmentationThresholdBytes": 2346,
|
"fragmentationThresholdBytes": 2346,
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
"uapsdState": "enabled",
|
||||||
"stationIsolation": "disabled",
|
"stationIsolation": "disabled",
|
||||||
|
"multicastRate": {
|
||||||
|
"model_type": "SourceSelectionMulticast",
|
||||||
|
"source": "profile",
|
||||||
|
"value": "auto"
|
||||||
|
},
|
||||||
"managementRate": {
|
"managementRate": {
|
||||||
"model_type": "SourceSelectionManagement",
|
"model_type": "SourceSelectionManagement",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": "auto"
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "SourceSelectionSteering",
|
"model_type": "SourceSelectionSteering",
|
||||||
"source": "auto",
|
"source": "manual",
|
||||||
"value": {
|
"value": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
@@ -186,6 +423,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"legacyBSSRate": "enabled",
|
"legacyBSSRate": "enabled",
|
||||||
|
"dtimPeriod": 2,
|
||||||
"deauthAttackDetection": null
|
"deauthAttackDetection": null
|
||||||
},
|
},
|
||||||
"is5GHzL": {
|
"is5GHzL": {
|
||||||
@@ -193,17 +431,21 @@
|
|||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"radioAdminState": "enabled",
|
"radioAdminState": "enabled",
|
||||||
"fragmentationThresholdBytes": 2346,
|
"fragmentationThresholdBytes": 2346,
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
"uapsdState": "enabled",
|
||||||
"stationIsolation": "disabled",
|
"stationIsolation": "disabled",
|
||||||
|
"multicastRate": {
|
||||||
|
"model_type": "SourceSelectionMulticast",
|
||||||
|
"source": "profile",
|
||||||
|
"value": "auto"
|
||||||
|
},
|
||||||
"managementRate": {
|
"managementRate": {
|
||||||
"model_type": "SourceSelectionManagement",
|
"model_type": "SourceSelectionManagement",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": "auto"
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "SourceSelectionSteering",
|
"model_type": "SourceSelectionSteering",
|
||||||
"source": "auto",
|
"source": "manual",
|
||||||
"value": {
|
"value": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
@@ -212,13 +454,19 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"legacyBSSRate": "enabled",
|
"legacyBSSRate": "enabled",
|
||||||
|
"dtimPeriod": 2,
|
||||||
"deauthAttackDetection": null
|
"deauthAttackDetection": null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latitude": null,
|
"latitude": null,
|
||||||
"longitude": null,
|
"longitude": null,
|
||||||
|
"baseMacAddress": {
|
||||||
|
"model_type": "MacAddress",
|
||||||
|
"address": "JPWi7y5T",
|
||||||
|
"addressAsString": "24:f5:a2:ef:2e:53"
|
||||||
|
},
|
||||||
"serial": "21P10C68818122",
|
"serial": "21P10C68818122",
|
||||||
"createdTimestamp": 1591653239821,
|
"createdTimestamp": 1612285288821,
|
||||||
"lastModifiedTimestamp": 1591653241398
|
"lastModifiedTimestamp": 1612285293922
|
||||||
}
|
}
|
||||||
@@ -1,67 +1,61 @@
|
|||||||
{
|
{
|
||||||
"model_type" : "Location",
|
"model_type": "Location",
|
||||||
"id" : 8,
|
"id": 8,
|
||||||
"parentId" : 0,
|
"parentId": 0,
|
||||||
"locationType" : "SITE",
|
"locationType": "SITE",
|
||||||
"customerId" : 2,
|
"customerId": 2,
|
||||||
"name" : "Ottawa",
|
"name": "Ottawa",
|
||||||
"details" : {
|
"details": {
|
||||||
"model_type" : "LocationDetails",
|
"model_type": "LocationDetails",
|
||||||
"countryCode" : "ca",
|
"countryCode": "CA",
|
||||||
"maintenanceWindow" : null,
|
"dailyActivityDetails": {
|
||||||
"rrmEnabled" : true,
|
"SUNDAY": {
|
||||||
"dailyRebalancingDetails" : {
|
"model_type": "LocationActivityDetails",
|
||||||
"SUNDAY" : {
|
"busyTime": "13:30",
|
||||||
"model_type" : "LocationActivityDetails",
|
"quietTime": "3:00",
|
||||||
"busyTime" : "13:30",
|
"timezone": "US/Eastern"
|
||||||
"quietTime" : "3:30",
|
|
||||||
"timezone" : "US/Eastern",
|
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"MONDAY" : {
|
"MONDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"TUESDAY" : {
|
"TUESDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"WEDNESDAY" : {
|
"WEDNESDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"THURSDAY" : {
|
"THURSDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"FRIDAY" : {
|
"FRIDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"SATURDAY" : {
|
"SATURDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"createdTimestamp" : 1590607043540,
|
"maintenanceWindow": null,
|
||||||
"lastModifiedTimestamp" : 1590607043540
|
"rrmEnabled": true,
|
||||||
|
"timezone": "US/Eastern"
|
||||||
|
},
|
||||||
|
"createdTimestamp": 1612285243534,
|
||||||
|
"lastModifiedTimestamp": 1612285243534
|
||||||
}
|
}
|
||||||
@@ -10,55 +10,48 @@
|
|||||||
"countryCode" : "usa",
|
"countryCode" : "usa",
|
||||||
"maintenanceWindow" : null,
|
"maintenanceWindow" : null,
|
||||||
"rrmEnabled" : true,
|
"rrmEnabled" : true,
|
||||||
"dailyRebalancingDetails" : {
|
"dailyActivityDetails" : {
|
||||||
"SUNDAY" : {
|
"SUNDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"MONDAY" : {
|
"MONDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"TUESDAY" : {
|
"TUESDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"WEDNESDAY" : {
|
"WEDNESDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"THURSDAY" : {
|
"THURSDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"FRIDAY" : {
|
"FRIDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"SATURDAY" : {
|
"SATURDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 17,
|
"id": 8,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "equipment_ap",
|
"profileType": "equipment_ap",
|
||||||
"name": "ApProfile-3-radios",
|
"name": "ApProfile-3-radios",
|
||||||
@@ -37,14 +37,22 @@
|
|||||||
"bestAPSteerType": "both"
|
"bestAPSteerType": "both"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"greTunnelConfigurations": [
|
||||||
|
{
|
||||||
|
"model_type": "GreTunnelConfiguration",
|
||||||
|
"greTunnelName": "gre1",
|
||||||
|
"greRemoteInetAddr": "192.168.1.101",
|
||||||
|
"vlanIdsInGreTunnel": [
|
||||||
|
100
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"profileType": "equipment_ap"
|
"profileType": "equipment_ap"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182806348,
|
"createdTimestamp": 1612285248925,
|
||||||
"lastModifiedTimestamp": 1602182806348,
|
"lastModifiedTimestamp": 1612285628377,
|
||||||
"childProfileIds": [
|
"childProfileIds": [
|
||||||
2,
|
2,
|
||||||
5,
|
4
|
||||||
11,
|
|
||||||
13
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -1,135 +1,58 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 14,
|
"id": 5,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "captive_portal",
|
"profileType": "captive_portal",
|
||||||
"name": "Captive-portal",
|
"name": "Captive-portal",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "CaptivePortalConfiguration",
|
"model_type": "CaptivePortalConfiguration",
|
||||||
"name": "Captive-portal",
|
"name": "Default",
|
||||||
"browserTitle": "Access the network as Guest",
|
"browserTitle": "Captive-portal",
|
||||||
"headerContent": "Captive Portal",
|
"headerContent": "Captive Portal",
|
||||||
"userAcceptancePolicy": "Use this network at your own risk. No warranty of any kind.",
|
"userAcceptancePolicy": "Please agree to the following terms for using this network:",
|
||||||
"successPageMarkdownText": "Welcome to the network",
|
"successPageMarkdownText": "You are now authorized and connected to the network.",
|
||||||
"redirectURL": "",
|
"redirectURL": "https://www.google.com",
|
||||||
"externalCaptivePortalURL": null,
|
"externalCaptivePortalURL": null,
|
||||||
"sessionTimeoutInMinutes": 60,
|
"sessionTimeoutInMinutes": 10,
|
||||||
"logoFile": null,
|
"logoFile": {
|
||||||
"backgroundFile": null,
|
|
||||||
"walledGardenAllowlist": [],
|
|
||||||
"usernamePasswordFile": {
|
|
||||||
"model_type": "ManagedFileInfo",
|
"model_type": "ManagedFileInfo",
|
||||||
"md5checksum": null,
|
"md5checksum": null,
|
||||||
"lastModifiedTimestamp": null,
|
"lastModifiedTimestamp": null,
|
||||||
"apExportUrl": "userList",
|
"apExportUrl": "/filestore/tip-logo-mobile",
|
||||||
"fileCategory": "UsernamePasswordList",
|
"fileCategory": "CaptivePortalLogo",
|
||||||
"fileType": "TEXT",
|
"fileType": "PNG",
|
||||||
"altSlot": true
|
"altSlot": false
|
||||||
},
|
},
|
||||||
|
"backgroundFile": {
|
||||||
|
"model_type": "ManagedFileInfo",
|
||||||
|
"md5checksum": null,
|
||||||
|
"lastModifiedTimestamp": null,
|
||||||
|
"apExportUrl": "/filestore/tip-logo",
|
||||||
|
"fileCategory": "CaptivePortalBackground",
|
||||||
|
"fileType": "PNG",
|
||||||
|
"altSlot": false
|
||||||
|
},
|
||||||
|
"walledGardenAllowlist": [
|
||||||
|
],
|
||||||
|
"usernamePasswordFile": null,
|
||||||
"authenticationType": "guest",
|
"authenticationType": "guest",
|
||||||
"radiusAuthMethod": "CHAP",
|
"radiusAuthMethod": "CHAP",
|
||||||
"maxUsersWithSameCredentials": 42,
|
"maxUsersWithSameCredentials": 3,
|
||||||
"externalPolicyFile": null,
|
"externalPolicyFile": null,
|
||||||
"backgroundPosition": "left_top",
|
"backgroundPosition": "left_top",
|
||||||
"backgroundRepeat": "no_repeat",
|
"backgroundRepeat": "no_repeat",
|
||||||
"radiusServiceName": null,
|
"radiusServiceId": 0,
|
||||||
"expiryType": "unlimited",
|
"expiryType": "time_limited",
|
||||||
"userList": [
|
"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
|
"macAllowList": [
|
||||||
},
|
|
||||||
{
|
|
||||||
"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"
|
"profileType": "captive_portal"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602183994959,
|
"createdTimestamp": 1611857459118,
|
||||||
"lastModifiedTimestamp": 1602183994959,
|
"lastModifiedTimestamp": 1611857459118,
|
||||||
"childProfileIds": []
|
"childProfileIds": [
|
||||||
}
|
]
|
||||||
|
}
|
||||||
]
|
]
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 10,
|
"id": 37,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "hotspot_2pt0",
|
"profileType": "passpoint",
|
||||||
"name": "TipWlan-Hotspot20-Config",
|
"name": "hotspot20-profile-2021-01-21T21:28:59.171Z",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "Hotspot2Profile",
|
"model_type": "PasspointProfile",
|
||||||
"enableInterworkingAndHs20": true,
|
"enableInterworkingAndHs20": true,
|
||||||
"hessid": null,
|
"hessid": null,
|
||||||
"accessNetworkType": "free_public_network",
|
"passpointAccessNetworkType": "free_public_network",
|
||||||
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
|
"passpointNetworkAuthenticationType": "acceptance_of_terms_and_conditions",
|
||||||
"additionalStepsRequiredForAccess": 0,
|
"additionalStepsRequiredForAccess": 0,
|
||||||
"deauthRequestTimeout": 0,
|
"deauthRequestTimeout": 0,
|
||||||
"operatingClass": 0,
|
"operatingClass": 0,
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"internetConnectivity": true,
|
"internetConnectivity": true,
|
||||||
"connectionCapabilitySet": [
|
"connectionCapabilitySet": [
|
||||||
{
|
{
|
||||||
"model_type": "ConnectionCapability",
|
"model_type": "PasspointConnectionCapability",
|
||||||
"connectionCapabilitiesPortNumber": 8888,
|
"connectionCapabilitiesPortNumber": 8888,
|
||||||
"connectionCapabilitiesIpProtocol": "TCP",
|
"connectionCapabilitiesIpProtocol": "TCP",
|
||||||
"connectionCapabilitiesStatus": "open"
|
"connectionCapabilitiesStatus": "open"
|
||||||
@@ -45,28 +45,27 @@
|
|||||||
"disableDownstreamGroupAddressedForwarding": false,
|
"disableDownstreamGroupAddressedForwarding": false,
|
||||||
"enable2pt4GHz": true,
|
"enable2pt4GHz": true,
|
||||||
"enable5GHz": true,
|
"enable5GHz": true,
|
||||||
"associatedAccessSsidNames": [
|
"associatedAccessSsidProfileIds": [
|
||||||
"TipWlan-cloud-hotspot-access"
|
32
|
||||||
],
|
],
|
||||||
"osuSsidName": "TipWlan-cloud-3-radios",
|
"osuSsidProfileId": 31,
|
||||||
"operatorProfileName": "TipWlan-Hotspot20-Operator",
|
"passpointOperatorProfileId": 34,
|
||||||
"venueProfileName": "TipWlan-Hotspot20-Venue",
|
"passpointVenueProfileId": 33,
|
||||||
"idProviderProfileNames": [
|
"passpointOsuProviderProfileIds": [
|
||||||
"TipWlan-Hotspot20-OSU-Provider-2",
|
35,
|
||||||
"TipWlan-Hotspot20-OSU-Provider"
|
36
|
||||||
],
|
],
|
||||||
"profileType": "hotspot_2pt0",
|
"accessNetworkType": "free_public_network",
|
||||||
"associatedSsids": [
|
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
|
||||||
"TipWlan-cloud-hotspot-access"
|
"profileType": "passpoint"
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182806040,
|
"createdTimestamp": 0,
|
||||||
"lastModifiedTimestamp": 1602182806040,
|
"lastModifiedTimestamp": 1611264539331,
|
||||||
"childProfileIds": [
|
"childProfileIds": [
|
||||||
6,
|
33,
|
||||||
7,
|
34,
|
||||||
8,
|
35,
|
||||||
9
|
36
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1,16 +1,15 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 8,
|
"id": 35,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "id_provider",
|
"profileType": "passpoint_osu_id_provider",
|
||||||
"name": "TipWlan-Hotspot20-OSU-Provider",
|
"name": "provider1-profile-2021-01-21T21:28:59.057Z",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "Hotspot20IdProviderProfile",
|
"model_type": "PasspointOsuProviderProfile",
|
||||||
"domainName": "rogers.com",
|
|
||||||
"mccMncList": [
|
"mccMncList": [
|
||||||
{
|
{
|
||||||
"model_type": "MccMnc",
|
"model_type": "PasspointMccMnc",
|
||||||
"mcc": 302,
|
"mcc": 302,
|
||||||
"mnc": 720,
|
"mnc": 720,
|
||||||
"iso": "ca",
|
"iso": "ca",
|
||||||
@@ -22,7 +21,7 @@
|
|||||||
],
|
],
|
||||||
"naiRealmList": [
|
"naiRealmList": [
|
||||||
{
|
{
|
||||||
"model_type": "NaiRealmInformation",
|
"model_type": "PasspointNaiRealmInformation",
|
||||||
"naiRealms": [
|
"naiRealms": [
|
||||||
"rogers.com"
|
"rogers.com"
|
||||||
],
|
],
|
||||||
@@ -44,7 +43,7 @@
|
|||||||
],
|
],
|
||||||
"osuIconList": [
|
"osuIconList": [
|
||||||
{
|
{
|
||||||
"model_type": "OsuIcon",
|
"model_type": "PasspointOsuIcon",
|
||||||
"iconWidth": 32,
|
"iconWidth": 32,
|
||||||
"iconHeight": 32,
|
"iconHeight": 32,
|
||||||
"languageCode": "eng",
|
"languageCode": "eng",
|
||||||
@@ -55,7 +54,7 @@
|
|||||||
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "OsuIcon",
|
"model_type": "PasspointOsuIcon",
|
||||||
"iconWidth": 32,
|
"iconWidth": 32,
|
||||||
"iconHeight": 32,
|
"iconHeight": 32,
|
||||||
"languageCode": "fra",
|
"languageCode": "fra",
|
||||||
@@ -66,7 +65,7 @@
|
|||||||
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "OsuIcon",
|
"model_type": "PasspointOsuIcon",
|
||||||
"iconWidth": 32,
|
"iconWidth": 32,
|
||||||
"iconHeight": 32,
|
"iconHeight": 32,
|
||||||
"languageCode": "eng",
|
"languageCode": "eng",
|
||||||
@@ -77,19 +76,19 @@
|
|||||||
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
|
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"osuServerUri": "https://example.com/osu/rogers/",
|
"osuServerUri": "https://example.com/osu/rogers",
|
||||||
"osuFriendlyName": [
|
"osuFriendlyName": [
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "en_CA",
|
"locale": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleIso3Language": "eng",
|
||||||
"dupleName": "Example provider rogers",
|
"dupleName": "Example provider rogers",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "eng:Example provider rogers"
|
"asDuple": "eng:Example provider rogers"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "fr_CA",
|
"locale": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleIso3Language": "fra",
|
||||||
"dupleName": "Exemple de fournisseur rogers",
|
"dupleName": "Exemple de fournisseur rogers",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
@@ -104,40 +103,43 @@
|
|||||||
],
|
],
|
||||||
"osuServiceDescription": [
|
"osuServiceDescription": [
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "en_CA",
|
"locale": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleIso3Language": "eng",
|
||||||
"dupleName": "Example services rogers",
|
"dupleName": "Example services rogers",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "eng:Example services rogers"
|
"asDuple": "eng:Example services rogers"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "fr_CA",
|
"locale": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleIso3Language": "fra",
|
||||||
"dupleName": "Exemples de services rogers",
|
"dupleName": "Exemples de services rogers",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "fra:Exemples de services rogers"
|
"asDuple": "fra:Exemples de services rogers"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"profileType": "id_provider"
|
"roamingOi": [
|
||||||
|
"BAA2D00100",
|
||||||
|
"BAA2D00000"
|
||||||
|
],
|
||||||
|
"profileType": "passpoint_osu_id_provider"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182805654,
|
"createdTimestamp": 1611264539070,
|
||||||
"lastModifiedTimestamp": 1602182805654,
|
"lastModifiedTimestamp": 1611264539070,
|
||||||
"childProfileIds": []
|
"childProfileIds": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 9,
|
"id": 36,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "id_provider",
|
"profileType": "passpoint_osu_id_provider",
|
||||||
"name": "TipWlan-Hotspot20-OSU-Provider-2",
|
"name": "provider2-profile-2021-01-21T21:28:59.118Z",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "Hotspot20IdProviderProfile",
|
"model_type": "PasspointOsuProviderProfile",
|
||||||
"domainName": "telus.com",
|
|
||||||
"mccMncList": [
|
"mccMncList": [
|
||||||
{
|
{
|
||||||
"model_type": "MccMnc",
|
"model_type": "PasspointMccMnc",
|
||||||
"mcc": 302,
|
"mcc": 302,
|
||||||
"mnc": 220,
|
"mnc": 220,
|
||||||
"iso": "ca",
|
"iso": "ca",
|
||||||
@@ -149,7 +151,7 @@
|
|||||||
],
|
],
|
||||||
"naiRealmList": [
|
"naiRealmList": [
|
||||||
{
|
{
|
||||||
"model_type": "NaiRealmInformation",
|
"model_type": "PasspointNaiRealmInformation",
|
||||||
"naiRealms": [
|
"naiRealms": [
|
||||||
"telus.com"
|
"telus.com"
|
||||||
],
|
],
|
||||||
@@ -171,7 +173,7 @@
|
|||||||
],
|
],
|
||||||
"osuIconList": [
|
"osuIconList": [
|
||||||
{
|
{
|
||||||
"model_type": "OsuIcon",
|
"model_type": "PasspointOsuIcon",
|
||||||
"iconWidth": 32,
|
"iconWidth": 32,
|
||||||
"iconHeight": 32,
|
"iconHeight": 32,
|
||||||
"languageCode": "eng",
|
"languageCode": "eng",
|
||||||
@@ -182,7 +184,7 @@
|
|||||||
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "OsuIcon",
|
"model_type": "PasspointOsuIcon",
|
||||||
"iconWidth": 32,
|
"iconWidth": 32,
|
||||||
"iconHeight": 32,
|
"iconHeight": 32,
|
||||||
"languageCode": "fra",
|
"languageCode": "fra",
|
||||||
@@ -193,7 +195,7 @@
|
|||||||
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "OsuIcon",
|
"model_type": "PasspointOsuIcon",
|
||||||
"iconWidth": 32,
|
"iconWidth": 32,
|
||||||
"iconHeight": 32,
|
"iconHeight": 32,
|
||||||
"languageCode": "eng",
|
"languageCode": "eng",
|
||||||
@@ -204,19 +206,19 @@
|
|||||||
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
|
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"osuServerUri": "https://example.com/osu/telus/",
|
"osuServerUri": "https://example.com/osu/telus",
|
||||||
"osuFriendlyName": [
|
"osuFriendlyName": [
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "en_CA",
|
"locale": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleIso3Language": "eng",
|
||||||
"dupleName": "Example provider telus",
|
"dupleName": "Example provider telus",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "eng:Example provider telus"
|
"asDuple": "eng:Example provider telus"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "fr_CA",
|
"locale": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleIso3Language": "fra",
|
||||||
"dupleName": "Exemple de fournisseur telus",
|
"dupleName": "Exemple de fournisseur telus",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
@@ -231,26 +233,31 @@
|
|||||||
],
|
],
|
||||||
"osuServiceDescription": [
|
"osuServiceDescription": [
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "en_CA",
|
"locale": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleIso3Language": "eng",
|
||||||
"dupleName": "Example services telus",
|
"dupleName": "Example services telus",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "eng:Example services telus"
|
"asDuple": "eng:Example services telus"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "fr_CA",
|
"locale": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleIso3Language": "fra",
|
||||||
"dupleName": "Exemples de services telus",
|
"dupleName": "Exemples de services telus",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "fra:Exemples de services telus"
|
"asDuple": "fra:Exemples de services telus"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"profileType": "id_provider"
|
"roamingOi": [
|
||||||
|
"004096",
|
||||||
|
"005014",
|
||||||
|
"F4F5E8F5F4"
|
||||||
|
],
|
||||||
|
"profileType": "passpoint_osu_id_provider"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182805660,
|
"createdTimestamp": 1611264539131,
|
||||||
"lastModifiedTimestamp": 1602182805660,
|
"lastModifiedTimestamp": 1611264539131,
|
||||||
"childProfileIds": []
|
"childProfileIds": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 2,
|
"id": 10,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "metrics",
|
"profileType": "service_metrics_collection_config",
|
||||||
"name": "Metrics-Profile-3-radios",
|
"name": "Metrics-Profile-3-Radios",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "ServiceMetricsCollectionConfigProfile",
|
"model_type": "ServiceMetricsCollectionConfigProfile",
|
||||||
"radioTypes": [
|
"radioTypes": [
|
||||||
"is5GHzU",
|
|
||||||
"is5GHzL",
|
"is5GHzL",
|
||||||
"is2dot4GHz"
|
"is2dot4GHz",
|
||||||
|
"is5GHzU"
|
||||||
],
|
],
|
||||||
"serviceMetricDataTypes": [
|
"serviceMetricDataTypes": [
|
||||||
"ApNode",
|
"ApNode",
|
||||||
@@ -29,9 +29,9 @@
|
|||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzL",
|
||||||
"radioType": "is5GHzU",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
@@ -41,9 +41,9 @@
|
|||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzU",
|
||||||
"radioType": "is5GHzL",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
@@ -53,9 +53,9 @@
|
|||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is2dot4GHz",
|
||||||
"serviceMetricDataType": "ApNode"
|
"serviceMetricDataType": "ApNode",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
@@ -65,33 +65,33 @@
|
|||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzL",
|
|
||||||
"serviceMetricDataType": "ApNode"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "ApNode"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is5GHzU",
|
||||||
"serviceMetricDataType": "ApNode"
|
"serviceMetricDataType": "ApNode",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is2dot4GHz",
|
||||||
|
"serviceMetricDataType": "ApNode",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is5GHzL",
|
||||||
|
"serviceMetricDataType": "ApNode",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"ApSsid": [
|
"ApSsid": [
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is5GHzU",
|
||||||
"serviceMetricDataType": "ApSsid"
|
"serviceMetricDataType": "ApSsid"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -113,7 +113,7 @@
|
|||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is2dot4GHz",
|
||||||
"serviceMetricDataType": "ApSsid"
|
"serviceMetricDataType": "ApSsid"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is5GHzU",
|
||||||
"serviceMetricDataType": "Client"
|
"serviceMetricDataType": "Client"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -136,7 +136,7 @@
|
|||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is2dot4GHz",
|
||||||
"serviceMetricDataType": "Client"
|
"serviceMetricDataType": "Client"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -144,38 +144,14 @@
|
|||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"serviceMetricDataType": "Channel"
|
"serviceMetricDataType": "Channel",
|
||||||
},
|
"statsReportFormat": "RAW"
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "Channel"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"serviceMetricDataType": "Channel"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
@@ -185,95 +161,83 @@
|
|||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzU",
|
||||||
|
"serviceMetricDataType": "Channel",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 120,
|
||||||
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is2dot4GHz",
|
||||||
|
"serviceMetricDataType": "Channel",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is5GHzU",
|
||||||
|
"serviceMetricDataType": "Channel",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is2dot4GHz",
|
||||||
|
"serviceMetricDataType": "Channel",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"serviceMetricDataType": "Channel"
|
"serviceMetricDataType": "Channel",
|
||||||
},
|
"statsReportFormat": "RAW"
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 120,
|
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "Channel"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 120,
|
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"serviceMetricDataType": "Channel"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"Neighbour": [
|
"Neighbour": [
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzL",
|
|
||||||
"serviceMetricDataType": "Neighbour"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "Neighbour"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is5GHzU",
|
||||||
"serviceMetricDataType": "Neighbour"
|
"serviceMetricDataType": "Neighbour",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 120,
|
"reportingIntervalSeconds": 60,
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"serviceMetricDataType": "Neighbour"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 120,
|
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"serviceMetricDataType": "Neighbour"
|
"serviceMetricDataType": "Neighbour",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
@@ -283,16 +247,53 @@
|
|||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is2dot4GHz",
|
||||||
"serviceMetricDataType": "Neighbour"
|
"serviceMetricDataType": "Neighbour",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is5GHzU",
|
||||||
|
"serviceMetricDataType": "Neighbour",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 120,
|
||||||
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is5GHzL",
|
||||||
|
"serviceMetricDataType": "Neighbour",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is2dot4GHz",
|
||||||
|
"serviceMetricDataType": "Neighbour",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"profileType": "metrics"
|
"profileType": "service_metrics_collection_config"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602113058699,
|
"createdTimestamp": 1606778369931,
|
||||||
"lastModifiedTimestamp": 1602113058699,
|
"lastModifiedTimestamp": 1606778369931,
|
||||||
"childProfileIds": []
|
"childProfileIds": [
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1,37 +1,41 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 6,
|
"id": 34,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "operator",
|
"profileType": "passpoint_operator",
|
||||||
"name": "TipWlan-Hotspot20-Operator",
|
"name": "operator-profile-2021-01-21T21:28:58.994Z",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "OperatorProfile",
|
"model_type": "PasspointOperatorProfile",
|
||||||
"domainName": "telecominfraproject.atlassian.net",
|
|
||||||
"serverOnlyAuthenticatedL2EncryptionNetwork": false,
|
"serverOnlyAuthenticatedL2EncryptionNetwork": false,
|
||||||
"x509CertificateLocation": "/etc/ca.pem",
|
"x509CertificateLocation": "/etc/ca.pem",
|
||||||
"operatorFriendlyName": [
|
"operatorFriendlyName": [
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "en_CA",
|
"locale": "fra",
|
||||||
"dupleIso3Language": "eng",
|
|
||||||
"dupleName": "Default friendly operator name",
|
|
||||||
"defaultDupleSeparator": ":",
|
|
||||||
"asDuple": "eng:Default friendly operator name"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "Hotspot20Duple",
|
|
||||||
"locale": "fr_CA",
|
|
||||||
"dupleIso3Language": "fra",
|
"dupleIso3Language": "fra",
|
||||||
"dupleName": "Nom de l'opérateur convivial par défaut",
|
"dupleName": "Nom de l'opérateur convivial par défaut",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "fra:Nom de l'opérateur convivial par défaut"
|
"asDuple": "fra:Nom de l'opérateur convivial par défaut"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "PasspointDuple",
|
||||||
|
"locale": "eng",
|
||||||
|
"dupleIso3Language": "eng",
|
||||||
|
"dupleName": "Default friendly passpoint_operator name",
|
||||||
|
"defaultDupleSeparator": ":",
|
||||||
|
"asDuple": "eng:Default friendly passpoint_operator name"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"profileType": "operator"
|
"domainNameList": [
|
||||||
|
"bell.ca",
|
||||||
|
"telus.com",
|
||||||
|
"rogers.com"
|
||||||
|
],
|
||||||
|
"profileType": "passpoint_operator"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602113058719,
|
"createdTimestamp": 1611264539004,
|
||||||
"lastModifiedTimestamp": 1602113058719,
|
"lastModifiedTimestamp": 1611264539004,
|
||||||
"childProfileIds": []
|
"childProfileIds": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -7,28 +7,18 @@
|
|||||||
"name": "Radius-Profile",
|
"name": "Radius-Profile",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "RadiusProfile",
|
"model_type": "RadiusProfile",
|
||||||
"subnetConfiguration": null,
|
"primaryRadiusAuthServer": {
|
||||||
"serviceRegionMap": {
|
|
||||||
"Ottawa": {
|
|
||||||
"model_type": "RadiusServiceRegion",
|
|
||||||
"serverMap": {
|
|
||||||
"Radius-Profile": [
|
|
||||||
{
|
|
||||||
"model_type": "RadiusServer",
|
"model_type": "RadiusServer",
|
||||||
"ipAddress": "192.168.0.1",
|
"ipAddress": "192.168.0.1",
|
||||||
"secret": "testing123",
|
"secret": "testing123",
|
||||||
"authPort": 1812,
|
"port": 1812,
|
||||||
"timeout": null
|
"timeout": null
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"regionName": "Ottawa"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"profileType": "radius"
|
"profileType": "radius"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1601961451668,
|
"createdTimestamp": 1611262628767,
|
||||||
"lastModifiedTimestamp": 1601961451668,
|
"lastModifiedTimestamp": 1611262628767,
|
||||||
"childProfileIds": []
|
"childProfileIds": [
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 13,
|
"id": 4,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "rf",
|
"profileType": "rf",
|
||||||
"name": "TipWlan-rf",
|
"name": "TipWlan-rf",
|
||||||
@@ -9,16 +9,15 @@
|
|||||||
"rfConfigMap": {
|
"rfConfigMap": {
|
||||||
"is5GHz": {
|
"is5GHz": {
|
||||||
"model_type": "RfElementConfiguration",
|
"model_type": "RfElementConfiguration",
|
||||||
"rf": "TipWlan-rf",
|
|
||||||
"radioType": "is5GHz",
|
"radioType": "is5GHz",
|
||||||
"radioMode": "modeAC",
|
"radioMode": "modeAC",
|
||||||
|
"rf": "TipWlan-rf",
|
||||||
"beaconInterval": 100,
|
"beaconInterval": 100,
|
||||||
"forceScanDuringVoice": "disabled",
|
"forceScanDuringVoice": "disabled",
|
||||||
"rtsCtsThreshold": 65535,
|
"rtsCtsThreshold": 65535,
|
||||||
"channelBandwidth": "is80MHz",
|
"channelBandwidth": "is80MHz",
|
||||||
"mimoMode": "twoByTwo",
|
"mimoMode": "twoByTwo",
|
||||||
"maxNumClients": 100,
|
"maxNumClients": 100,
|
||||||
"multicastRate": "auto",
|
|
||||||
"autoChannelSelection": false,
|
"autoChannelSelection": false,
|
||||||
"activeScanSettings": {
|
"activeScanSettings": {
|
||||||
"model_type": "ActiveScanSettings",
|
"model_type": "ActiveScanSettings",
|
||||||
@@ -26,17 +25,12 @@
|
|||||||
"scanFrequencySeconds": 10,
|
"scanFrequencySeconds": 10,
|
||||||
"scanDurationMillis": 65
|
"scanDurationMillis": 65
|
||||||
},
|
},
|
||||||
"managementRate": "auto",
|
|
||||||
"rxCellSizeDb": -90,
|
|
||||||
"probeResponseThresholdDb": -90,
|
|
||||||
"clientDisconnectThresholdDb": -90,
|
|
||||||
"eirpTxPower": 18,
|
|
||||||
"bestApEnabled": null,
|
|
||||||
"neighbouringListApConfig": {
|
"neighbouringListApConfig": {
|
||||||
"model_type": "NeighbouringAPListConfiguration",
|
"model_type": "NeighbouringAPListConfiguration",
|
||||||
"minSignal": -85,
|
"minSignal": -85,
|
||||||
"maxAps": 25
|
"maxAps": 25
|
||||||
},
|
},
|
||||||
|
"minAutoCellSize": -65,
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"channelHopSettings": {
|
"channelHopSettings": {
|
||||||
"model_type": "ChannelHopSettings",
|
"model_type": "ChannelHopSettings",
|
||||||
@@ -46,26 +40,31 @@
|
|||||||
"nonWifiThresholdTimeInSeconds": 180,
|
"nonWifiThresholdTimeInSeconds": 180,
|
||||||
"obssHopMode": "NON_WIFI"
|
"obssHopMode": "NON_WIFI"
|
||||||
},
|
},
|
||||||
|
"bestApEnabled": null,
|
||||||
|
"multicastRate": "auto",
|
||||||
|
"managementRate": "auto",
|
||||||
|
"rxCellSizeDb": -90,
|
||||||
|
"probeResponseThresholdDb": -90,
|
||||||
|
"clientDisconnectThresholdDb": -90,
|
||||||
|
"eirpTxPower": 18,
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 30,
|
"dropInSnrPercentage": 30,
|
||||||
"minLoadFactor": 40
|
"minLoadFactor": 40
|
||||||
},
|
}
|
||||||
"minAutoCellSize": -65
|
|
||||||
},
|
},
|
||||||
"is2dot4GHz": {
|
"is2dot4GHz": {
|
||||||
"model_type": "RfElementConfiguration",
|
"model_type": "RfElementConfiguration",
|
||||||
"rf": "TipWlan-rf",
|
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is2dot4GHz",
|
||||||
"radioMode": "modeN",
|
"radioMode": "modeN",
|
||||||
|
"rf": "TipWlan-rf",
|
||||||
"beaconInterval": 100,
|
"beaconInterval": 100,
|
||||||
"forceScanDuringVoice": "disabled",
|
"forceScanDuringVoice": "disabled",
|
||||||
"rtsCtsThreshold": 65535,
|
"rtsCtsThreshold": 65535,
|
||||||
"channelBandwidth": "is20MHz",
|
"channelBandwidth": "is20MHz",
|
||||||
"mimoMode": "twoByTwo",
|
"mimoMode": "twoByTwo",
|
||||||
"maxNumClients": 100,
|
"maxNumClients": 100,
|
||||||
"multicastRate": "auto",
|
|
||||||
"autoChannelSelection": false,
|
"autoChannelSelection": false,
|
||||||
"activeScanSettings": {
|
"activeScanSettings": {
|
||||||
"model_type": "ActiveScanSettings",
|
"model_type": "ActiveScanSettings",
|
||||||
@@ -73,17 +72,12 @@
|
|||||||
"scanFrequencySeconds": 10,
|
"scanFrequencySeconds": 10,
|
||||||
"scanDurationMillis": 65
|
"scanDurationMillis": 65
|
||||||
},
|
},
|
||||||
"managementRate": "auto",
|
|
||||||
"rxCellSizeDb": -90,
|
|
||||||
"probeResponseThresholdDb": -90,
|
|
||||||
"clientDisconnectThresholdDb": -90,
|
|
||||||
"eirpTxPower": 18,
|
|
||||||
"bestApEnabled": null,
|
|
||||||
"neighbouringListApConfig": {
|
"neighbouringListApConfig": {
|
||||||
"model_type": "NeighbouringAPListConfiguration",
|
"model_type": "NeighbouringAPListConfiguration",
|
||||||
"minSignal": -85,
|
"minSignal": -85,
|
||||||
"maxAps": 25
|
"maxAps": 25
|
||||||
},
|
},
|
||||||
|
"minAutoCellSize": -65,
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"channelHopSettings": {
|
"channelHopSettings": {
|
||||||
"model_type": "ChannelHopSettings",
|
"model_type": "ChannelHopSettings",
|
||||||
@@ -93,26 +87,31 @@
|
|||||||
"nonWifiThresholdTimeInSeconds": 180,
|
"nonWifiThresholdTimeInSeconds": 180,
|
||||||
"obssHopMode": "NON_WIFI"
|
"obssHopMode": "NON_WIFI"
|
||||||
},
|
},
|
||||||
|
"bestApEnabled": null,
|
||||||
|
"multicastRate": "auto",
|
||||||
|
"managementRate": "auto",
|
||||||
|
"rxCellSizeDb": -90,
|
||||||
|
"probeResponseThresholdDb": -90,
|
||||||
|
"clientDisconnectThresholdDb": -90,
|
||||||
|
"eirpTxPower": 18,
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 20,
|
"dropInSnrPercentage": 20,
|
||||||
"minLoadFactor": 50
|
"minLoadFactor": 50
|
||||||
},
|
}
|
||||||
"minAutoCellSize": -65
|
|
||||||
},
|
},
|
||||||
"is5GHzU": {
|
"is5GHzU": {
|
||||||
"model_type": "RfElementConfiguration",
|
"model_type": "RfElementConfiguration",
|
||||||
"rf": "TipWlan-rf",
|
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is5GHzU",
|
||||||
"radioMode": "modeAC",
|
"radioMode": "modeAC",
|
||||||
|
"rf": "TipWlan-rf",
|
||||||
"beaconInterval": 100,
|
"beaconInterval": 100,
|
||||||
"forceScanDuringVoice": "disabled",
|
"forceScanDuringVoice": "disabled",
|
||||||
"rtsCtsThreshold": 65535,
|
"rtsCtsThreshold": 65535,
|
||||||
"channelBandwidth": "is80MHz",
|
"channelBandwidth": "is80MHz",
|
||||||
"mimoMode": "twoByTwo",
|
"mimoMode": "twoByTwo",
|
||||||
"maxNumClients": 100,
|
"maxNumClients": 100,
|
||||||
"multicastRate": "auto",
|
|
||||||
"autoChannelSelection": false,
|
"autoChannelSelection": false,
|
||||||
"activeScanSettings": {
|
"activeScanSettings": {
|
||||||
"model_type": "ActiveScanSettings",
|
"model_type": "ActiveScanSettings",
|
||||||
@@ -120,17 +119,12 @@
|
|||||||
"scanFrequencySeconds": 10,
|
"scanFrequencySeconds": 10,
|
||||||
"scanDurationMillis": 65
|
"scanDurationMillis": 65
|
||||||
},
|
},
|
||||||
"managementRate": "auto",
|
|
||||||
"rxCellSizeDb": -90,
|
|
||||||
"probeResponseThresholdDb": -90,
|
|
||||||
"clientDisconnectThresholdDb": -90,
|
|
||||||
"eirpTxPower": 18,
|
|
||||||
"bestApEnabled": null,
|
|
||||||
"neighbouringListApConfig": {
|
"neighbouringListApConfig": {
|
||||||
"model_type": "NeighbouringAPListConfiguration",
|
"model_type": "NeighbouringAPListConfiguration",
|
||||||
"minSignal": -85,
|
"minSignal": -85,
|
||||||
"maxAps": 25
|
"maxAps": 25
|
||||||
},
|
},
|
||||||
|
"minAutoCellSize": -65,
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"channelHopSettings": {
|
"channelHopSettings": {
|
||||||
"model_type": "ChannelHopSettings",
|
"model_type": "ChannelHopSettings",
|
||||||
@@ -140,26 +134,31 @@
|
|||||||
"nonWifiThresholdTimeInSeconds": 180,
|
"nonWifiThresholdTimeInSeconds": 180,
|
||||||
"obssHopMode": "NON_WIFI"
|
"obssHopMode": "NON_WIFI"
|
||||||
},
|
},
|
||||||
|
"bestApEnabled": null,
|
||||||
|
"multicastRate": "auto",
|
||||||
|
"managementRate": "auto",
|
||||||
|
"rxCellSizeDb": -90,
|
||||||
|
"probeResponseThresholdDb": -90,
|
||||||
|
"clientDisconnectThresholdDb": -90,
|
||||||
|
"eirpTxPower": 18,
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 30,
|
"dropInSnrPercentage": 30,
|
||||||
"minLoadFactor": 40
|
"minLoadFactor": 40
|
||||||
},
|
}
|
||||||
"minAutoCellSize": -65
|
|
||||||
},
|
},
|
||||||
"is5GHzL": {
|
"is5GHzL": {
|
||||||
"model_type": "RfElementConfiguration",
|
"model_type": "RfElementConfiguration",
|
||||||
"rf": "TipWlan-rf",
|
|
||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"radioMode": "modeAC",
|
"radioMode": "modeAC",
|
||||||
|
"rf": "TipWlan-rf",
|
||||||
"beaconInterval": 100,
|
"beaconInterval": 100,
|
||||||
"forceScanDuringVoice": "disabled",
|
"forceScanDuringVoice": "disabled",
|
||||||
"rtsCtsThreshold": 65535,
|
"rtsCtsThreshold": 65535,
|
||||||
"channelBandwidth": "is80MHz",
|
"channelBandwidth": "is80MHz",
|
||||||
"mimoMode": "twoByTwo",
|
"mimoMode": "twoByTwo",
|
||||||
"maxNumClients": 100,
|
"maxNumClients": 100,
|
||||||
"multicastRate": "auto",
|
|
||||||
"autoChannelSelection": false,
|
"autoChannelSelection": false,
|
||||||
"activeScanSettings": {
|
"activeScanSettings": {
|
||||||
"model_type": "ActiveScanSettings",
|
"model_type": "ActiveScanSettings",
|
||||||
@@ -167,17 +166,12 @@
|
|||||||
"scanFrequencySeconds": 10,
|
"scanFrequencySeconds": 10,
|
||||||
"scanDurationMillis": 65
|
"scanDurationMillis": 65
|
||||||
},
|
},
|
||||||
"managementRate": "auto",
|
|
||||||
"rxCellSizeDb": -90,
|
|
||||||
"probeResponseThresholdDb": -90,
|
|
||||||
"clientDisconnectThresholdDb": -90,
|
|
||||||
"eirpTxPower": 18,
|
|
||||||
"bestApEnabled": null,
|
|
||||||
"neighbouringListApConfig": {
|
"neighbouringListApConfig": {
|
||||||
"model_type": "NeighbouringAPListConfiguration",
|
"model_type": "NeighbouringAPListConfiguration",
|
||||||
"minSignal": -85,
|
"minSignal": -85,
|
||||||
"maxAps": 25
|
"maxAps": 25
|
||||||
},
|
},
|
||||||
|
"minAutoCellSize": -65,
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"channelHopSettings": {
|
"channelHopSettings": {
|
||||||
"model_type": "ChannelHopSettings",
|
"model_type": "ChannelHopSettings",
|
||||||
@@ -187,18 +181,24 @@
|
|||||||
"nonWifiThresholdTimeInSeconds": 180,
|
"nonWifiThresholdTimeInSeconds": 180,
|
||||||
"obssHopMode": "NON_WIFI"
|
"obssHopMode": "NON_WIFI"
|
||||||
},
|
},
|
||||||
|
"bestApEnabled": null,
|
||||||
|
"multicastRate": "auto",
|
||||||
|
"managementRate": "auto",
|
||||||
|
"rxCellSizeDb": -90,
|
||||||
|
"probeResponseThresholdDb": -90,
|
||||||
|
"clientDisconnectThresholdDb": -90,
|
||||||
|
"eirpTxPower": 18,
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 30,
|
"dropInSnrPercentage": 30,
|
||||||
"minLoadFactor": 40
|
"minLoadFactor": 40
|
||||||
},
|
}
|
||||||
"minAutoCellSize": -65
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"profileType": "rf"
|
"profileType": "rf"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182806063,
|
"createdTimestamp": 1612285248650,
|
||||||
"lastModifiedTimestamp": 1602182806063,
|
"lastModifiedTimestamp": 1612285248650,
|
||||||
"childProfileIds": []
|
"childProfileIds": []
|
||||||
}
|
}
|
||||||
@@ -1,73 +1,7 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 5,
|
"id": 2,
|
||||||
"customerId": 2,
|
|
||||||
"profileType": "ssid",
|
|
||||||
"name": "TipWlan-cloud-hotspot-access",
|
|
||||||
"details": {
|
|
||||||
"model_type": "SsidConfiguration",
|
|
||||||
"ssid": "TipWlan-cloud-hotspot-access",
|
|
||||||
"appliedRadios": [
|
|
||||||
"is5GHzU",
|
|
||||||
"is5GHzL",
|
|
||||||
"is2dot4GHz"
|
|
||||||
],
|
|
||||||
"ssidAdminState": "enabled",
|
|
||||||
"secureMode": "wpa2PSK",
|
|
||||||
"vlanId": 1,
|
|
||||||
"keyStr": "testing123",
|
|
||||||
"broadcastSsid": "enabled",
|
|
||||||
"keyRefresh": 0,
|
|
||||||
"noLocalSubnets": false,
|
|
||||||
"radiusServiceName": null,
|
|
||||||
"captivePortalId": null,
|
|
||||||
"bandwidthLimitDown": 0,
|
|
||||||
"bandwidthLimitUp": 0,
|
|
||||||
"clientBandwidthLimitDown": 0,
|
|
||||||
"clientBandwidthLimitUp": 0,
|
|
||||||
"videoTrafficOnly": false,
|
|
||||||
"radioBasedConfigs": {
|
|
||||||
"is5GHz": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is2dot4GHz": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is5GHzU": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is5GHzL": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bonjourGatewayProfileId": null,
|
|
||||||
"enable80211w": null,
|
|
||||||
"wepConfig": null,
|
|
||||||
"forwardMode": null,
|
|
||||||
"profileType": "ssid"
|
|
||||||
},
|
|
||||||
"createdTimestamp": 1602113058718,
|
|
||||||
"lastModifiedTimestamp": 1602113059547,
|
|
||||||
"childProfileIds": [
|
|
||||||
10
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "Profile",
|
|
||||||
"id": 11,
|
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "ssid",
|
"profileType": "ssid",
|
||||||
"name": "TipWlan-cloud-3-radios",
|
"name": "TipWlan-cloud-3-radios",
|
||||||
@@ -75,18 +9,19 @@
|
|||||||
"model_type": "SsidConfiguration",
|
"model_type": "SsidConfiguration",
|
||||||
"ssid": "TipWlan-cloud-3-radios",
|
"ssid": "TipWlan-cloud-3-radios",
|
||||||
"appliedRadios": [
|
"appliedRadios": [
|
||||||
"is5GHzL",
|
"is5GHzU",
|
||||||
"is2dot4GHz",
|
"is2dot4GHz",
|
||||||
"is5GHzU"
|
"is5GHzL"
|
||||||
],
|
],
|
||||||
"ssidAdminState": "enabled",
|
"ssidAdminState": "enabled",
|
||||||
"secureMode": "open",
|
"secureMode": "wpa2OnlyPSK",
|
||||||
"vlanId": 1,
|
"vlanId": 1,
|
||||||
"keyStr": null,
|
"keyStr": "openwifi",
|
||||||
"broadcastSsid": "enabled",
|
"broadcastSsid": "enabled",
|
||||||
"keyRefresh": 0,
|
"keyRefresh": 0,
|
||||||
"noLocalSubnets": false,
|
"noLocalSubnets": false,
|
||||||
"radiusServiceName": null,
|
"radiusServiceId": 0,
|
||||||
|
"radiusAcountingServiceInterval": 60,
|
||||||
"captivePortalId": null,
|
"captivePortalId": null,
|
||||||
"bandwidthLimitDown": 0,
|
"bandwidthLimitDown": 0,
|
||||||
"bandwidthLimitUp": 0,
|
"bandwidthLimitUp": 0,
|
||||||
@@ -94,7 +29,7 @@
|
|||||||
"clientBandwidthLimitUp": 0,
|
"clientBandwidthLimitUp": 0,
|
||||||
"videoTrafficOnly": false,
|
"videoTrafficOnly": false,
|
||||||
"radioBasedConfigs": {
|
"radioBasedConfigs": {
|
||||||
"is5GHz": {
|
"is5GHzU": {
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211r": null,
|
"enable80211r": null,
|
||||||
"enable80211k": null,
|
"enable80211k": null,
|
||||||
@@ -106,7 +41,7 @@
|
|||||||
"enable80211k": null,
|
"enable80211k": null,
|
||||||
"enable80211v": null
|
"enable80211v": null
|
||||||
},
|
},
|
||||||
"is5GHzU": {
|
"is5GHz": {
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211r": null,
|
"enable80211r": null,
|
||||||
"enable80211k": null,
|
"enable80211k": null,
|
||||||
@@ -122,13 +57,19 @@
|
|||||||
"bonjourGatewayProfileId": null,
|
"bonjourGatewayProfileId": null,
|
||||||
"enable80211w": null,
|
"enable80211w": null,
|
||||||
"wepConfig": null,
|
"wepConfig": null,
|
||||||
"forwardMode": null,
|
"forwardMode": "BRIDGE",
|
||||||
"profileType": "ssid"
|
"profileType": "ssid",
|
||||||
},
|
"radiusClientConfiguration": {
|
||||||
"createdTimestamp": 1602183994766,
|
"model_type": "RadiusNasConfiguration",
|
||||||
"lastModifiedTimestamp": 1602183994766,
|
"nasClientId": "DEFAULT",
|
||||||
"childProfileIds": [
|
"nasClientIp": "WAN_IP",
|
||||||
10
|
"userDefinedNasId": null,
|
||||||
]
|
"userDefinedNasIp": null,
|
||||||
|
"operatorId": null
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"createdTimestamp": 1612285248638,
|
||||||
|
"lastModifiedTimestamp": 1612285248638,
|
||||||
|
"childProfileIds": []
|
||||||
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 7,
|
"id": 33,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "venue",
|
"profileType": "passpoint_venue",
|
||||||
"name": "TipWlan-Hotspot20-Venue",
|
"name": "venue-profile-2021-01-21T21:28:58.934Z",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "VenueProfile",
|
"model_type": "PasspointVenueProfile",
|
||||||
"venueNameSet": [
|
"venueNameSet": [
|
||||||
{
|
{
|
||||||
"model_type": "VenueName",
|
"model_type": "PasspointVenueName",
|
||||||
"locale": "fr_CA",
|
"locale": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleIso3Language": "fra",
|
||||||
"dupleName": "Exemple de lieu",
|
"dupleName": "Exemple de lieu",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
@@ -18,25 +18,25 @@
|
|||||||
"asDuple": "fra:Exemple de lieu"
|
"asDuple": "fra:Exemple de lieu"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "VenueName",
|
"model_type": "PasspointVenueName",
|
||||||
"locale": "en_CA",
|
"locale": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleIso3Language": "eng",
|
||||||
"dupleName": "Example venue",
|
"dupleName": "Example passpoint_venue",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"venueUrl": "http://www.example.com/info-eng",
|
"venueUrl": "http://www.example.com/info-eng",
|
||||||
"asDuple": "eng:Example venue"
|
"asDuple": "eng:Example passpoint_venue"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"venueTypeAssignment": {
|
"venueTypeAssignment": {
|
||||||
"model_type": "VenueTypeAssignment",
|
"model_type": "PasspointVenueTypeAssignment",
|
||||||
"venueDescription": "Research and Development Facility",
|
"venueDescription": "Research and Development Facility",
|
||||||
"venueGroupId": 2,
|
"venueGroupId": 2,
|
||||||
"venueTypeId": 8
|
"venueTypeId": 8
|
||||||
},
|
},
|
||||||
"profileType": "venue"
|
"profileType": "passpoint_venue"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602113058725,
|
"createdTimestamp": 1611264538947,
|
||||||
"lastModifiedTimestamp": 1602113058725,
|
"lastModifiedTimestamp": 1611264538947,
|
||||||
"childProfileIds": []
|
"childProfileIds": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -56,6 +56,8 @@ RESTAPI_PROPS+=" -Dserver.port=443"
|
|||||||
|
|
||||||
SPRING_EXTRA_PROPS=" --add-opens java.base/java.lang=ALL-UNNAMED"
|
SPRING_EXTRA_PROPS=" --add-opens java.base/java.lang=ALL-UNNAMED"
|
||||||
|
|
||||||
export ALL_PROPS="$PROFILES $SSL_PROPS $CLIENT_MQTT_SSL_PROPS $OVSDB_PROPS $MQTT_PROPS $LOGGING_PROPS $RESTAPI_PROPS $SPRING_EXTRA_PROPS"
|
JVM_EXTRA_PROPS=" ${JVM_MEM_OPTIONS:- } "
|
||||||
|
|
||||||
|
export ALL_PROPS="$JVM_EXTRA_PROPS $PROFILES $SSL_PROPS $CLIENT_MQTT_SSL_PROPS $OVSDB_PROPS $MQTT_PROPS $LOGGING_PROPS $RESTAPI_PROPS $SPRING_EXTRA_PROPS"
|
||||||
|
|
||||||
java $ALL_PROPS -jar app.jar
|
java $ALL_PROPS -jar app.jar
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<artifactId>tip-wlan-cloud-root-pom</artifactId>
|
<artifactId>tip-wlan-cloud-root-pom</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
<relativePath>../../wlan-cloud-root</relativePath>
|
<relativePath>../../wlan-cloud-root</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>opensync-gateway-static-process</artifactId>
|
<artifactId>opensync-gateway-static-process</artifactId>
|
||||||
@@ -15,15 +15,10 @@
|
|||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
|
||||||
<artifactId>opensync-gateway</artifactId>
|
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<artifactId>opensync-ext-static</artifactId>
|
<artifactId>opensync-ext-static</artifactId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"model_type": "Equipment",
|
"model_type": "Equipment",
|
||||||
"id": 51,
|
"id": 1,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileId": 5,
|
"profileId": 8,
|
||||||
"locationId": 8,
|
"locationId": 8,
|
||||||
"equipmentType": "AP",
|
"equipmentType": "AP",
|
||||||
"inventoryId": "Test_Client_21P10C68818122",
|
"inventoryId": "Open_AP_21P10C68818122",
|
||||||
"name": "Test_Client_21P10C68818122",
|
"name": "Open_AP_21P10C68818122",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "ApElementConfiguration",
|
"model_type": "ApElementConfiguration",
|
||||||
"equipmentModel": "EA8300-CA",
|
"equipmentModel": "EA8300-CA",
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
"staticDnsIp1": null,
|
"staticDnsIp1": null,
|
||||||
"staticDnsIp2": null,
|
"staticDnsIp2": null,
|
||||||
"peerInfoList": [],
|
"peerInfoList": [],
|
||||||
"deviceName": "Default Device Name",
|
"deviceName": "Open_AP_21P10C68818122",
|
||||||
"locationData": null,
|
"locationData": null,
|
||||||
"locallyConfiguredMgmtVlan": 0,
|
"locallyConfiguredMgmtVlan": 0,
|
||||||
"locallyConfigured": false,
|
"locallyConfigured": false,
|
||||||
@@ -32,73 +32,246 @@
|
|||||||
"costSavingEventsEnabled": true,
|
"costSavingEventsEnabled": true,
|
||||||
"forwardMode": "BRIDGE",
|
"forwardMode": "BRIDGE",
|
||||||
"radioMap": {
|
"radioMap": {
|
||||||
|
"is5GHzU": {
|
||||||
|
"model_type": "ElementRadioConfiguration",
|
||||||
|
"radioType": "is5GHzU",
|
||||||
|
"channelNumber": 149,
|
||||||
|
"manualChannelNumber": 149,
|
||||||
|
"backupChannelNumber": 157,
|
||||||
|
"manualBackupChannelNumber": 157,
|
||||||
|
"rxCellSizeDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"probeResponseThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"clientDisconnectThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"eirpTxPower": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": 18
|
||||||
|
},
|
||||||
|
"perimeterDetectionEnabled": true,
|
||||||
|
"bestAPSteerType": "both",
|
||||||
|
"deauthAttackDetection": null,
|
||||||
|
"allowedChannelsPowerLevels": [
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 161,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 100,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 132,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 165,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 104,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 136,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 108,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 140,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 112,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 144,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 116,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 149,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 153,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 157,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"is2dot4GHz": {
|
"is2dot4GHz": {
|
||||||
"model_type": "ElementRadioConfiguration",
|
"model_type": "ElementRadioConfiguration",
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is2dot4GHz",
|
||||||
"channelNumber": 6,
|
"channelNumber": 6,
|
||||||
"manualChannelNumber": 6,
|
"manualChannelNumber": 6,
|
||||||
"backupChannelNumber": 11,
|
"backupChannelNumber": 11,
|
||||||
"bannedChannels": [],
|
"manualBackupChannelNumber": 11,
|
||||||
"allowedChannels": [],
|
|
||||||
"rxCellSizeDb": {
|
"rxCellSizeDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"probeResponseThresholdDb": {
|
"probeResponseThresholdDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"clientDisconnectThresholdDb": {
|
"clientDisconnectThresholdDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"eirpTxPower": {
|
"eirpTxPower": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": 32
|
"value": 18
|
||||||
},
|
},
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"bestAPSteerType": "both",
|
"bestAPSteerType": "both",
|
||||||
"deauthAttackDetection": null,
|
"deauthAttackDetection": null,
|
||||||
"allowedChannelsPowerLevels": [],
|
"allowedChannelsPowerLevels": [
|
||||||
"activeChannel": 6
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 1,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
},
|
},
|
||||||
"is5GHzU": {
|
{
|
||||||
"model_type": "ElementRadioConfiguration",
|
"model_type": "ChannelPowerLevel",
|
||||||
"radioType": "is5GHzU",
|
"channelNumber": 2,
|
||||||
"channelNumber": 149,
|
"powerLevel": 18,
|
||||||
"manualChannelNumber": 149,
|
"dfs": false,
|
||||||
"backupChannelNumber": 154,
|
"channelWidth": 20
|
||||||
"bannedChannels": [],
|
|
||||||
"allowedChannels": [],
|
|
||||||
"rxCellSizeDb": {
|
|
||||||
"model_type": "SourceSelectionValue",
|
|
||||||
"source": "auto",
|
|
||||||
"value": -90
|
|
||||||
},
|
},
|
||||||
"probeResponseThresholdDb": {
|
{
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "ChannelPowerLevel",
|
||||||
"source": "auto",
|
"channelNumber": 3,
|
||||||
"value": -90
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
},
|
},
|
||||||
"clientDisconnectThresholdDb": {
|
{
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "ChannelPowerLevel",
|
||||||
"source": "auto",
|
"channelNumber": 4,
|
||||||
"value": -90
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
},
|
},
|
||||||
"eirpTxPower": {
|
{
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "ChannelPowerLevel",
|
||||||
"source": "auto",
|
"channelNumber": 5,
|
||||||
"value": 32
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
},
|
},
|
||||||
"perimeterDetectionEnabled": true,
|
{
|
||||||
"bestAPSteerType": "both",
|
"model_type": "ChannelPowerLevel",
|
||||||
"deauthAttackDetection": null,
|
"channelNumber": 6,
|
||||||
"allowedChannelsPowerLevels": [],
|
"powerLevel": 18,
|
||||||
"activeChannel": 149
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 7,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 8,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 9,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 10,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 11,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"is5GHzL": {
|
"is5GHzL": {
|
||||||
"model_type": "ElementRadioConfiguration",
|
"model_type": "ElementRadioConfiguration",
|
||||||
@@ -106,33 +279,88 @@
|
|||||||
"channelNumber": 36,
|
"channelNumber": 36,
|
||||||
"manualChannelNumber": 36,
|
"manualChannelNumber": 36,
|
||||||
"backupChannelNumber": 44,
|
"backupChannelNumber": 44,
|
||||||
"bannedChannels": [],
|
"manualBackupChannelNumber": 44,
|
||||||
"allowedChannels": [],
|
|
||||||
"rxCellSizeDb": {
|
"rxCellSizeDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"probeResponseThresholdDb": {
|
"probeResponseThresholdDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"clientDisconnectThresholdDb": {
|
"clientDisconnectThresholdDb": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": -90
|
||||||
},
|
},
|
||||||
"eirpTxPower": {
|
"eirpTxPower": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionValue",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": 32
|
"value": 18
|
||||||
},
|
},
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"bestAPSteerType": "both",
|
"bestAPSteerType": "both",
|
||||||
"deauthAttackDetection": null,
|
"deauthAttackDetection": null,
|
||||||
"allowedChannelsPowerLevels": [],
|
"allowedChannelsPowerLevels": [
|
||||||
"activeChannel": 36
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 52,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 36,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 56,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 40,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 60,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 44,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 64,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 48,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"advancedRadioMap": {
|
"advancedRadioMap": {
|
||||||
@@ -141,25 +369,30 @@
|
|||||||
"radioType": "is2dot4GHz",
|
"radioType": "is2dot4GHz",
|
||||||
"radioAdminState": "enabled",
|
"radioAdminState": "enabled",
|
||||||
"fragmentationThresholdBytes": 2346,
|
"fragmentationThresholdBytes": 2346,
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
"uapsdState": "enabled",
|
||||||
"stationIsolation": "disabled",
|
"stationIsolation": "disabled",
|
||||||
|
"multicastRate": {
|
||||||
|
"model_type": "SourceSelectionMulticast",
|
||||||
|
"source": "profile",
|
||||||
|
"value": "auto"
|
||||||
|
},
|
||||||
"managementRate": {
|
"managementRate": {
|
||||||
"model_type": "SourceSelectionManagement",
|
"model_type": "SourceSelectionManagement",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": "auto"
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "SourceSelectionSteering",
|
"model_type": "SourceSelectionSteering",
|
||||||
"source": "auto",
|
"source": "manual",
|
||||||
"value": {
|
"value": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 30,
|
"dropInSnrPercentage": 20,
|
||||||
"minLoadFactor": 40
|
"minLoadFactor": 50
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"legacyBSSRate": "enabled",
|
"legacyBSSRate": "enabled",
|
||||||
|
"dtimPeriod": 2,
|
||||||
"deauthAttackDetection": null
|
"deauthAttackDetection": null
|
||||||
},
|
},
|
||||||
"is5GHzU": {
|
"is5GHzU": {
|
||||||
@@ -167,17 +400,21 @@
|
|||||||
"radioType": "is5GHzU",
|
"radioType": "is5GHzU",
|
||||||
"radioAdminState": "enabled",
|
"radioAdminState": "enabled",
|
||||||
"fragmentationThresholdBytes": 2346,
|
"fragmentationThresholdBytes": 2346,
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
"uapsdState": "enabled",
|
||||||
"stationIsolation": "disabled",
|
"stationIsolation": "disabled",
|
||||||
|
"multicastRate": {
|
||||||
|
"model_type": "SourceSelectionMulticast",
|
||||||
|
"source": "profile",
|
||||||
|
"value": "auto"
|
||||||
|
},
|
||||||
"managementRate": {
|
"managementRate": {
|
||||||
"model_type": "SourceSelectionManagement",
|
"model_type": "SourceSelectionManagement",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": "auto"
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "SourceSelectionSteering",
|
"model_type": "SourceSelectionSteering",
|
||||||
"source": "auto",
|
"source": "manual",
|
||||||
"value": {
|
"value": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
@@ -186,6 +423,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"legacyBSSRate": "enabled",
|
"legacyBSSRate": "enabled",
|
||||||
|
"dtimPeriod": 2,
|
||||||
"deauthAttackDetection": null
|
"deauthAttackDetection": null
|
||||||
},
|
},
|
||||||
"is5GHzL": {
|
"is5GHzL": {
|
||||||
@@ -193,17 +431,21 @@
|
|||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"radioAdminState": "enabled",
|
"radioAdminState": "enabled",
|
||||||
"fragmentationThresholdBytes": 2346,
|
"fragmentationThresholdBytes": 2346,
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
"uapsdState": "enabled",
|
||||||
"stationIsolation": "disabled",
|
"stationIsolation": "disabled",
|
||||||
|
"multicastRate": {
|
||||||
|
"model_type": "SourceSelectionMulticast",
|
||||||
|
"source": "profile",
|
||||||
|
"value": "auto"
|
||||||
|
},
|
||||||
"managementRate": {
|
"managementRate": {
|
||||||
"model_type": "SourceSelectionManagement",
|
"model_type": "SourceSelectionManagement",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": "auto"
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "SourceSelectionSteering",
|
"model_type": "SourceSelectionSteering",
|
||||||
"source": "auto",
|
"source": "manual",
|
||||||
"value": {
|
"value": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
@@ -212,13 +454,19 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"legacyBSSRate": "enabled",
|
"legacyBSSRate": "enabled",
|
||||||
|
"dtimPeriod": 2,
|
||||||
"deauthAttackDetection": null
|
"deauthAttackDetection": null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latitude": null,
|
"latitude": null,
|
||||||
"longitude": null,
|
"longitude": null,
|
||||||
|
"baseMacAddress": {
|
||||||
|
"model_type": "MacAddress",
|
||||||
|
"address": "JPWi7y5T",
|
||||||
|
"addressAsString": "24:f5:a2:ef:2e:53"
|
||||||
|
},
|
||||||
"serial": "21P10C68818122",
|
"serial": "21P10C68818122",
|
||||||
"createdTimestamp": 1591653239821,
|
"createdTimestamp": 1612285288821,
|
||||||
"lastModifiedTimestamp": 1591653241398
|
"lastModifiedTimestamp": 1612285293922
|
||||||
}
|
}
|
||||||
@@ -1,67 +1,61 @@
|
|||||||
{
|
{
|
||||||
"model_type" : "Location",
|
"model_type": "Location",
|
||||||
"id" : 8,
|
"id": 8,
|
||||||
"parentId" : 0,
|
"parentId": 0,
|
||||||
"locationType" : "SITE",
|
"locationType": "SITE",
|
||||||
"customerId" : 2,
|
"customerId": 2,
|
||||||
"name" : "Ottawa",
|
"name": "Ottawa",
|
||||||
"details" : {
|
"details": {
|
||||||
"model_type" : "LocationDetails",
|
"model_type": "LocationDetails",
|
||||||
"countryCode" : "ca",
|
"countryCode": "CA",
|
||||||
"maintenanceWindow" : null,
|
"dailyActivityDetails": {
|
||||||
"rrmEnabled" : true,
|
"SUNDAY": {
|
||||||
"dailyRebalancingDetails" : {
|
"model_type": "LocationActivityDetails",
|
||||||
"SUNDAY" : {
|
"busyTime": "13:30",
|
||||||
"model_type" : "LocationActivityDetails",
|
"quietTime": "3:00",
|
||||||
"busyTime" : "13:30",
|
"timezone": "US/Eastern"
|
||||||
"quietTime" : "3:30",
|
|
||||||
"timezone" : "US/Eastern",
|
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"MONDAY" : {
|
"MONDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"TUESDAY" : {
|
"TUESDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"WEDNESDAY" : {
|
"WEDNESDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"THURSDAY" : {
|
"THURSDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"FRIDAY" : {
|
"FRIDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"SATURDAY" : {
|
"SATURDAY": {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type": "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime": "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime": "3:00",
|
||||||
"timezone" : "US/Eastern",
|
"timezone": "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"createdTimestamp" : 1590607043540,
|
"maintenanceWindow": null,
|
||||||
"lastModifiedTimestamp" : 1590607043540
|
"rrmEnabled": true,
|
||||||
|
"timezone": "US/Eastern"
|
||||||
|
},
|
||||||
|
"createdTimestamp": 1612285243534,
|
||||||
|
"lastModifiedTimestamp": 1612285243534
|
||||||
}
|
}
|
||||||
@@ -10,55 +10,48 @@
|
|||||||
"countryCode" : "usa",
|
"countryCode" : "usa",
|
||||||
"maintenanceWindow" : null,
|
"maintenanceWindow" : null,
|
||||||
"rrmEnabled" : true,
|
"rrmEnabled" : true,
|
||||||
"dailyRebalancingDetails" : {
|
"dailyActivityDetails" : {
|
||||||
"SUNDAY" : {
|
"SUNDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"MONDAY" : {
|
"MONDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"TUESDAY" : {
|
"TUESDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"WEDNESDAY" : {
|
"WEDNESDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"THURSDAY" : {
|
"THURSDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"FRIDAY" : {
|
"FRIDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
},
|
},
|
||||||
"SATURDAY" : {
|
"SATURDAY" : {
|
||||||
"model_type" : "LocationActivityDetails",
|
"model_type" : "LocationActivityDetails",
|
||||||
"busyTime" : "13:30",
|
"busyTime" : "13:30",
|
||||||
"quietTime" : "3:30",
|
"quietTime" : "3:30",
|
||||||
"timezone" : "US/Eastern",
|
"timezone" : "US/Eastern"
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 17,
|
"id": 8,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "equipment_ap",
|
"profileType": "equipment_ap",
|
||||||
"name": "ApProfile-3-radios",
|
"name": "ApProfile-3-radios",
|
||||||
@@ -37,14 +37,22 @@
|
|||||||
"bestAPSteerType": "both"
|
"bestAPSteerType": "both"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"greTunnelConfigurations": [
|
||||||
|
{
|
||||||
|
"model_type": "GreTunnelConfiguration",
|
||||||
|
"greTunnelName": "gre1",
|
||||||
|
"greRemoteInetAddr": "192.168.1.101",
|
||||||
|
"vlanIdsInGreTunnel": [
|
||||||
|
100
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"profileType": "equipment_ap"
|
"profileType": "equipment_ap"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182806348,
|
"createdTimestamp": 1612285248925,
|
||||||
"lastModifiedTimestamp": 1602182806348,
|
"lastModifiedTimestamp": 1612285628377,
|
||||||
"childProfileIds": [
|
"childProfileIds": [
|
||||||
2,
|
2,
|
||||||
5,
|
4
|
||||||
11,
|
|
||||||
13
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -1,135 +1,58 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 14,
|
"id": 5,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "captive_portal",
|
"profileType": "captive_portal",
|
||||||
"name": "Captive-portal",
|
"name": "Captive-portal",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "CaptivePortalConfiguration",
|
"model_type": "CaptivePortalConfiguration",
|
||||||
"name": "Captive-portal",
|
"name": "Default",
|
||||||
"browserTitle": "Access the network as Guest",
|
"browserTitle": "Captive-portal",
|
||||||
"headerContent": "Captive Portal",
|
"headerContent": "Captive Portal",
|
||||||
"userAcceptancePolicy": "Use this network at your own risk. No warranty of any kind.",
|
"userAcceptancePolicy": "Please agree to the following terms for using this network:",
|
||||||
"successPageMarkdownText": "Welcome to the network",
|
"successPageMarkdownText": "You are now authorized and connected to the network.",
|
||||||
"redirectURL": "",
|
"redirectURL": "https://www.google.com",
|
||||||
"externalCaptivePortalURL": null,
|
"externalCaptivePortalURL": null,
|
||||||
"sessionTimeoutInMinutes": 60,
|
"sessionTimeoutInMinutes": 10,
|
||||||
"logoFile": null,
|
"logoFile": {
|
||||||
"backgroundFile": null,
|
|
||||||
"walledGardenAllowlist": [],
|
|
||||||
"usernamePasswordFile": {
|
|
||||||
"model_type": "ManagedFileInfo",
|
"model_type": "ManagedFileInfo",
|
||||||
"md5checksum": null,
|
"md5checksum": null,
|
||||||
"lastModifiedTimestamp": null,
|
"lastModifiedTimestamp": null,
|
||||||
"apExportUrl": "userList",
|
"apExportUrl": "/filestore/tip-logo-mobile",
|
||||||
"fileCategory": "UsernamePasswordList",
|
"fileCategory": "CaptivePortalLogo",
|
||||||
"fileType": "TEXT",
|
"fileType": "PNG",
|
||||||
"altSlot": true
|
"altSlot": false
|
||||||
},
|
},
|
||||||
|
"backgroundFile": {
|
||||||
|
"model_type": "ManagedFileInfo",
|
||||||
|
"md5checksum": null,
|
||||||
|
"lastModifiedTimestamp": null,
|
||||||
|
"apExportUrl": "/filestore/tip-logo",
|
||||||
|
"fileCategory": "CaptivePortalBackground",
|
||||||
|
"fileType": "PNG",
|
||||||
|
"altSlot": false
|
||||||
|
},
|
||||||
|
"walledGardenAllowlist": [
|
||||||
|
],
|
||||||
|
"usernamePasswordFile": null,
|
||||||
"authenticationType": "guest",
|
"authenticationType": "guest",
|
||||||
"radiusAuthMethod": "CHAP",
|
"radiusAuthMethod": "CHAP",
|
||||||
"maxUsersWithSameCredentials": 42,
|
"maxUsersWithSameCredentials": 3,
|
||||||
"externalPolicyFile": null,
|
"externalPolicyFile": null,
|
||||||
"backgroundPosition": "left_top",
|
"backgroundPosition": "left_top",
|
||||||
"backgroundRepeat": "no_repeat",
|
"backgroundRepeat": "no_repeat",
|
||||||
"radiusServiceName": null,
|
"radiusServiceId": 0,
|
||||||
"expiryType": "unlimited",
|
"expiryType": "time_limited",
|
||||||
"userList": [
|
"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
|
"macAllowList": [
|
||||||
},
|
|
||||||
{
|
|
||||||
"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"
|
"profileType": "captive_portal"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602183994959,
|
"createdTimestamp": 1611857459118,
|
||||||
"lastModifiedTimestamp": 1602183994959,
|
"lastModifiedTimestamp": 1611857459118,
|
||||||
"childProfileIds": []
|
"childProfileIds": [
|
||||||
}
|
]
|
||||||
|
}
|
||||||
]
|
]
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 10,
|
"id": 37,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "hotspot_2pt0",
|
"profileType": "passpoint",
|
||||||
"name": "TipWlan-Hotspot20-Config",
|
"name": "hotspot20-profile-2021-01-21T21:28:59.171Z",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "Hotspot2Profile",
|
"model_type": "PasspointProfile",
|
||||||
"enableInterworkingAndHs20": true,
|
"enableInterworkingAndHs20": true,
|
||||||
"hessid": null,
|
"hessid": null,
|
||||||
"accessNetworkType": "free_public_network",
|
"passpointAccessNetworkType": "free_public_network",
|
||||||
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
|
"passpointNetworkAuthenticationType": "acceptance_of_terms_and_conditions",
|
||||||
"additionalStepsRequiredForAccess": 0,
|
"additionalStepsRequiredForAccess": 0,
|
||||||
"deauthRequestTimeout": 0,
|
"deauthRequestTimeout": 0,
|
||||||
"operatingClass": 0,
|
"operatingClass": 0,
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"internetConnectivity": true,
|
"internetConnectivity": true,
|
||||||
"connectionCapabilitySet": [
|
"connectionCapabilitySet": [
|
||||||
{
|
{
|
||||||
"model_type": "ConnectionCapability",
|
"model_type": "PasspointConnectionCapability",
|
||||||
"connectionCapabilitiesPortNumber": 8888,
|
"connectionCapabilitiesPortNumber": 8888,
|
||||||
"connectionCapabilitiesIpProtocol": "TCP",
|
"connectionCapabilitiesIpProtocol": "TCP",
|
||||||
"connectionCapabilitiesStatus": "open"
|
"connectionCapabilitiesStatus": "open"
|
||||||
@@ -45,28 +45,27 @@
|
|||||||
"disableDownstreamGroupAddressedForwarding": false,
|
"disableDownstreamGroupAddressedForwarding": false,
|
||||||
"enable2pt4GHz": true,
|
"enable2pt4GHz": true,
|
||||||
"enable5GHz": true,
|
"enable5GHz": true,
|
||||||
"associatedAccessSsidNames": [
|
"associatedAccessSsidProfileIds": [
|
||||||
"TipWlan-cloud-hotspot-access"
|
32
|
||||||
],
|
],
|
||||||
"osuSsidName": "TipWlan-cloud-3-radios",
|
"osuSsidProfileId": 31,
|
||||||
"operatorProfileName": "TipWlan-Hotspot20-Operator",
|
"passpointOperatorProfileId": 34,
|
||||||
"venueProfileName": "TipWlan-Hotspot20-Venue",
|
"passpointVenueProfileId": 33,
|
||||||
"idProviderProfileNames": [
|
"passpointOsuProviderProfileIds": [
|
||||||
"TipWlan-Hotspot20-OSU-Provider-2",
|
35,
|
||||||
"TipWlan-Hotspot20-OSU-Provider"
|
36
|
||||||
],
|
],
|
||||||
"profileType": "hotspot_2pt0",
|
"accessNetworkType": "free_public_network",
|
||||||
"associatedSsids": [
|
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
|
||||||
"TipWlan-cloud-hotspot-access"
|
"profileType": "passpoint"
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182806040,
|
"createdTimestamp": 0,
|
||||||
"lastModifiedTimestamp": 1602182806040,
|
"lastModifiedTimestamp": 1611264539331,
|
||||||
"childProfileIds": [
|
"childProfileIds": [
|
||||||
6,
|
33,
|
||||||
7,
|
34,
|
||||||
8,
|
35,
|
||||||
9
|
36
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1,16 +1,15 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 8,
|
"id": 35,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "id_provider",
|
"profileType": "passpoint_osu_id_provider",
|
||||||
"name": "TipWlan-Hotspot20-OSU-Provider",
|
"name": "provider1-profile-2021-01-21T21:28:59.057Z",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "Hotspot20IdProviderProfile",
|
"model_type": "PasspointOsuProviderProfile",
|
||||||
"domainName": "rogers.com",
|
|
||||||
"mccMncList": [
|
"mccMncList": [
|
||||||
{
|
{
|
||||||
"model_type": "MccMnc",
|
"model_type": "PasspointMccMnc",
|
||||||
"mcc": 302,
|
"mcc": 302,
|
||||||
"mnc": 720,
|
"mnc": 720,
|
||||||
"iso": "ca",
|
"iso": "ca",
|
||||||
@@ -22,7 +21,7 @@
|
|||||||
],
|
],
|
||||||
"naiRealmList": [
|
"naiRealmList": [
|
||||||
{
|
{
|
||||||
"model_type": "NaiRealmInformation",
|
"model_type": "PasspointNaiRealmInformation",
|
||||||
"naiRealms": [
|
"naiRealms": [
|
||||||
"rogers.com"
|
"rogers.com"
|
||||||
],
|
],
|
||||||
@@ -44,7 +43,7 @@
|
|||||||
],
|
],
|
||||||
"osuIconList": [
|
"osuIconList": [
|
||||||
{
|
{
|
||||||
"model_type": "OsuIcon",
|
"model_type": "PasspointOsuIcon",
|
||||||
"iconWidth": 32,
|
"iconWidth": 32,
|
||||||
"iconHeight": 32,
|
"iconHeight": 32,
|
||||||
"languageCode": "eng",
|
"languageCode": "eng",
|
||||||
@@ -55,7 +54,7 @@
|
|||||||
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "OsuIcon",
|
"model_type": "PasspointOsuIcon",
|
||||||
"iconWidth": 32,
|
"iconWidth": 32,
|
||||||
"iconHeight": 32,
|
"iconHeight": 32,
|
||||||
"languageCode": "fra",
|
"languageCode": "fra",
|
||||||
@@ -66,7 +65,7 @@
|
|||||||
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "OsuIcon",
|
"model_type": "PasspointOsuIcon",
|
||||||
"iconWidth": 32,
|
"iconWidth": 32,
|
||||||
"iconHeight": 32,
|
"iconHeight": 32,
|
||||||
"languageCode": "eng",
|
"languageCode": "eng",
|
||||||
@@ -77,19 +76,19 @@
|
|||||||
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
|
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"osuServerUri": "https://example.com/osu/rogers/",
|
"osuServerUri": "https://example.com/osu/rogers",
|
||||||
"osuFriendlyName": [
|
"osuFriendlyName": [
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "en_CA",
|
"locale": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleIso3Language": "eng",
|
||||||
"dupleName": "Example provider rogers",
|
"dupleName": "Example provider rogers",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "eng:Example provider rogers"
|
"asDuple": "eng:Example provider rogers"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "fr_CA",
|
"locale": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleIso3Language": "fra",
|
||||||
"dupleName": "Exemple de fournisseur rogers",
|
"dupleName": "Exemple de fournisseur rogers",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
@@ -104,40 +103,43 @@
|
|||||||
],
|
],
|
||||||
"osuServiceDescription": [
|
"osuServiceDescription": [
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "en_CA",
|
"locale": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleIso3Language": "eng",
|
||||||
"dupleName": "Example services rogers",
|
"dupleName": "Example services rogers",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "eng:Example services rogers"
|
"asDuple": "eng:Example services rogers"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "fr_CA",
|
"locale": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleIso3Language": "fra",
|
||||||
"dupleName": "Exemples de services rogers",
|
"dupleName": "Exemples de services rogers",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "fra:Exemples de services rogers"
|
"asDuple": "fra:Exemples de services rogers"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"profileType": "id_provider"
|
"roamingOi": [
|
||||||
|
"BAA2D00100",
|
||||||
|
"BAA2D00000"
|
||||||
|
],
|
||||||
|
"profileType": "passpoint_osu_id_provider"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182805654,
|
"createdTimestamp": 1611264539070,
|
||||||
"lastModifiedTimestamp": 1602182805654,
|
"lastModifiedTimestamp": 1611264539070,
|
||||||
"childProfileIds": []
|
"childProfileIds": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 9,
|
"id": 36,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "id_provider",
|
"profileType": "passpoint_osu_id_provider",
|
||||||
"name": "TipWlan-Hotspot20-OSU-Provider-2",
|
"name": "provider2-profile-2021-01-21T21:28:59.118Z",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "Hotspot20IdProviderProfile",
|
"model_type": "PasspointOsuProviderProfile",
|
||||||
"domainName": "telus.com",
|
|
||||||
"mccMncList": [
|
"mccMncList": [
|
||||||
{
|
{
|
||||||
"model_type": "MccMnc",
|
"model_type": "PasspointMccMnc",
|
||||||
"mcc": 302,
|
"mcc": 302,
|
||||||
"mnc": 220,
|
"mnc": 220,
|
||||||
"iso": "ca",
|
"iso": "ca",
|
||||||
@@ -149,7 +151,7 @@
|
|||||||
],
|
],
|
||||||
"naiRealmList": [
|
"naiRealmList": [
|
||||||
{
|
{
|
||||||
"model_type": "NaiRealmInformation",
|
"model_type": "PasspointNaiRealmInformation",
|
||||||
"naiRealms": [
|
"naiRealms": [
|
||||||
"telus.com"
|
"telus.com"
|
||||||
],
|
],
|
||||||
@@ -171,7 +173,7 @@
|
|||||||
],
|
],
|
||||||
"osuIconList": [
|
"osuIconList": [
|
||||||
{
|
{
|
||||||
"model_type": "OsuIcon",
|
"model_type": "PasspointOsuIcon",
|
||||||
"iconWidth": 32,
|
"iconWidth": 32,
|
||||||
"iconHeight": 32,
|
"iconHeight": 32,
|
||||||
"languageCode": "eng",
|
"languageCode": "eng",
|
||||||
@@ -182,7 +184,7 @@
|
|||||||
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "OsuIcon",
|
"model_type": "PasspointOsuIcon",
|
||||||
"iconWidth": 32,
|
"iconWidth": 32,
|
||||||
"iconHeight": 32,
|
"iconHeight": 32,
|
||||||
"languageCode": "fra",
|
"languageCode": "fra",
|
||||||
@@ -193,7 +195,7 @@
|
|||||||
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "OsuIcon",
|
"model_type": "PasspointOsuIcon",
|
||||||
"iconWidth": 32,
|
"iconWidth": 32,
|
||||||
"iconHeight": 32,
|
"iconHeight": 32,
|
||||||
"languageCode": "eng",
|
"languageCode": "eng",
|
||||||
@@ -204,19 +206,19 @@
|
|||||||
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
|
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"osuServerUri": "https://example.com/osu/telus/",
|
"osuServerUri": "https://example.com/osu/telus",
|
||||||
"osuFriendlyName": [
|
"osuFriendlyName": [
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "en_CA",
|
"locale": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleIso3Language": "eng",
|
||||||
"dupleName": "Example provider telus",
|
"dupleName": "Example provider telus",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "eng:Example provider telus"
|
"asDuple": "eng:Example provider telus"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "fr_CA",
|
"locale": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleIso3Language": "fra",
|
||||||
"dupleName": "Exemple de fournisseur telus",
|
"dupleName": "Exemple de fournisseur telus",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
@@ -231,26 +233,31 @@
|
|||||||
],
|
],
|
||||||
"osuServiceDescription": [
|
"osuServiceDescription": [
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "en_CA",
|
"locale": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleIso3Language": "eng",
|
||||||
"dupleName": "Example services telus",
|
"dupleName": "Example services telus",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "eng:Example services telus"
|
"asDuple": "eng:Example services telus"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "fr_CA",
|
"locale": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleIso3Language": "fra",
|
||||||
"dupleName": "Exemples de services telus",
|
"dupleName": "Exemples de services telus",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "fra:Exemples de services telus"
|
"asDuple": "fra:Exemples de services telus"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"profileType": "id_provider"
|
"roamingOi": [
|
||||||
|
"004096",
|
||||||
|
"005014",
|
||||||
|
"F4F5E8F5F4"
|
||||||
|
],
|
||||||
|
"profileType": "passpoint_osu_id_provider"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182805660,
|
"createdTimestamp": 1611264539131,
|
||||||
"lastModifiedTimestamp": 1602182805660,
|
"lastModifiedTimestamp": 1611264539131,
|
||||||
"childProfileIds": []
|
"childProfileIds": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 2,
|
"id": 10,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "metrics",
|
"profileType": "service_metrics_collection_config",
|
||||||
"name": "Metrics-Profile-3-radios",
|
"name": "Metrics-Profile-3-Radios",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "ServiceMetricsCollectionConfigProfile",
|
"model_type": "ServiceMetricsCollectionConfigProfile",
|
||||||
"radioTypes": [
|
"radioTypes": [
|
||||||
"is5GHzU",
|
|
||||||
"is5GHzL",
|
"is5GHzL",
|
||||||
"is2dot4GHz"
|
"is2dot4GHz",
|
||||||
|
"is5GHzU"
|
||||||
],
|
],
|
||||||
"serviceMetricDataTypes": [
|
"serviceMetricDataTypes": [
|
||||||
"ApNode",
|
"ApNode",
|
||||||
@@ -29,9 +29,9 @@
|
|||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzL",
|
||||||
"radioType": "is5GHzU",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
@@ -41,9 +41,9 @@
|
|||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzU",
|
||||||
"radioType": "is5GHzL",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
@@ -53,9 +53,9 @@
|
|||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is2dot4GHz",
|
||||||
"serviceMetricDataType": "ApNode"
|
"serviceMetricDataType": "ApNode",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
@@ -65,33 +65,33 @@
|
|||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzL",
|
|
||||||
"serviceMetricDataType": "ApNode"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "ApNode"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is5GHzU",
|
||||||
"serviceMetricDataType": "ApNode"
|
"serviceMetricDataType": "ApNode",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is2dot4GHz",
|
||||||
|
"serviceMetricDataType": "ApNode",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is5GHzL",
|
||||||
|
"serviceMetricDataType": "ApNode",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"ApSsid": [
|
"ApSsid": [
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is5GHzU",
|
||||||
"serviceMetricDataType": "ApSsid"
|
"serviceMetricDataType": "ApSsid"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -113,7 +113,7 @@
|
|||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is2dot4GHz",
|
||||||
"serviceMetricDataType": "ApSsid"
|
"serviceMetricDataType": "ApSsid"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is5GHzU",
|
||||||
"serviceMetricDataType": "Client"
|
"serviceMetricDataType": "Client"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -136,7 +136,7 @@
|
|||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is2dot4GHz",
|
||||||
"serviceMetricDataType": "Client"
|
"serviceMetricDataType": "Client"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -144,38 +144,14 @@
|
|||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"serviceMetricDataType": "Channel"
|
"serviceMetricDataType": "Channel",
|
||||||
},
|
"statsReportFormat": "RAW"
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "Channel"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"serviceMetricDataType": "Channel"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
@@ -185,95 +161,83 @@
|
|||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzU",
|
||||||
|
"serviceMetricDataType": "Channel",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 120,
|
||||||
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is2dot4GHz",
|
||||||
|
"serviceMetricDataType": "Channel",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is5GHzU",
|
||||||
|
"serviceMetricDataType": "Channel",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is2dot4GHz",
|
||||||
|
"serviceMetricDataType": "Channel",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"serviceMetricDataType": "Channel"
|
"serviceMetricDataType": "Channel",
|
||||||
},
|
"statsReportFormat": "RAW"
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 120,
|
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "Channel"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 120,
|
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"serviceMetricDataType": "Channel"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"Neighbour": [
|
"Neighbour": [
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzL",
|
|
||||||
"serviceMetricDataType": "Neighbour"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
|
||||||
"serviceMetricDataType": "Neighbour"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 60,
|
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is5GHzU",
|
||||||
"serviceMetricDataType": "Neighbour"
|
"serviceMetricDataType": "Neighbour",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 120,
|
"reportingIntervalSeconds": 60,
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"serviceMetricDataType": "Neighbour"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
|
||||||
"samplingInterval": 30,
|
|
||||||
"reportingIntervalSeconds": 120,
|
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
|
||||||
"scanIntervalMillis": 0,
|
|
||||||
"percentUtilizationThreshold": 10,
|
|
||||||
"delayMillisecondsThreshold": 600,
|
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"serviceMetricDataType": "Neighbour"
|
"serviceMetricDataType": "Neighbour",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
@@ -283,16 +247,53 @@
|
|||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is2dot4GHz",
|
||||||
"serviceMetricDataType": "Neighbour"
|
"serviceMetricDataType": "Neighbour",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is5GHzU",
|
||||||
|
"serviceMetricDataType": "Neighbour",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 120,
|
||||||
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is5GHzL",
|
||||||
|
"serviceMetricDataType": "Neighbour",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
|
"samplingInterval": 30,
|
||||||
|
"reportingIntervalSeconds": 60,
|
||||||
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
|
"scanIntervalMillis": 0,
|
||||||
|
"percentUtilizationThreshold": 10,
|
||||||
|
"delayMillisecondsThreshold": 600,
|
||||||
|
"radioType": "is2dot4GHz",
|
||||||
|
"serviceMetricDataType": "Neighbour",
|
||||||
|
"statsReportFormat": "RAW"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"profileType": "metrics"
|
"profileType": "service_metrics_collection_config"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602113058699,
|
"createdTimestamp": 1606778369931,
|
||||||
"lastModifiedTimestamp": 1602113058699,
|
"lastModifiedTimestamp": 1606778369931,
|
||||||
"childProfileIds": []
|
"childProfileIds": [
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1,37 +1,41 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 6,
|
"id": 34,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "operator",
|
"profileType": "passpoint_operator",
|
||||||
"name": "TipWlan-Hotspot20-Operator",
|
"name": "operator-profile-2021-01-21T21:28:58.994Z",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "OperatorProfile",
|
"model_type": "PasspointOperatorProfile",
|
||||||
"domainName": "telecominfraproject.atlassian.net",
|
|
||||||
"serverOnlyAuthenticatedL2EncryptionNetwork": false,
|
"serverOnlyAuthenticatedL2EncryptionNetwork": false,
|
||||||
"x509CertificateLocation": "/etc/ca.pem",
|
"x509CertificateLocation": "/etc/ca.pem",
|
||||||
"operatorFriendlyName": [
|
"operatorFriendlyName": [
|
||||||
{
|
{
|
||||||
"model_type": "Hotspot20Duple",
|
"model_type": "PasspointDuple",
|
||||||
"locale": "en_CA",
|
"locale": "fra",
|
||||||
"dupleIso3Language": "eng",
|
|
||||||
"dupleName": "Default friendly operator name",
|
|
||||||
"defaultDupleSeparator": ":",
|
|
||||||
"asDuple": "eng:Default friendly operator name"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "Hotspot20Duple",
|
|
||||||
"locale": "fr_CA",
|
|
||||||
"dupleIso3Language": "fra",
|
"dupleIso3Language": "fra",
|
||||||
"dupleName": "Nom de l'opérateur convivial par défaut",
|
"dupleName": "Nom de l'opérateur convivial par défaut",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"asDuple": "fra:Nom de l'opérateur convivial par défaut"
|
"asDuple": "fra:Nom de l'opérateur convivial par défaut"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "PasspointDuple",
|
||||||
|
"locale": "eng",
|
||||||
|
"dupleIso3Language": "eng",
|
||||||
|
"dupleName": "Default friendly passpoint_operator name",
|
||||||
|
"defaultDupleSeparator": ":",
|
||||||
|
"asDuple": "eng:Default friendly passpoint_operator name"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"profileType": "operator"
|
"domainNameList": [
|
||||||
|
"bell.ca",
|
||||||
|
"telus.com",
|
||||||
|
"rogers.com"
|
||||||
|
],
|
||||||
|
"profileType": "passpoint_operator"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602113058719,
|
"createdTimestamp": 1611264539004,
|
||||||
"lastModifiedTimestamp": 1602113058719,
|
"lastModifiedTimestamp": 1611264539004,
|
||||||
"childProfileIds": []
|
"childProfileIds": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -7,28 +7,18 @@
|
|||||||
"name": "Radius-Profile",
|
"name": "Radius-Profile",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "RadiusProfile",
|
"model_type": "RadiusProfile",
|
||||||
"subnetConfiguration": null,
|
"primaryRadiusAuthServer": {
|
||||||
"serviceRegionMap": {
|
|
||||||
"Ottawa": {
|
|
||||||
"model_type": "RadiusServiceRegion",
|
|
||||||
"serverMap": {
|
|
||||||
"Radius-Profile": [
|
|
||||||
{
|
|
||||||
"model_type": "RadiusServer",
|
"model_type": "RadiusServer",
|
||||||
"ipAddress": "192.168.0.1",
|
"ipAddress": "192.168.0.1",
|
||||||
"secret": "testing123",
|
"secret": "testing123",
|
||||||
"authPort": 1812,
|
"port": 1812,
|
||||||
"timeout": null
|
"timeout": null
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"regionName": "Ottawa"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"profileType": "radius"
|
"profileType": "radius"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1601961451668,
|
"createdTimestamp": 1611262628767,
|
||||||
"lastModifiedTimestamp": 1601961451668,
|
"lastModifiedTimestamp": 1611262628767,
|
||||||
"childProfileIds": []
|
"childProfileIds": [
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 13,
|
"id": 4,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "rf",
|
"profileType": "rf",
|
||||||
"name": "TipWlan-rf",
|
"name": "TipWlan-rf",
|
||||||
@@ -9,16 +9,15 @@
|
|||||||
"rfConfigMap": {
|
"rfConfigMap": {
|
||||||
"is5GHz": {
|
"is5GHz": {
|
||||||
"model_type": "RfElementConfiguration",
|
"model_type": "RfElementConfiguration",
|
||||||
"rf": "TipWlan-rf",
|
|
||||||
"radioType": "is5GHz",
|
"radioType": "is5GHz",
|
||||||
"radioMode": "modeAC",
|
"radioMode": "modeAC",
|
||||||
|
"rf": "TipWlan-rf",
|
||||||
"beaconInterval": 100,
|
"beaconInterval": 100,
|
||||||
"forceScanDuringVoice": "disabled",
|
"forceScanDuringVoice": "disabled",
|
||||||
"rtsCtsThreshold": 65535,
|
"rtsCtsThreshold": 65535,
|
||||||
"channelBandwidth": "is80MHz",
|
"channelBandwidth": "is80MHz",
|
||||||
"mimoMode": "twoByTwo",
|
"mimoMode": "twoByTwo",
|
||||||
"maxNumClients": 100,
|
"maxNumClients": 100,
|
||||||
"multicastRate": "auto",
|
|
||||||
"autoChannelSelection": false,
|
"autoChannelSelection": false,
|
||||||
"activeScanSettings": {
|
"activeScanSettings": {
|
||||||
"model_type": "ActiveScanSettings",
|
"model_type": "ActiveScanSettings",
|
||||||
@@ -26,17 +25,12 @@
|
|||||||
"scanFrequencySeconds": 10,
|
"scanFrequencySeconds": 10,
|
||||||
"scanDurationMillis": 65
|
"scanDurationMillis": 65
|
||||||
},
|
},
|
||||||
"managementRate": "auto",
|
|
||||||
"rxCellSizeDb": -90,
|
|
||||||
"probeResponseThresholdDb": -90,
|
|
||||||
"clientDisconnectThresholdDb": -90,
|
|
||||||
"eirpTxPower": 18,
|
|
||||||
"bestApEnabled": null,
|
|
||||||
"neighbouringListApConfig": {
|
"neighbouringListApConfig": {
|
||||||
"model_type": "NeighbouringAPListConfiguration",
|
"model_type": "NeighbouringAPListConfiguration",
|
||||||
"minSignal": -85,
|
"minSignal": -85,
|
||||||
"maxAps": 25
|
"maxAps": 25
|
||||||
},
|
},
|
||||||
|
"minAutoCellSize": -65,
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"channelHopSettings": {
|
"channelHopSettings": {
|
||||||
"model_type": "ChannelHopSettings",
|
"model_type": "ChannelHopSettings",
|
||||||
@@ -46,26 +40,31 @@
|
|||||||
"nonWifiThresholdTimeInSeconds": 180,
|
"nonWifiThresholdTimeInSeconds": 180,
|
||||||
"obssHopMode": "NON_WIFI"
|
"obssHopMode": "NON_WIFI"
|
||||||
},
|
},
|
||||||
|
"bestApEnabled": null,
|
||||||
|
"multicastRate": "auto",
|
||||||
|
"managementRate": "auto",
|
||||||
|
"rxCellSizeDb": -90,
|
||||||
|
"probeResponseThresholdDb": -90,
|
||||||
|
"clientDisconnectThresholdDb": -90,
|
||||||
|
"eirpTxPower": 18,
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 30,
|
"dropInSnrPercentage": 30,
|
||||||
"minLoadFactor": 40
|
"minLoadFactor": 40
|
||||||
},
|
}
|
||||||
"minAutoCellSize": -65
|
|
||||||
},
|
},
|
||||||
"is2dot4GHz": {
|
"is2dot4GHz": {
|
||||||
"model_type": "RfElementConfiguration",
|
"model_type": "RfElementConfiguration",
|
||||||
"rf": "TipWlan-rf",
|
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is2dot4GHz",
|
||||||
"radioMode": "modeN",
|
"radioMode": "modeN",
|
||||||
|
"rf": "TipWlan-rf",
|
||||||
"beaconInterval": 100,
|
"beaconInterval": 100,
|
||||||
"forceScanDuringVoice": "disabled",
|
"forceScanDuringVoice": "disabled",
|
||||||
"rtsCtsThreshold": 65535,
|
"rtsCtsThreshold": 65535,
|
||||||
"channelBandwidth": "is20MHz",
|
"channelBandwidth": "is20MHz",
|
||||||
"mimoMode": "twoByTwo",
|
"mimoMode": "twoByTwo",
|
||||||
"maxNumClients": 100,
|
"maxNumClients": 100,
|
||||||
"multicastRate": "auto",
|
|
||||||
"autoChannelSelection": false,
|
"autoChannelSelection": false,
|
||||||
"activeScanSettings": {
|
"activeScanSettings": {
|
||||||
"model_type": "ActiveScanSettings",
|
"model_type": "ActiveScanSettings",
|
||||||
@@ -73,17 +72,12 @@
|
|||||||
"scanFrequencySeconds": 10,
|
"scanFrequencySeconds": 10,
|
||||||
"scanDurationMillis": 65
|
"scanDurationMillis": 65
|
||||||
},
|
},
|
||||||
"managementRate": "auto",
|
|
||||||
"rxCellSizeDb": -90,
|
|
||||||
"probeResponseThresholdDb": -90,
|
|
||||||
"clientDisconnectThresholdDb": -90,
|
|
||||||
"eirpTxPower": 18,
|
|
||||||
"bestApEnabled": null,
|
|
||||||
"neighbouringListApConfig": {
|
"neighbouringListApConfig": {
|
||||||
"model_type": "NeighbouringAPListConfiguration",
|
"model_type": "NeighbouringAPListConfiguration",
|
||||||
"minSignal": -85,
|
"minSignal": -85,
|
||||||
"maxAps": 25
|
"maxAps": 25
|
||||||
},
|
},
|
||||||
|
"minAutoCellSize": -65,
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"channelHopSettings": {
|
"channelHopSettings": {
|
||||||
"model_type": "ChannelHopSettings",
|
"model_type": "ChannelHopSettings",
|
||||||
@@ -93,26 +87,31 @@
|
|||||||
"nonWifiThresholdTimeInSeconds": 180,
|
"nonWifiThresholdTimeInSeconds": 180,
|
||||||
"obssHopMode": "NON_WIFI"
|
"obssHopMode": "NON_WIFI"
|
||||||
},
|
},
|
||||||
|
"bestApEnabled": null,
|
||||||
|
"multicastRate": "auto",
|
||||||
|
"managementRate": "auto",
|
||||||
|
"rxCellSizeDb": -90,
|
||||||
|
"probeResponseThresholdDb": -90,
|
||||||
|
"clientDisconnectThresholdDb": -90,
|
||||||
|
"eirpTxPower": 18,
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 20,
|
"dropInSnrPercentage": 20,
|
||||||
"minLoadFactor": 50
|
"minLoadFactor": 50
|
||||||
},
|
}
|
||||||
"minAutoCellSize": -65
|
|
||||||
},
|
},
|
||||||
"is5GHzU": {
|
"is5GHzU": {
|
||||||
"model_type": "RfElementConfiguration",
|
"model_type": "RfElementConfiguration",
|
||||||
"rf": "TipWlan-rf",
|
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is5GHzU",
|
||||||
"radioMode": "modeAC",
|
"radioMode": "modeAC",
|
||||||
|
"rf": "TipWlan-rf",
|
||||||
"beaconInterval": 100,
|
"beaconInterval": 100,
|
||||||
"forceScanDuringVoice": "disabled",
|
"forceScanDuringVoice": "disabled",
|
||||||
"rtsCtsThreshold": 65535,
|
"rtsCtsThreshold": 65535,
|
||||||
"channelBandwidth": "is80MHz",
|
"channelBandwidth": "is80MHz",
|
||||||
"mimoMode": "twoByTwo",
|
"mimoMode": "twoByTwo",
|
||||||
"maxNumClients": 100,
|
"maxNumClients": 100,
|
||||||
"multicastRate": "auto",
|
|
||||||
"autoChannelSelection": false,
|
"autoChannelSelection": false,
|
||||||
"activeScanSettings": {
|
"activeScanSettings": {
|
||||||
"model_type": "ActiveScanSettings",
|
"model_type": "ActiveScanSettings",
|
||||||
@@ -120,17 +119,12 @@
|
|||||||
"scanFrequencySeconds": 10,
|
"scanFrequencySeconds": 10,
|
||||||
"scanDurationMillis": 65
|
"scanDurationMillis": 65
|
||||||
},
|
},
|
||||||
"managementRate": "auto",
|
|
||||||
"rxCellSizeDb": -90,
|
|
||||||
"probeResponseThresholdDb": -90,
|
|
||||||
"clientDisconnectThresholdDb": -90,
|
|
||||||
"eirpTxPower": 18,
|
|
||||||
"bestApEnabled": null,
|
|
||||||
"neighbouringListApConfig": {
|
"neighbouringListApConfig": {
|
||||||
"model_type": "NeighbouringAPListConfiguration",
|
"model_type": "NeighbouringAPListConfiguration",
|
||||||
"minSignal": -85,
|
"minSignal": -85,
|
||||||
"maxAps": 25
|
"maxAps": 25
|
||||||
},
|
},
|
||||||
|
"minAutoCellSize": -65,
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"channelHopSettings": {
|
"channelHopSettings": {
|
||||||
"model_type": "ChannelHopSettings",
|
"model_type": "ChannelHopSettings",
|
||||||
@@ -140,26 +134,31 @@
|
|||||||
"nonWifiThresholdTimeInSeconds": 180,
|
"nonWifiThresholdTimeInSeconds": 180,
|
||||||
"obssHopMode": "NON_WIFI"
|
"obssHopMode": "NON_WIFI"
|
||||||
},
|
},
|
||||||
|
"bestApEnabled": null,
|
||||||
|
"multicastRate": "auto",
|
||||||
|
"managementRate": "auto",
|
||||||
|
"rxCellSizeDb": -90,
|
||||||
|
"probeResponseThresholdDb": -90,
|
||||||
|
"clientDisconnectThresholdDb": -90,
|
||||||
|
"eirpTxPower": 18,
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 30,
|
"dropInSnrPercentage": 30,
|
||||||
"minLoadFactor": 40
|
"minLoadFactor": 40
|
||||||
},
|
}
|
||||||
"minAutoCellSize": -65
|
|
||||||
},
|
},
|
||||||
"is5GHzL": {
|
"is5GHzL": {
|
||||||
"model_type": "RfElementConfiguration",
|
"model_type": "RfElementConfiguration",
|
||||||
"rf": "TipWlan-rf",
|
|
||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"radioMode": "modeAC",
|
"radioMode": "modeAC",
|
||||||
|
"rf": "TipWlan-rf",
|
||||||
"beaconInterval": 100,
|
"beaconInterval": 100,
|
||||||
"forceScanDuringVoice": "disabled",
|
"forceScanDuringVoice": "disabled",
|
||||||
"rtsCtsThreshold": 65535,
|
"rtsCtsThreshold": 65535,
|
||||||
"channelBandwidth": "is80MHz",
|
"channelBandwidth": "is80MHz",
|
||||||
"mimoMode": "twoByTwo",
|
"mimoMode": "twoByTwo",
|
||||||
"maxNumClients": 100,
|
"maxNumClients": 100,
|
||||||
"multicastRate": "auto",
|
|
||||||
"autoChannelSelection": false,
|
"autoChannelSelection": false,
|
||||||
"activeScanSettings": {
|
"activeScanSettings": {
|
||||||
"model_type": "ActiveScanSettings",
|
"model_type": "ActiveScanSettings",
|
||||||
@@ -167,17 +166,12 @@
|
|||||||
"scanFrequencySeconds": 10,
|
"scanFrequencySeconds": 10,
|
||||||
"scanDurationMillis": 65
|
"scanDurationMillis": 65
|
||||||
},
|
},
|
||||||
"managementRate": "auto",
|
|
||||||
"rxCellSizeDb": -90,
|
|
||||||
"probeResponseThresholdDb": -90,
|
|
||||||
"clientDisconnectThresholdDb": -90,
|
|
||||||
"eirpTxPower": 18,
|
|
||||||
"bestApEnabled": null,
|
|
||||||
"neighbouringListApConfig": {
|
"neighbouringListApConfig": {
|
||||||
"model_type": "NeighbouringAPListConfiguration",
|
"model_type": "NeighbouringAPListConfiguration",
|
||||||
"minSignal": -85,
|
"minSignal": -85,
|
||||||
"maxAps": 25
|
"maxAps": 25
|
||||||
},
|
},
|
||||||
|
"minAutoCellSize": -65,
|
||||||
"perimeterDetectionEnabled": true,
|
"perimeterDetectionEnabled": true,
|
||||||
"channelHopSettings": {
|
"channelHopSettings": {
|
||||||
"model_type": "ChannelHopSettings",
|
"model_type": "ChannelHopSettings",
|
||||||
@@ -187,18 +181,24 @@
|
|||||||
"nonWifiThresholdTimeInSeconds": 180,
|
"nonWifiThresholdTimeInSeconds": 180,
|
||||||
"obssHopMode": "NON_WIFI"
|
"obssHopMode": "NON_WIFI"
|
||||||
},
|
},
|
||||||
|
"bestApEnabled": null,
|
||||||
|
"multicastRate": "auto",
|
||||||
|
"managementRate": "auto",
|
||||||
|
"rxCellSizeDb": -90,
|
||||||
|
"probeResponseThresholdDb": -90,
|
||||||
|
"clientDisconnectThresholdDb": -90,
|
||||||
|
"eirpTxPower": 18,
|
||||||
"bestApSettings": {
|
"bestApSettings": {
|
||||||
"model_type": "RadioBestApSettings",
|
"model_type": "RadioBestApSettings",
|
||||||
"mlComputed": true,
|
"mlComputed": true,
|
||||||
"dropInSnrPercentage": 30,
|
"dropInSnrPercentage": 30,
|
||||||
"minLoadFactor": 40
|
"minLoadFactor": 40
|
||||||
},
|
}
|
||||||
"minAutoCellSize": -65
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"profileType": "rf"
|
"profileType": "rf"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182806063,
|
"createdTimestamp": 1612285248650,
|
||||||
"lastModifiedTimestamp": 1602182806063,
|
"lastModifiedTimestamp": 1612285248650,
|
||||||
"childProfileIds": []
|
"childProfileIds": []
|
||||||
}
|
}
|
||||||
@@ -1,73 +1,7 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 5,
|
"id": 2,
|
||||||
"customerId": 2,
|
|
||||||
"profileType": "ssid",
|
|
||||||
"name": "TipWlan-cloud-hotspot-access",
|
|
||||||
"details": {
|
|
||||||
"model_type": "SsidConfiguration",
|
|
||||||
"ssid": "TipWlan-cloud-hotspot-access",
|
|
||||||
"appliedRadios": [
|
|
||||||
"is5GHzU",
|
|
||||||
"is5GHzL",
|
|
||||||
"is2dot4GHz"
|
|
||||||
],
|
|
||||||
"ssidAdminState": "enabled",
|
|
||||||
"secureMode": "wpa2PSK",
|
|
||||||
"vlanId": 1,
|
|
||||||
"keyStr": "testing123",
|
|
||||||
"broadcastSsid": "enabled",
|
|
||||||
"keyRefresh": 0,
|
|
||||||
"noLocalSubnets": false,
|
|
||||||
"radiusServiceName": null,
|
|
||||||
"captivePortalId": null,
|
|
||||||
"bandwidthLimitDown": 0,
|
|
||||||
"bandwidthLimitUp": 0,
|
|
||||||
"clientBandwidthLimitDown": 0,
|
|
||||||
"clientBandwidthLimitUp": 0,
|
|
||||||
"videoTrafficOnly": false,
|
|
||||||
"radioBasedConfigs": {
|
|
||||||
"is5GHz": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is2dot4GHz": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is5GHzU": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is5GHzL": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bonjourGatewayProfileId": null,
|
|
||||||
"enable80211w": null,
|
|
||||||
"wepConfig": null,
|
|
||||||
"forwardMode": null,
|
|
||||||
"profileType": "ssid"
|
|
||||||
},
|
|
||||||
"createdTimestamp": 1602113058718,
|
|
||||||
"lastModifiedTimestamp": 1602113059547,
|
|
||||||
"childProfileIds": [
|
|
||||||
10
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "Profile",
|
|
||||||
"id": 11,
|
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "ssid",
|
"profileType": "ssid",
|
||||||
"name": "TipWlan-cloud-3-radios",
|
"name": "TipWlan-cloud-3-radios",
|
||||||
@@ -75,18 +9,19 @@
|
|||||||
"model_type": "SsidConfiguration",
|
"model_type": "SsidConfiguration",
|
||||||
"ssid": "TipWlan-cloud-3-radios",
|
"ssid": "TipWlan-cloud-3-radios",
|
||||||
"appliedRadios": [
|
"appliedRadios": [
|
||||||
"is5GHzL",
|
"is5GHzU",
|
||||||
"is2dot4GHz",
|
"is2dot4GHz",
|
||||||
"is5GHzU"
|
"is5GHzL"
|
||||||
],
|
],
|
||||||
"ssidAdminState": "enabled",
|
"ssidAdminState": "enabled",
|
||||||
"secureMode": "open",
|
"secureMode": "wpa2OnlyPSK",
|
||||||
"vlanId": 1,
|
"vlanId": 1,
|
||||||
"keyStr": null,
|
"keyStr": "openwifi",
|
||||||
"broadcastSsid": "enabled",
|
"broadcastSsid": "enabled",
|
||||||
"keyRefresh": 0,
|
"keyRefresh": 0,
|
||||||
"noLocalSubnets": false,
|
"noLocalSubnets": false,
|
||||||
"radiusServiceName": null,
|
"radiusServiceId": 0,
|
||||||
|
"radiusAcountingServiceInterval": 60,
|
||||||
"captivePortalId": null,
|
"captivePortalId": null,
|
||||||
"bandwidthLimitDown": 0,
|
"bandwidthLimitDown": 0,
|
||||||
"bandwidthLimitUp": 0,
|
"bandwidthLimitUp": 0,
|
||||||
@@ -94,7 +29,7 @@
|
|||||||
"clientBandwidthLimitUp": 0,
|
"clientBandwidthLimitUp": 0,
|
||||||
"videoTrafficOnly": false,
|
"videoTrafficOnly": false,
|
||||||
"radioBasedConfigs": {
|
"radioBasedConfigs": {
|
||||||
"is5GHz": {
|
"is5GHzU": {
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211r": null,
|
"enable80211r": null,
|
||||||
"enable80211k": null,
|
"enable80211k": null,
|
||||||
@@ -106,7 +41,7 @@
|
|||||||
"enable80211k": null,
|
"enable80211k": null,
|
||||||
"enable80211v": null
|
"enable80211v": null
|
||||||
},
|
},
|
||||||
"is5GHzU": {
|
"is5GHz": {
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211r": null,
|
"enable80211r": null,
|
||||||
"enable80211k": null,
|
"enable80211k": null,
|
||||||
@@ -122,13 +57,19 @@
|
|||||||
"bonjourGatewayProfileId": null,
|
"bonjourGatewayProfileId": null,
|
||||||
"enable80211w": null,
|
"enable80211w": null,
|
||||||
"wepConfig": null,
|
"wepConfig": null,
|
||||||
"forwardMode": null,
|
"forwardMode": "BRIDGE",
|
||||||
"profileType": "ssid"
|
"profileType": "ssid",
|
||||||
},
|
"radiusClientConfiguration": {
|
||||||
"createdTimestamp": 1602183994766,
|
"model_type": "RadiusNasConfiguration",
|
||||||
"lastModifiedTimestamp": 1602183994766,
|
"nasClientId": "DEFAULT",
|
||||||
"childProfileIds": [
|
"nasClientIp": "WAN_IP",
|
||||||
10
|
"userDefinedNasId": null,
|
||||||
]
|
"userDefinedNasIp": null,
|
||||||
|
"operatorId": null
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"createdTimestamp": 1612285248638,
|
||||||
|
"lastModifiedTimestamp": 1612285248638,
|
||||||
|
"childProfileIds": []
|
||||||
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 7,
|
"id": 33,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "venue",
|
"profileType": "passpoint_venue",
|
||||||
"name": "TipWlan-Hotspot20-Venue",
|
"name": "venue-profile-2021-01-21T21:28:58.934Z",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "VenueProfile",
|
"model_type": "PasspointVenueProfile",
|
||||||
"venueNameSet": [
|
"venueNameSet": [
|
||||||
{
|
{
|
||||||
"model_type": "VenueName",
|
"model_type": "PasspointVenueName",
|
||||||
"locale": "fr_CA",
|
"locale": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleIso3Language": "fra",
|
||||||
"dupleName": "Exemple de lieu",
|
"dupleName": "Exemple de lieu",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
@@ -18,25 +18,25 @@
|
|||||||
"asDuple": "fra:Exemple de lieu"
|
"asDuple": "fra:Exemple de lieu"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "VenueName",
|
"model_type": "PasspointVenueName",
|
||||||
"locale": "en_CA",
|
"locale": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleIso3Language": "eng",
|
||||||
"dupleName": "Example venue",
|
"dupleName": "Example passpoint_venue",
|
||||||
"defaultDupleSeparator": ":",
|
"defaultDupleSeparator": ":",
|
||||||
"venueUrl": "http://www.example.com/info-eng",
|
"venueUrl": "http://www.example.com/info-eng",
|
||||||
"asDuple": "eng:Example venue"
|
"asDuple": "eng:Example passpoint_venue"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"venueTypeAssignment": {
|
"venueTypeAssignment": {
|
||||||
"model_type": "VenueTypeAssignment",
|
"model_type": "PasspointVenueTypeAssignment",
|
||||||
"venueDescription": "Research and Development Facility",
|
"venueDescription": "Research and Development Facility",
|
||||||
"venueGroupId": 2,
|
"venueGroupId": 2,
|
||||||
"venueTypeId": 8
|
"venueTypeId": 8
|
||||||
},
|
},
|
||||||
"profileType": "venue"
|
"profileType": "passpoint_venue"
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602113058725,
|
"createdTimestamp": 1611264538947,
|
||||||
"lastModifiedTimestamp": 1602113058725,
|
"lastModifiedTimestamp": 1611264538947,
|
||||||
"childProfileIds": []
|
"childProfileIds": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
<listEntry value="1"/>
|
<listEntry value="1"/>
|
||||||
</listAttribute>
|
</listAttribute>
|
||||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/>
|
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/>
|
||||||
|
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/>
|
||||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/>
|
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/>
|
||||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
|
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
|
||||||
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
|
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<artifactId>tip-wlan-cloud-root-pom</artifactId>
|
<artifactId>tip-wlan-cloud-root-pom</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
<relativePath>../../wlan-cloud-root</relativePath>
|
<relativePath>../../wlan-cloud-root</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>opensync-gateway</artifactId>
|
<artifactId>opensync-gateway</artifactId>
|
||||||
@@ -16,14 +14,23 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>base-container</artifactId>
|
<artifactId>base-container</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<artifactId>opensync-ext-interface</artifactId>
|
<artifactId>opensync-ext-interface</artifactId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<artifactId>client-models</artifactId>
|
||||||
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<artifactId>customer-models</artifactId>
|
||||||
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.vmware.ovsdb</groupId>
|
<groupId>com.vmware.ovsdb</groupId>
|
||||||
<artifactId>ovsdb-client</artifactId>
|
<artifactId>ovsdb-client</artifactId>
|
||||||
@@ -37,22 +44,16 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- MQTT dependencies BEGIN -->
|
<!-- MQTT dependencies BEGIN -->
|
||||||
<dependency>
|
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
|
||||||
<artifactId>tip-wlan-opensync-protobuf</artifactId>
|
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>service-metric-service-interface</artifactId>
|
<artifactId>service-metric-service-interface</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>status-service-interface</artifactId>
|
<artifactId>status-service-interface</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java-util -->
|
<!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java-util -->
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
package com.telecominfraproject.wlan.opensync.mqtt;
|
package com.telecominfraproject.wlan.opensync.mqtt;
|
||||||
|
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
@@ -5,11 +6,15 @@ import java.util.ArrayList;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.fusesource.mqtt.client.FutureConnection;
|
import org.fusesource.mqtt.client.BlockingConnection;
|
||||||
import org.fusesource.mqtt.client.MQTT;
|
import org.fusesource.mqtt.client.MQTT;
|
||||||
import org.fusesource.mqtt.client.Message;
|
import org.fusesource.mqtt.client.Message;
|
||||||
import org.fusesource.mqtt.client.QoS;
|
import org.fusesource.mqtt.client.QoS;
|
||||||
import org.fusesource.mqtt.client.Topic;
|
import org.fusesource.mqtt.client.Topic;
|
||||||
|
import org.fusesource.mqtt.client.Tracer;
|
||||||
|
import org.fusesource.mqtt.codec.MQTTFrame;
|
||||||
|
import org.fusesource.mqtt.codec.PINGREQ;
|
||||||
|
import org.fusesource.mqtt.codec.PINGRESP;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -20,18 +25,24 @@ import org.springframework.context.event.ContextClosedEvent;
|
|||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import com.google.protobuf.Descriptors;
|
import com.google.protobuf.Descriptors;
|
||||||
import com.google.protobuf.MessageOrBuilder;
|
import com.google.protobuf.TypeRegistry;
|
||||||
import com.google.protobuf.util.JsonFormat;
|
import com.google.protobuf.util.JsonFormat;
|
||||||
import com.google.protobuf.util.JsonFormat.TypeRegistry;
|
import com.netflix.servo.DefaultMonitorRegistry;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.OpensyncExternalIntegrationInterface;
|
import com.netflix.servo.monitor.BasicCounter;
|
||||||
|
import com.netflix.servo.monitor.BasicTimer;
|
||||||
|
import com.netflix.servo.monitor.Counter;
|
||||||
|
import com.netflix.servo.monitor.MonitorConfig;
|
||||||
|
import com.netflix.servo.monitor.Stopwatch;
|
||||||
|
import com.netflix.servo.monitor.Timer;
|
||||||
|
import com.netflix.servo.tag.TagList;
|
||||||
|
import com.telecominfraproject.wlan.cloudmetrics.CloudMetricsTags;
|
||||||
|
import com.telecominfraproject.wlan.opensync.external.integration.OvsdbSession;
|
||||||
|
import com.telecominfraproject.wlan.opensync.external.integration.OvsdbSessionMapInterface;
|
||||||
|
import com.telecominfraproject.wlan.opensync.external.integration.utils.StatsPublisherInterface;
|
||||||
import com.telecominfraproject.wlan.opensync.util.ZlibUtil;
|
import com.telecominfraproject.wlan.opensync.util.ZlibUtil;
|
||||||
|
|
||||||
import sts.OpensyncStats;
|
import sts.OpensyncStats;
|
||||||
import sts.OpensyncStats.Report;
|
import sts.OpensyncStats.Report;
|
||||||
import traffic.NetworkMetadata;
|
|
||||||
import traffic.NetworkMetadata.FlowReport;
|
|
||||||
import wc.stats.IpDnsTelemetry;
|
|
||||||
import wc.stats.IpDnsTelemetry.WCStatsReport;
|
|
||||||
|
|
||||||
@Profile("mqtt_receiver")
|
@Profile("mqtt_receiver")
|
||||||
@Component
|
@Component
|
||||||
@@ -43,8 +54,28 @@ public class OpensyncMqttClient implements ApplicationListener<ContextClosedEven
|
|||||||
|
|
||||||
public static Charset utf8 = Charset.forName("UTF-8");
|
public static Charset utf8 = Charset.forName("UTF-8");
|
||||||
|
|
||||||
|
private final TagList tags = CloudMetricsTags.commonTags;
|
||||||
|
|
||||||
|
private final Counter messagesReceived = new BasicCounter(MonitorConfig.builder("osgw-mqtt-messagesReceived").withTags(tags).build());
|
||||||
|
|
||||||
|
private final Counter messageBytesReceived = new BasicCounter(MonitorConfig.builder("osgw-mqtt-messageBytesReceived").withTags(tags).build());
|
||||||
|
|
||||||
|
private final Timer timerMessageProcess = new BasicTimer(MonitorConfig.builder("osgw-mqtt-messageProcessTimer").withTags(tags).build());
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private OpensyncExternalIntegrationInterface extIntegrationInterface;
|
private StatsPublisherInterface statsPublisher;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private OvsdbSessionMapInterface ovsdbSessionMapInterface;
|
||||||
|
|
||||||
|
// dtop: use anonymous constructor to ensure that the following code always
|
||||||
|
// get executed,
|
||||||
|
// even when somebody adds another constructor in here
|
||||||
|
{
|
||||||
|
DefaultMonitorRegistry.getInstance().register(messagesReceived);
|
||||||
|
DefaultMonitorRegistry.getInstance().register(messageBytesReceived);
|
||||||
|
DefaultMonitorRegistry.getInstance().register(timerMessageProcess);
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// See https://github.com/fusesource/mqtt-client for the docs
|
// See https://github.com/fusesource/mqtt-client for the docs
|
||||||
@@ -55,8 +86,7 @@ public class OpensyncMqttClient implements ApplicationListener<ContextClosedEven
|
|||||||
|
|
||||||
public OpensyncMqttClient(@Autowired io.netty.handler.ssl.SslContext sslContext,
|
public OpensyncMqttClient(@Autowired io.netty.handler.ssl.SslContext sslContext,
|
||||||
@Value("${tip.wlan.mqttBroker.address.internal:testportal.123wlan.com}") String mqttBrokerAddress,
|
@Value("${tip.wlan.mqttBroker.address.internal:testportal.123wlan.com}") String mqttBrokerAddress,
|
||||||
@Value("${tip.wlan.mqttBroker.listenPort:1883}") int mqttBrokerListenPort,
|
@Value("${tip.wlan.mqttBroker.listenPort:1883}") int mqttBrokerListenPort, @Value("${tip.wlan.mqttBroker.user:admin}") String username,
|
||||||
@Value("${tip.wlan.mqttBroker.user:admin}") String username,
|
|
||||||
@Value("${tip.wlan.mqttBroker.password:admin}") String password,
|
@Value("${tip.wlan.mqttBroker.password:admin}") String password,
|
||||||
@Value("${mqtt.javax.net.ssl.keyStore:/opt/tip-wlan/certs/client_keystore.jks}") String jdkKeyStoreLocation,
|
@Value("${mqtt.javax.net.ssl.keyStore:/opt/tip-wlan/certs/client_keystore.jks}") String jdkKeyStoreLocation,
|
||||||
@Value("${mqtt.javax.net.ssl.keyStorePassword:mypassword}") String jdkKeyStorePassword,
|
@Value("${mqtt.javax.net.ssl.keyStorePassword:mypassword}") String jdkKeyStorePassword,
|
||||||
@@ -84,9 +114,9 @@ public class OpensyncMqttClient implements ApplicationListener<ContextClosedEven
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
while (keepReconnecting) {
|
while (keepReconnecting) {
|
||||||
FutureConnection futureConnection = null;
|
BlockingConnection blockingConnection = null;
|
||||||
try {
|
try {
|
||||||
Thread.sleep(5000);
|
// Thread.sleep(5000);
|
||||||
|
|
||||||
// Create a new MQTT connection to the broker.
|
// Create a new MQTT connection to the broker.
|
||||||
/*
|
/*
|
||||||
@@ -114,73 +144,45 @@ public class OpensyncMqttClient implements ApplicationListener<ContextClosedEven
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
MQTT mqtt = new MQTT();
|
MQTT mqtt = new MQTT();
|
||||||
// mqtt.setHost("tcp://192.168.0.137:61616");
|
|
||||||
mqtt.setHost("tls://" + mqttBrokerAddress + ":" + mqttBrokerListenPort);
|
mqtt.setHost("tls://" + mqttBrokerAddress + ":" + mqttBrokerListenPort);
|
||||||
LOG.info("Connecting to MQTT broker at {}", mqtt.getHost());
|
LOG.info("Connecting to MQTT broker at {}", mqtt.getHost());
|
||||||
mqtt.setClientId("opensync_mqtt");
|
mqtt.setClientId("opensync_mqtt");
|
||||||
mqtt.setUserName(username);
|
mqtt.setUserName(username);
|
||||||
mqtt.setPassword(password);
|
mqtt.setPassword(password);
|
||||||
// Note: the following does not work with the
|
blockingConnection = mqtt.blockingConnection();
|
||||||
// serverContext,
|
blockingConnection.connect();
|
||||||
// it has to be the
|
|
||||||
// clientContext
|
|
||||||
// mqtt.setSslContext(((JdkSslContext)
|
|
||||||
// sslContext).context());
|
|
||||||
// For now we'll rely on regular SSLContext from the JDK
|
|
||||||
|
|
||||||
// TODO: revisit this blocking connection, change it to
|
LOG.debug("Connected to MQTT broker at {}", mqtt.getHost());
|
||||||
// futureConnection
|
|
||||||
futureConnection = mqtt.futureConnection();
|
|
||||||
futureConnection.connect();
|
|
||||||
|
|
||||||
LOG.info("Connected to MQTT broker at {}", mqtt.getHost());
|
// NB. setting to AT_MOST_ONCE to match the APs message level
|
||||||
|
Topic[] topics = {new Topic("/ap/#", QoS.AT_MOST_ONCE),};
|
||||||
|
|
||||||
// Subscribe to topics:
|
blockingConnection.subscribe(topics);
|
||||||
//
|
|
||||||
// new Topic("mqtt/example/publish", QoS.AT_LEAST_ONCE),
|
|
||||||
// new Topic("#", QoS.AT_LEAST_ONCE),
|
|
||||||
// new Topic("test/#", QoS.EXACTLY_ONCE),
|
|
||||||
// new Topic("foo/+/bar", QoS.AT_LEAST_ONCE)
|
|
||||||
Topic[] topics = { new Topic("/ap/+/opensync", QoS.AT_LEAST_ONCE), };
|
|
||||||
|
|
||||||
futureConnection.subscribe(topics);
|
|
||||||
LOG.info("Subscribed to mqtt topics {}", Arrays.asList(topics));
|
LOG.info("Subscribed to mqtt topics {}", Arrays.asList(topics));
|
||||||
|
|
||||||
// prepare a JSONPrinter to format protobuf messages as
|
// prepare a JSONPrinter to format protobuf messages as
|
||||||
// json
|
// json
|
||||||
List<Descriptors.Descriptor> protobufDescriptors = new ArrayList<>();
|
List<Descriptors.Descriptor> protobufDescriptors = new ArrayList<>();
|
||||||
protobufDescriptors.addAll(OpensyncStats.getDescriptor().getMessageTypes());
|
protobufDescriptors.addAll(OpensyncStats.getDescriptor().getMessageTypes());
|
||||||
protobufDescriptors.addAll(IpDnsTelemetry.getDescriptor().getMessageTypes());
|
|
||||||
protobufDescriptors.addAll(NetworkMetadata.getDescriptor().getMessageTypes());
|
|
||||||
TypeRegistry oldRegistry = TypeRegistry.newBuilder().add(protobufDescriptors).build();
|
TypeRegistry oldRegistry = TypeRegistry.newBuilder().add(protobufDescriptors).build();
|
||||||
JsonFormat.Printer jsonPrinter = JsonFormat.printer().includingDefaultValueFields()
|
JsonFormat.Printer jsonPrinter =
|
||||||
.omittingInsignificantWhitespace().usingTypeRegistry(oldRegistry);
|
JsonFormat.printer().includingDefaultValueFields().omittingInsignificantWhitespace().usingTypeRegistry(oldRegistry);
|
||||||
|
|
||||||
// main loop - receive messages
|
// main loop - receive messages
|
||||||
while (true) {
|
while (true) {
|
||||||
Message mqttMsg = futureConnection.receive().await();
|
LOG.debug("{} awaiting mqtt message from broker",mqttClientThread.getName());
|
||||||
|
Message mqttMsg = blockingConnection.receive();
|
||||||
|
|
||||||
if (mqttMsg == null) {
|
if (mqttMsg == null) {
|
||||||
|
if (LOG.isTraceEnabled())
|
||||||
|
LOG.trace("NULL message received for blocking connection");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
Stopwatch stopwatchTimerMessageProcess = timerMessageProcess.start();
|
||||||
LOG.debug("MQTT Topic {}", mqttMsg.getTopic());
|
try {
|
||||||
|
|
||||||
byte payload[] = mqttMsg.getPayload();
|
byte payload[] = mqttMsg.getPayload();
|
||||||
// we acknowledge right after receive because:
|
messagesReceived.increment();
|
||||||
// a. none of the stats messages are so important
|
messageBytesReceived.increment(payload.length);
|
||||||
// that
|
|
||||||
// we cannot skip one
|
|
||||||
// b. if there's some kind of problem with the
|
|
||||||
// message
|
|
||||||
// (decoding or processing)
|
|
||||||
// - we want to move on as quickly as possible and
|
|
||||||
// not
|
|
||||||
// let it get stuck in the
|
|
||||||
// queue
|
|
||||||
mqttMsg.ack();
|
|
||||||
|
|
||||||
LOG.trace("received message on topic {} size {}", mqttMsg.getTopic(), payload.length);
|
|
||||||
|
|
||||||
if (payload[0] == 0x78) {
|
if (payload[0] == 0x78) {
|
||||||
// looks like zlib-compressed data, let's
|
// looks like zlib-compressed data, let's
|
||||||
@@ -188,59 +190,35 @@ public class OpensyncMqttClient implements ApplicationListener<ContextClosedEven
|
|||||||
// it before deserializing
|
// it before deserializing
|
||||||
payload = ZlibUtil.decompress(payload);
|
payload = ZlibUtil.decompress(payload);
|
||||||
}
|
}
|
||||||
|
// Only supported protobuf on the TIP opensync APs is Report
|
||||||
// attempt to parse the message as protobuf
|
Report statsReport = Report.parseFrom(payload);
|
||||||
MessageOrBuilder encodedMsg = null;
|
mqttMsg.ack();
|
||||||
try {
|
String apId = extractApIdFromTopic(mqttMsg.getTopic());
|
||||||
|
if (apId != null) {
|
||||||
encodedMsg = Report.parseFrom(payload);
|
OvsdbSession ovsdbSession = ovsdbSessionMapInterface.getSession(extractApIdFromTopic(mqttMsg.getTopic()));
|
||||||
|
if (ovsdbSession != null) {
|
||||||
MQTT_LOG.info("topic = {} Report = {}", mqttMsg.getTopic(),
|
ovsdbSession.setMostRecentStatsTimestamp(System.currentTimeMillis());
|
||||||
jsonPrinter.print(encodedMsg));
|
LOG.debug("Last metrics received from AP updated to {}",ovsdbSession.toString());
|
||||||
|
} else {
|
||||||
|
LOG.debug("No ovsdb session exists for this AP {}",apId);
|
||||||
extIntegrationInterface.processMqttMessage(mqttMsg.getTopic(), (Report) encodedMsg);
|
}
|
||||||
|
}
|
||||||
|
MQTT_LOG.info("Topic {}\n{}", mqttMsg.getTopic(), jsonPrinter.print(statsReport));
|
||||||
|
statsPublisher.processMqttMessage(mqttMsg.getTopic(), statsReport);
|
||||||
|
LOG.debug("Dispatched report for topic {} to backend for processing", mqttMsg.getTopic());
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
try {
|
LOG.error("Exception processing topic for message {}",mqttMsg, e);
|
||||||
// not a opensync_stats report, attempt to
|
} finally {
|
||||||
// deserialize as network_metadata
|
stopwatchTimerMessageProcess.stop();
|
||||||
encodedMsg = FlowReport.parseFrom(payload);
|
|
||||||
|
|
||||||
MQTT_LOG.info("topic = {} FlowReport = {}", mqttMsg.getTopic(),
|
|
||||||
jsonPrinter.print(encodedMsg));
|
|
||||||
|
|
||||||
extIntegrationInterface.processMqttMessage(mqttMsg.getTopic(),
|
|
||||||
(FlowReport) encodedMsg);
|
|
||||||
} catch (Exception e1) {
|
|
||||||
|
|
||||||
try {
|
|
||||||
// not a opensync_stats report and not
|
|
||||||
// network_metadata report, attempt to
|
|
||||||
// deserialize as WCStatsReport
|
|
||||||
encodedMsg = WCStatsReport.parseFrom(payload);
|
|
||||||
|
|
||||||
MQTT_LOG.info("topic = {} IpDnsTelemetry = {}", mqttMsg.getTopic(),
|
|
||||||
jsonPrinter.print(encodedMsg));
|
|
||||||
|
|
||||||
|
|
||||||
extIntegrationInterface.processMqttMessage(mqttMsg.getTopic(),
|
|
||||||
(WCStatsReport) encodedMsg);
|
|
||||||
} catch (Exception e2) {
|
|
||||||
String msgStr = new String(mqttMsg.getPayload(), utf8);
|
|
||||||
MQTT_LOG.info("topic = {} message = {}", mqttMsg.getTopic(), msgStr);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("Exception in MQTT receiver", e);
|
LOG.error("Exception in MQTT receiver", e);
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (futureConnection != null) {
|
if (blockingConnection != null) {
|
||||||
futureConnection.disconnect();
|
blockingConnection.disconnect();
|
||||||
}
|
}
|
||||||
} catch (Exception e1) {
|
} catch (Exception e1) {
|
||||||
// do nothing
|
// do nothing
|
||||||
@@ -266,4 +244,26 @@ public class OpensyncMqttClient implements ApplicationListener<ContextClosedEven
|
|||||||
mqttClientThread.interrupt();
|
mqttClientThread.interrupt();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param topic
|
||||||
|
* @return apId extracted from the topic name, or null if it cannot be
|
||||||
|
* extracted
|
||||||
|
*/
|
||||||
|
static String extractApIdFromTopic(String topic) {
|
||||||
|
// Topic is formatted as
|
||||||
|
// "/ap/"+clientCn+"_"+ret.serialNumber+"/opensync"
|
||||||
|
if (topic == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
String[] parts = topic.split("/");
|
||||||
|
if (parts.length < 3) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// apId is the third element in the topic
|
||||||
|
return parts[2];
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,24 @@
|
|||||||
package com.telecominfraproject.wlan.opensync.ovsdb;
|
package com.telecominfraproject.wlan.opensync.ovsdb;
|
||||||
|
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.RejectedExecutionHandler;
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
|
import java.util.concurrent.ScheduledThreadPoolExecutor;
|
||||||
|
import java.util.concurrent.ThreadFactory;
|
||||||
|
import java.util.concurrent.ThreadPoolExecutor;
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
import com.netflix.servo.DefaultMonitorRegistry;
|
||||||
|
import com.netflix.servo.monitor.BasicCounter;
|
||||||
|
import com.netflix.servo.monitor.Counter;
|
||||||
|
import com.netflix.servo.monitor.MonitorConfig;
|
||||||
|
import com.netflix.servo.monitor.NumberGauge;
|
||||||
|
import com.netflix.servo.tag.TagList;
|
||||||
|
import com.telecominfraproject.wlan.cloudmetrics.CloudMetricsTags;
|
||||||
import com.vmware.ovsdb.service.OvsdbPassiveConnectionListener;
|
import com.vmware.ovsdb.service.OvsdbPassiveConnectionListener;
|
||||||
import com.vmware.ovsdb.service.impl.OvsdbPassiveConnectionListenerImpl;
|
import com.vmware.ovsdb.service.impl.OvsdbPassiveConnectionListenerImpl;
|
||||||
|
|
||||||
@@ -16,12 +27,68 @@ public class OvsdbListenerConfig {
|
|||||||
|
|
||||||
private static final Logger LOG = LoggerFactory.getLogger(OvsdbListenerConfig.class);
|
private static final Logger LOG = LoggerFactory.getLogger(OvsdbListenerConfig.class);
|
||||||
|
|
||||||
|
private final TagList tags = CloudMetricsTags.commonTags;
|
||||||
|
|
||||||
|
final Counter rejectedTasks = new BasicCounter(MonitorConfig.builder("osgw-ovsdb-rejectedTasks").withTags(tags).build());
|
||||||
|
final Counter submittedTasks = new BasicCounter(MonitorConfig.builder("osgw-ovsdb-submittedTasks").withTags(tags).build());
|
||||||
|
final Counter completedTasks = new BasicCounter(MonitorConfig.builder("osgw-ovsdb-completedTasks").withTags(tags).build());
|
||||||
|
|
||||||
|
private AtomicInteger tasksInFlight = new AtomicInteger(0);
|
||||||
|
|
||||||
|
private final NumberGauge tasksInFlightGauge = new NumberGauge(
|
||||||
|
MonitorConfig.builder("osgw-ovsdb-tasksInFlight").withTags(tags).build(), tasksInFlight);
|
||||||
|
|
||||||
|
// dtop: use anonymous constructor to ensure that the following code always
|
||||||
|
// get executed,
|
||||||
|
// even when somebody adds another constructor in here
|
||||||
|
{
|
||||||
|
DefaultMonitorRegistry.getInstance().register(rejectedTasks);
|
||||||
|
DefaultMonitorRegistry.getInstance().register(submittedTasks);
|
||||||
|
DefaultMonitorRegistry.getInstance().register(completedTasks);
|
||||||
|
DefaultMonitorRegistry.getInstance().register(tasksInFlightGauge);
|
||||||
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public OvsdbPassiveConnectionListener ovsdbPassiveConnectionListener(
|
public OvsdbPassiveConnectionListener ovsdbPassiveConnectionListener(
|
||||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.listener.threadPoolSize:10}")
|
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.listener.threadPoolSize:10}")
|
||||||
int threadPoolSize) {
|
int threadPoolSize) {
|
||||||
LOG.debug("Configuring OvsdbPassiveConnectionListener with thread pool size {}", threadPoolSize);
|
LOG.debug("Configuring OvsdbPassiveConnectionListener with thread pool size {}", threadPoolSize);
|
||||||
ScheduledExecutorService executorService = Executors.newScheduledThreadPool(threadPoolSize);
|
|
||||||
|
ThreadFactory threadFactory = new ThreadFactory() {
|
||||||
|
private AtomicInteger thrNum = new AtomicInteger();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Thread newThread(Runnable r) {
|
||||||
|
Thread thr = new Thread(r, "ovsdb-exec-pool-" + thrNum.incrementAndGet());
|
||||||
|
thr.setDaemon(true);
|
||||||
|
return thr;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
RejectedExecutionHandler rejectedExecHandler = new ThreadPoolExecutor.AbortPolicy() {
|
||||||
|
@Override
|
||||||
|
public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {
|
||||||
|
rejectedTasks.increment();
|
||||||
|
super.rejectedExecution(r, executor);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
ScheduledExecutorService executorService = new ScheduledThreadPoolExecutor(threadPoolSize, threadFactory, rejectedExecHandler) {
|
||||||
|
@Override
|
||||||
|
protected void beforeExecute(Thread t, Runnable r) {
|
||||||
|
submittedTasks.increment();
|
||||||
|
tasksInFlight.incrementAndGet();
|
||||||
|
super.beforeExecute(t, r);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void afterExecute(Runnable r, Throwable t) {
|
||||||
|
completedTasks.increment();
|
||||||
|
tasksInFlight.decrementAndGet();
|
||||||
|
super.afterExecute(r, t);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
OvsdbPassiveConnectionListener listener = new OvsdbPassiveConnectionListenerImpl(executorService);
|
OvsdbPassiveConnectionListener listener = new OvsdbPassiveConnectionListenerImpl(executorService);
|
||||||
return listener;
|
return listener;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,21 @@
|
|||||||
package com.telecominfraproject.wlan.opensync.ovsdb;
|
package com.telecominfraproject.wlan.opensync.ovsdb;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import com.netflix.servo.DefaultMonitorRegistry;
|
||||||
|
import com.netflix.servo.monitor.MonitorConfig;
|
||||||
|
import com.netflix.servo.monitor.Monitors;
|
||||||
|
import com.netflix.servo.monitor.NumberGauge;
|
||||||
|
import com.netflix.servo.tag.TagList;
|
||||||
|
import com.telecominfraproject.wlan.cloudmetrics.CloudMetricsTags;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.OvsdbSession;
|
import com.telecominfraproject.wlan.opensync.external.integration.OvsdbSession;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.OvsdbSessionMapInterface;
|
import com.telecominfraproject.wlan.opensync.external.integration.OvsdbSessionMapInterface;
|
||||||
import com.vmware.ovsdb.service.OvsdbClient;
|
import com.vmware.ovsdb.service.OvsdbClient;
|
||||||
@@ -18,8 +25,22 @@ public class OvsdbSessionMap implements OvsdbSessionMapInterface {
|
|||||||
|
|
||||||
private static final Logger LOG = LoggerFactory.getLogger(OvsdbSessionMap.class);
|
private static final Logger LOG = LoggerFactory.getLogger(OvsdbSessionMap.class);
|
||||||
|
|
||||||
|
private final TagList tags = CloudMetricsTags.commonTags;
|
||||||
|
|
||||||
|
private AtomicInteger totalEquipmentConnections = new AtomicInteger(0);
|
||||||
|
|
||||||
|
private final NumberGauge totalEquipmentConnectionsGauge = new NumberGauge(
|
||||||
|
MonitorConfig.builder("osgw-totalEquipmentConnections").withTags(tags).build(), totalEquipmentConnections);
|
||||||
|
|
||||||
private final ConcurrentHashMap<String, OvsdbSession> connectedClients = new ConcurrentHashMap<>();
|
private final ConcurrentHashMap<String, OvsdbSession> connectedClients = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
|
// dtop: use anonymous constructor to ensure that the following code always
|
||||||
|
// get executed,
|
||||||
|
// even when somebody adds another constructor in here
|
||||||
|
{
|
||||||
|
DefaultMonitorRegistry.getInstance().register(totalEquipmentConnectionsGauge);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public OvsdbSession getSession(String apId) {
|
public OvsdbSession getSession(String apId) {
|
||||||
LOG.info("Get session for AP {}", apId);
|
LOG.info("Get session for AP {}", apId);
|
||||||
@@ -29,7 +50,11 @@ public class OvsdbSessionMap implements OvsdbSessionMapInterface {
|
|||||||
@Override
|
@Override
|
||||||
public OvsdbSession removeSession(String apId) {
|
public OvsdbSession removeSession(String apId) {
|
||||||
LOG.info("Removing session for AP {}", apId);
|
LOG.info("Removing session for AP {}", apId);
|
||||||
return connectedClients.remove(apId);
|
OvsdbSession ret = connectedClients.remove(apId);
|
||||||
|
if(ret!=null) {
|
||||||
|
totalEquipmentConnections.decrementAndGet();
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -37,7 +62,7 @@ public class OvsdbSessionMap implements OvsdbSessionMapInterface {
|
|||||||
try {
|
try {
|
||||||
LOG.info("Close session for AP {}", apId);
|
LOG.info("Close session for AP {}", apId);
|
||||||
connectedClients.get(apId).getOvsdbClient().shutdown();
|
connectedClients.get(apId).getOvsdbClient().shutdown();
|
||||||
connectedClients.remove(apId);
|
removeSession(apId);
|
||||||
LOG.info("Closed ovsdb session for {}", apId);
|
LOG.info("Closed ovsdb session for {}", apId);
|
||||||
}catch (Exception e) {
|
}catch (Exception e) {
|
||||||
// do nothing
|
// do nothing
|
||||||
@@ -58,6 +83,8 @@ public class OvsdbSessionMap implements OvsdbSessionMapInterface {
|
|||||||
}catch (Exception e) {
|
}catch (Exception e) {
|
||||||
// do nothing
|
// do nothing
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
totalEquipmentConnections.incrementAndGet();
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG.info("Created new ovsdb session for {}", apId);
|
LOG.info("Created new ovsdb session for {}", apId);
|
||||||
|
|||||||
@@ -1,52 +1,48 @@
|
|||||||
|
|
||||||
package com.telecominfraproject.wlan.opensync.ovsdb;
|
package com.telecominfraproject.wlan.opensync.ovsdb;
|
||||||
|
|
||||||
import java.security.cert.X509Certificate;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import java.util.ArrayList;
|
import com.netflix.servo.DefaultMonitorRegistry;
|
||||||
import java.util.HashMap;
|
import com.netflix.servo.monitor.BasicCounter;
|
||||||
import java.util.List;
|
import com.netflix.servo.monitor.Counter;
|
||||||
import java.util.Map;
|
import com.netflix.servo.monitor.MonitorConfig;
|
||||||
import java.util.Set;
|
import com.netflix.servo.monitor.Monitors;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import com.netflix.servo.tag.TagList;
|
||||||
|
import com.telecominfraproject.wlan.cloudmetrics.CloudMetricsTags;
|
||||||
import javax.annotation.PostConstruct;
|
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
|
||||||
|
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.CellSizeAttributes;
|
||||||
|
import com.telecominfraproject.wlan.opensync.external.integration.OpensyncExternalIntegrationInterface;
|
||||||
|
import com.telecominfraproject.wlan.opensync.external.integration.OpensyncExternalIntegrationInterface.RowUpdateOperation;
|
||||||
|
import com.telecominfraproject.wlan.opensync.external.integration.OvsdbClientInterface;
|
||||||
|
import com.telecominfraproject.wlan.opensync.external.integration.OvsdbSession;
|
||||||
|
import com.telecominfraproject.wlan.opensync.external.integration.OvsdbSessionMapInterface;
|
||||||
|
import com.telecominfraproject.wlan.opensync.external.integration.models.*;
|
||||||
|
import com.telecominfraproject.wlan.opensync.ovsdb.dao.OvsdbDao;
|
||||||
|
import com.telecominfraproject.wlan.opensync.ovsdb.dao.OvsdbMonitor;
|
||||||
|
import com.telecominfraproject.wlan.opensync.ovsdb.metrics.OvsdbClientWithMetrics;
|
||||||
|
import com.telecominfraproject.wlan.opensync.ovsdb.metrics.OvsdbMetrics;
|
||||||
|
import com.telecominfraproject.wlan.opensync.util.OvsdbStringConstants;
|
||||||
|
import com.telecominfraproject.wlan.opensync.util.SslUtil;
|
||||||
|
import com.vmware.ovsdb.callback.ConnectionCallback;
|
||||||
|
import com.vmware.ovsdb.exception.OvsdbClientException;
|
||||||
|
import com.vmware.ovsdb.protocol.methods.*;
|
||||||
|
import com.vmware.ovsdb.protocol.operation.notation.Row;
|
||||||
|
import com.vmware.ovsdb.protocol.operation.notation.Value;
|
||||||
|
import com.vmware.ovsdb.service.OvsdbClient;
|
||||||
|
import com.vmware.ovsdb.service.OvsdbPassiveConnectionListener;
|
||||||
|
import io.netty.handler.ssl.SslContext;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Profile;
|
import org.springframework.context.annotation.Profile;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableMap;
|
import javax.annotation.PostConstruct;
|
||||||
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
|
import java.security.cert.X509Certificate;
|
||||||
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
import java.util.*;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.OpensyncExternalIntegrationInterface;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.OpensyncExternalIntegrationInterface.RowUpdateOperation;
|
import java.util.concurrent.ExecutionException;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.OvsdbClientInterface;
|
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.OvsdbSession;
|
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.OvsdbSessionMapInterface;
|
|
||||||
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.OpensyncAPInetState;
|
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPVIFState;
|
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncWifiAssociatedClients;
|
|
||||||
import com.telecominfraproject.wlan.opensync.ovsdb.dao.OvsdbDao;
|
|
||||||
import com.telecominfraproject.wlan.opensync.ovsdb.dao.utilities.OvsdbStringConstants;
|
|
||||||
import com.telecominfraproject.wlan.opensync.util.SslUtil;
|
|
||||||
import com.telecominfraproject.wlan.profile.network.models.ApNetworkConfiguration;
|
|
||||||
import com.vmware.ovsdb.callback.ConnectionCallback;
|
|
||||||
import com.vmware.ovsdb.callback.MonitorCallback;
|
|
||||||
import com.vmware.ovsdb.exception.OvsdbClientException;
|
|
||||||
import com.vmware.ovsdb.protocol.methods.MonitorRequest;
|
|
||||||
import com.vmware.ovsdb.protocol.methods.MonitorRequests;
|
|
||||||
import com.vmware.ovsdb.protocol.methods.MonitorSelect;
|
|
||||||
import com.vmware.ovsdb.protocol.methods.RowUpdate;
|
|
||||||
import com.vmware.ovsdb.protocol.methods.TableUpdate;
|
|
||||||
import com.vmware.ovsdb.protocol.methods.TableUpdates;
|
|
||||||
import com.vmware.ovsdb.protocol.operation.notation.Row;
|
|
||||||
import com.vmware.ovsdb.service.OvsdbClient;
|
|
||||||
import com.vmware.ovsdb.service.OvsdbPassiveConnectionListener;
|
|
||||||
|
|
||||||
import io.netty.handler.ssl.SslContext;
|
|
||||||
|
|
||||||
@Profile("ovsdb_manager")
|
@Profile("ovsdb_manager")
|
||||||
@Component
|
@Component
|
||||||
@@ -54,15 +50,28 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
|
|
||||||
private static final Logger LOG = LoggerFactory.getLogger(TipWlanOvsdbClient.class);
|
private static final Logger LOG = LoggerFactory.getLogger(TipWlanOvsdbClient.class);
|
||||||
|
|
||||||
|
private final TagList tags = CloudMetricsTags.commonTags;
|
||||||
|
|
||||||
|
private final Counter connectionsAttempted = new BasicCounter(MonitorConfig.builder("osgw-connectionsAttempted").withTags(tags).build());
|
||||||
|
|
||||||
|
private final Counter connectionsFailed = new BasicCounter(MonitorConfig.builder("osgw-connectionsFailed").withTags(tags).build());
|
||||||
|
|
||||||
|
private final Counter connectionsCreated = new BasicCounter(MonitorConfig.builder("osgw-connectionsCreated").withTags(tags).build());
|
||||||
|
|
||||||
|
private final Counter connectionsDropped = new BasicCounter(MonitorConfig.builder("osgw-connectionsDropped").withTags(tags).build());
|
||||||
|
|
||||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.listenPort:6640}")
|
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.listenPort:6640}")
|
||||||
private int ovsdbListenPort;
|
private int ovsdbListenPort;
|
||||||
|
|
||||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.manager.collectionIntervalSec.deviceStats:120}")
|
@org.springframework.beans.factory.annotation.Value("${tip.wlan.manager.collectionIntervalSec.deviceStats:60}")
|
||||||
private long collectionIntervalSecDeviceStats;
|
private long collectionIntervalSecDeviceStats;
|
||||||
|
|
||||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.preventClientCnAlteration:false}")
|
@org.springframework.beans.factory.annotation.Value("${tip.wlan.preventClientCnAlteration:false}")
|
||||||
private boolean preventClientCnAlteration;
|
private boolean preventClientCnAlteration;
|
||||||
|
|
||||||
|
@org.springframework.beans.factory.annotation.Value("${tip.wlan.defaultCommandDurationSec:3600}")
|
||||||
|
private long defaultCommandDurationSec;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private SslContext sslContext;
|
private SslContext sslContext;
|
||||||
|
|
||||||
@@ -78,6 +87,22 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private OvsdbSessionMapInterface ovsdbSessionMapInterface;
|
private OvsdbSessionMapInterface ovsdbSessionMapInterface;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private OvsdbMetrics ovsdbMetrics;
|
||||||
|
|
||||||
|
@org.springframework.beans.factory.annotation.Value("${tip.wlan.manager.collectionIntervalSec.event:60}")
|
||||||
|
private long collectionIntervalSecEvent;
|
||||||
|
|
||||||
|
// dtop: use anonymous constructor to ensure that the following code always
|
||||||
|
// get executed,
|
||||||
|
// even when somebody adds another constructor in here
|
||||||
|
{
|
||||||
|
DefaultMonitorRegistry.getInstance().register(connectionsAttempted);
|
||||||
|
DefaultMonitorRegistry.getInstance().register(connectionsCreated);
|
||||||
|
DefaultMonitorRegistry.getInstance().register(connectionsDropped);
|
||||||
|
DefaultMonitorRegistry.getInstance().register(connectionsFailed);
|
||||||
|
}
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
private void postCreate() {
|
private void postCreate() {
|
||||||
listenForConnections();
|
listenForConnections();
|
||||||
@@ -90,12 +115,17 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
@Override
|
@Override
|
||||||
public void connected(OvsdbClient ovsdbClient) {
|
public void connected(OvsdbClient ovsdbClient) {
|
||||||
|
|
||||||
|
connectionsAttempted.increment();
|
||||||
|
|
||||||
|
if (!(ovsdbClient instanceof OvsdbClientWithMetrics)) {
|
||||||
|
ovsdbClient = new OvsdbClientWithMetrics(ovsdbClient, ovsdbMetrics);
|
||||||
|
}
|
||||||
|
|
||||||
String remoteHost = ovsdbClient.getConnectionInfo().getRemoteAddress().getHostAddress();
|
String remoteHost = ovsdbClient.getConnectionInfo().getRemoteAddress().getHostAddress();
|
||||||
int localPort = ovsdbClient.getConnectionInfo().getLocalPort();
|
int localPort = ovsdbClient.getConnectionInfo().getLocalPort();
|
||||||
String subjectDn = null;
|
String subjectDn;
|
||||||
try {
|
try {
|
||||||
subjectDn = ((X509Certificate) ovsdbClient.getConnectionInfo().getRemoteCertificate())
|
subjectDn = ((X509Certificate) ovsdbClient.getConnectionInfo().getRemoteCertificate()).getSubjectDN().getName();
|
||||||
.getSubjectDN().getName();
|
|
||||||
|
|
||||||
String clientCn = SslUtil.extractCN(subjectDn);
|
String clientCn = SslUtil.extractCN(subjectDn);
|
||||||
LOG.info("ovsdbClient connecting from {} on port {} clientCn {}", remoteHost, localPort, clientCn);
|
LOG.info("ovsdbClient connecting from {} on port {} clientCn {}", remoteHost, localPort, clientCn);
|
||||||
@@ -110,42 +140,36 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
|
|
||||||
extIntegrationInterface.apConnected(key, connectNodeInfo);
|
extIntegrationInterface.apConnected(key, connectNodeInfo);
|
||||||
|
|
||||||
// push configuration to AP
|
processConnectRequest(ovsdbClient, clientCn, connectNodeInfo);
|
||||||
connectNodeInfo = processConnectRequest(ovsdbClient, clientCn, connectNodeInfo);
|
|
||||||
|
|
||||||
monitorOvsdbStateTables(ovsdbClient, key);
|
monitorOvsdbStateTables(ovsdbClient, key);
|
||||||
|
|
||||||
|
connectionsCreated.increment();
|
||||||
LOG.info("ovsdbClient connected from {} on port {} AP {} ", remoteHost, localPort, key);
|
LOG.info("ovsdbClient connected from {} on port {} AP {} ", remoteHost, localPort, key);
|
||||||
LOG.info("ovsdbClient connectedClients = {}", ovsdbSessionMapInterface.getNumSessions());
|
LOG.info("ovsdbClient connectedClients = {}", ovsdbSessionMapInterface.getNumSessions());
|
||||||
|
|
||||||
} catch (IllegalStateException e) {
|
} catch (IllegalStateException e) {
|
||||||
|
connectionsFailed.increment();
|
||||||
LOG.error("autoprovisioning error {}", e.getMessage(), e);
|
LOG.error("autoprovisioning error {}", e.getMessage(), e);
|
||||||
// something is wrong with the SSL
|
// something is wrong with the SSL
|
||||||
ovsdbClient.shutdown();
|
ovsdbClient.shutdown();
|
||||||
return;
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
connectionsFailed.increment();
|
||||||
LOG.error("ovsdbClient error", e);
|
LOG.error("ovsdbClient error", e);
|
||||||
// something is wrong with the SSL
|
// something is wrong with the SSL
|
||||||
ovsdbClient.shutdown();
|
ovsdbClient.shutdown();
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void disconnected(OvsdbClient ovsdbClient) {
|
public void disconnected(OvsdbClient ovsdbClient) {
|
||||||
String remoteHost = ovsdbClient.getConnectionInfo().getRemoteAddress().getHostAddress();
|
|
||||||
int localPort = ovsdbClient.getConnectionInfo().getLocalPort();
|
|
||||||
String subjectDn = null;
|
|
||||||
try {
|
|
||||||
subjectDn = ((X509Certificate) ovsdbClient.getConnectionInfo().getRemoteCertificate())
|
|
||||||
.getSubjectDN().getName();
|
|
||||||
} catch (Exception e) {
|
|
||||||
// do nothing
|
|
||||||
}
|
|
||||||
|
|
||||||
String clientCn = SslUtil.extractCN(subjectDn);
|
connectionsDropped.increment();
|
||||||
|
|
||||||
|
String remoteHost;
|
||||||
|
int localPort;
|
||||||
|
String clientCn;
|
||||||
|
|
||||||
// disconnected - deregister ovsdbClient from our
|
// disconnected - deregister ovsdbClient from our
|
||||||
// connectedClients table
|
// connectedClients table
|
||||||
@@ -155,22 +179,37 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
// so we are doing a reverse lookup here, and then if we find
|
// so we are doing a reverse lookup here, and then if we find
|
||||||
// the key we will
|
// the key we will
|
||||||
// remove the entry from the connectedClients.
|
// remove the entry from the connectedClients.
|
||||||
String key = ovsdbSessionMapInterface.lookupClientId(ovsdbClient);
|
String key;
|
||||||
|
|
||||||
|
try {
|
||||||
|
remoteHost = ovsdbClient.getConnectionInfo().getRemoteAddress().getHostAddress();
|
||||||
|
localPort = ovsdbClient.getConnectionInfo().getLocalPort();
|
||||||
|
String subjectDn = null;
|
||||||
|
try {
|
||||||
|
subjectDn = ((X509Certificate) ovsdbClient.getConnectionInfo().getRemoteCertificate()).getSubjectDN().getName();
|
||||||
|
} catch (Exception e) {
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
|
clientCn = SslUtil.extractCN(subjectDn);
|
||||||
|
key = ovsdbSessionMapInterface.lookupClientId(ovsdbClient);
|
||||||
if (key != null) {
|
if (key != null) {
|
||||||
try {
|
try {
|
||||||
extIntegrationInterface.apDisconnected(key);
|
extIntegrationInterface.apDisconnected(key);
|
||||||
ovsdbSessionMapInterface.removeSession(key);
|
ovsdbSessionMapInterface.removeSession(key);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.debug("Unable to process ap disconnect. {}", e.getMessage());
|
LOG.debug("Unable to process ap disconnect. {}", e.getMessage());
|
||||||
} finally {
|
|
||||||
ovsdbClient.shutdown();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
LOG.info("ovsdbClient disconnected from {} on port {} clientCn {} AP {} ", remoteHost, localPort, clientCn, key);
|
||||||
|
LOG.info("ovsdbClient connectedClients = {}", ovsdbSessionMapInterface.getNumSessions());
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
ovsdbClient.shutdown();
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOG.error("Caught Exception shutting down ovsdb client, may have already been disconnected", e);
|
||||||
|
}
|
||||||
|
|
||||||
LOG.info("ovsdbClient disconnected from {} on port {} clientCn {} AP {} ", remoteHost, localPort,
|
}
|
||||||
clientCn, key);
|
|
||||||
LOG.info("ovsdbClient connectedClients = {}", ovsdbSessionMapInterface.getNumSessions());
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -181,46 +220,54 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
LOG.info("Manager waiting for connection on port {}...", ovsdbListenPort);
|
LOG.info("Manager waiting for connection on port {}...", ovsdbListenPort);
|
||||||
}
|
}
|
||||||
|
|
||||||
private ConnectNodeInfo processConnectRequest(OvsdbClient ovsdbClient, String clientCn,
|
private void processConnectRequest(OvsdbClient ovsdbClient, String clientCn, ConnectNodeInfo connectNodeInfo) {
|
||||||
ConnectNodeInfo connectNodeInfo) {
|
|
||||||
|
|
||||||
LOG.debug("Starting Client connect");
|
LOG.debug("Starting Client connect");
|
||||||
connectNodeInfo = ovsdbDao.updateConnectNodeInfoOnConnect(ovsdbClient, clientCn, connectNodeInfo,
|
connectNodeInfo = ovsdbDao.updateConnectNodeInfoOnConnect(ovsdbClient, clientCn, connectNodeInfo, preventClientCnAlteration);
|
||||||
preventClientCnAlteration);
|
|
||||||
|
|
||||||
// successfully connected - register it in our
|
// successfully connected - register it in our
|
||||||
// connectedClients table
|
// connectedClients table
|
||||||
String apId = alterClientCnIfRequired(clientCn, connectNodeInfo);
|
String apId = alterClientCnIfRequired(clientCn, connectNodeInfo);
|
||||||
|
|
||||||
LOG.debug("Client connect for AP {}", apId);
|
LOG.debug("Client {} connect for AP {}", clientCn, apId);
|
||||||
|
|
||||||
|
ovsdbDao.removeAllPasspointConfigs(ovsdbClient);
|
||||||
|
ovsdbDao.removeAllSsids(ovsdbClient); // always
|
||||||
|
ovsdbDao.removeAllInetConfigs(ovsdbClient);
|
||||||
|
ovsdbDao.removeWifiRrm(ovsdbClient);
|
||||||
|
ovsdbDao.removeRadsecRadiusAndRealmConfigs(ovsdbClient);
|
||||||
|
ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always
|
||||||
|
|
||||||
|
extIntegrationInterface.clearEquipmentStatus(apId);
|
||||||
|
|
||||||
OpensyncAPConfig opensyncAPConfig = extIntegrationInterface.getApConfig(apId);
|
OpensyncAPConfig opensyncAPConfig = extIntegrationInterface.getApConfig(apId);
|
||||||
|
|
||||||
try {
|
|
||||||
ovsdbDao.provisionBridgePortInterface(ovsdbClient);
|
|
||||||
} catch (Exception e) {
|
|
||||||
LOG.warn("Could not provision Bridge->Port->Interface mapping.", e);
|
|
||||||
}
|
|
||||||
ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always
|
|
||||||
ovsdbDao.removeAllSsids(ovsdbClient); // always
|
|
||||||
ovsdbDao.removeWifiRrm(ovsdbClient);
|
|
||||||
|
|
||||||
if (opensyncAPConfig != null) {
|
if (opensyncAPConfig != null) {
|
||||||
ovsdbDao.configureWifiRadios(ovsdbClient, opensyncAPConfig);
|
ovsdbDao.configureNode(ovsdbClient, opensyncAPConfig);
|
||||||
ovsdbDao.configureInterfaces(ovsdbClient);
|
|
||||||
ovsdbDao.configureSsids(ovsdbClient, opensyncAPConfig);
|
|
||||||
ovsdbDao.configureWifiRrm(ovsdbClient, opensyncAPConfig);
|
ovsdbDao.configureWifiRrm(ovsdbClient, opensyncAPConfig);
|
||||||
|
ovsdbDao.configureGreTunnels(ovsdbClient, opensyncAPConfig);
|
||||||
|
ovsdbDao.createVlanNetworkInterfaces(ovsdbClient, opensyncAPConfig);
|
||||||
|
ovsdbDao.configureRadsecRadiusAndRealm(ovsdbClient, opensyncAPConfig);
|
||||||
|
ovsdbDao.configureSsids(ovsdbClient, opensyncAPConfig);
|
||||||
if (opensyncAPConfig.getHotspotConfig() != null) {
|
if (opensyncAPConfig.getHotspotConfig() != null) {
|
||||||
ovsdbDao.configureHotspots(ovsdbClient, opensyncAPConfig);
|
ovsdbDao.configureHotspots(ovsdbClient, opensyncAPConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ovsdbDao.configureInterfaces(ovsdbClient);
|
||||||
|
ovsdbDao.configureWifiRadios(ovsdbClient, opensyncAPConfig);
|
||||||
|
|
||||||
ovsdbDao.configureStatsFromProfile(ovsdbClient, opensyncAPConfig);
|
ovsdbDao.configureStatsFromProfile(ovsdbClient, opensyncAPConfig);
|
||||||
if (((ApNetworkConfiguration) opensyncAPConfig.getApProfile().getDetails()).getSyntheticClientEnabled()) {
|
if (ovsdbDao.getDeviceStatsReportingInterval(ovsdbClient) != collectionIntervalSecDeviceStats) {
|
||||||
ovsdbDao.enableNetworkProbeForSyntheticClient(ovsdbClient);
|
ovsdbDao.updateDeviceStatsReportingInterval(ovsdbClient, collectionIntervalSecDeviceStats);
|
||||||
}
|
}
|
||||||
|
ovsdbDao.enableNetworkProbeForSyntheticClient(ovsdbClient);
|
||||||
|
ovsdbDao.updateEventReportingInterval(ovsdbClient, collectionIntervalSecEvent);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
LOG.info("No Configuration available for {}", apId);
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG.debug("Client connect Done");
|
LOG.debug("Client connect Done");
|
||||||
return connectNodeInfo;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -240,9 +287,16 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
throw new IllegalStateException("AP with id " + apId + " is not connected");
|
throw new IllegalStateException("AP with id " + apId + " is not connected");
|
||||||
}
|
}
|
||||||
|
|
||||||
String ret = ovsdbDao.changeRedirectorAddress(ovsdbSession.getOvsdbClient(), apId, newRedirectorAddress);
|
return ovsdbDao.changeRedirectorAddress(ovsdbSession.getOvsdbClient(), apId, newRedirectorAddress);
|
||||||
|
}
|
||||||
|
|
||||||
return ret;
|
public String processBlinkRequest(String apId, boolean blinkAllLEDs) {
|
||||||
|
OvsdbSession ovsdbSession = ovsdbSessionMapInterface.getSession(apId);
|
||||||
|
if (ovsdbSession == null) {
|
||||||
|
throw new IllegalStateException("AP with id " + apId + " is not connected");
|
||||||
|
}
|
||||||
|
|
||||||
|
return ovsdbDao.processBlinkRequest(ovsdbSession.getOvsdbClient(), apId, blinkAllLEDs);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -262,19 +316,26 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ovsdbDao.removeAllPasspointConfigs(ovsdbClient);
|
||||||
ovsdbDao.removeAllSsids(ovsdbClient); // always
|
ovsdbDao.removeAllSsids(ovsdbClient); // always
|
||||||
|
ovsdbDao.removeAllInetConfigs(ovsdbClient);
|
||||||
ovsdbDao.removeWifiRrm(ovsdbClient);
|
ovsdbDao.removeWifiRrm(ovsdbClient);
|
||||||
ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always
|
ovsdbDao.removeRadsecRadiusAndRealmConfigs(ovsdbClient);
|
||||||
|
|
||||||
ovsdbDao.configureWifiRadios(ovsdbClient, opensyncAPConfig);
|
extIntegrationInterface.clearEquipmentStatus(apId);
|
||||||
ovsdbDao.configureInterfaces(ovsdbClient);
|
|
||||||
ovsdbDao.configureSsids(ovsdbClient, opensyncAPConfig);
|
ovsdbDao.configureNode(ovsdbClient, opensyncAPConfig);
|
||||||
ovsdbDao.configureWifiRrm(ovsdbClient, opensyncAPConfig);
|
ovsdbDao.configureWifiRrm(ovsdbClient, opensyncAPConfig);
|
||||||
|
ovsdbDao.configureGreTunnels(ovsdbClient, opensyncAPConfig);
|
||||||
|
ovsdbDao.createVlanNetworkInterfaces(ovsdbClient, opensyncAPConfig);
|
||||||
|
ovsdbDao.configureRadsecRadiusAndRealm(ovsdbClient, opensyncAPConfig);
|
||||||
|
ovsdbDao.configureSsids(ovsdbClient, opensyncAPConfig);
|
||||||
if (opensyncAPConfig.getHotspotConfig() != null) {
|
if (opensyncAPConfig.getHotspotConfig() != null) {
|
||||||
ovsdbDao.configureHotspots(ovsdbClient, opensyncAPConfig);
|
ovsdbDao.configureHotspots(ovsdbClient, opensyncAPConfig);
|
||||||
}
|
}
|
||||||
ovsdbDao.configureStatsFromProfile(ovsdbClient, opensyncAPConfig);
|
|
||||||
|
|
||||||
|
ovsdbDao.configureInterfaces(ovsdbClient);
|
||||||
|
ovsdbDao.configureWifiRadios(ovsdbClient, opensyncAPConfig);
|
||||||
LOG.debug("Finished processConfigChanged for {}", apId);
|
LOG.debug("Finished processConfigChanged for {}", apId);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -310,17 +371,20 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
} catch (OvsdbClientException e) {
|
} catch (OvsdbClientException e) {
|
||||||
LOG.debug("Could not enable monitor for Wifi_Radio_State table. {}", e.getMessage());
|
LOG.debug("Could not enable monitor for Wifi_Radio_State table. {}", e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
monitorWifiInetStateDbTable(ovsdbClient, key);
|
monitorWifiInetStateDbTable(ovsdbClient, key);
|
||||||
} catch (OvsdbClientException e) {
|
} catch (OvsdbClientException e) {
|
||||||
LOG.debug("Could not enable monitor for Wifi_Inet_State table. {}", e.getMessage());
|
LOG.debug("Could not enable monitor for Wifi_Inet_State table. {}", e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
monitorWifiVifStateDbTable(ovsdbClient, key);
|
monitorWifiVifStateDbTable(ovsdbClient, key);
|
||||||
} catch (OvsdbClientException e) {
|
} catch (OvsdbClientException e) {
|
||||||
LOG.debug("Could not enable monitor for Wifi_VIF_State table. {}", e.getMessage());
|
LOG.debug("Could not enable monitor for Wifi_VIF_State table. {}", e.getMessage());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
monitorWifiAssociatedClientsDbTable(ovsdbClient, key);
|
monitorWifiAssociatedClientsDbTable(ovsdbClient, key);
|
||||||
} catch (OvsdbClientException e) {
|
} catch (OvsdbClientException e) {
|
||||||
@@ -333,6 +397,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
LOG.debug("Could not enable monitor for AWLAN_Node table. {}", e.getMessage());
|
LOG.debug("Could not enable monitor for AWLAN_Node table. {}", e.getMessage());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
monitorDhcpLeasedIpDbTable(ovsdbClient, key);
|
monitorDhcpLeasedIpDbTable(ovsdbClient, key);
|
||||||
} catch (OvsdbClientException e) {
|
} catch (OvsdbClientException e) {
|
||||||
@@ -346,21 +411,30 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
LOG.debug("Could not enable monitor for Command_State table. {}", e.getMessage());
|
LOG.debug("Could not enable monitor for Command_State table. {}", e.getMessage());
|
||||||
|
|
||||||
}
|
}
|
||||||
LOG.debug("Finished (re)setting monitors for AP {}", key);
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
monitorNodeStateTable(ovsdbClient, key);
|
||||||
|
} catch (OvsdbClientException e) {
|
||||||
|
LOG.debug("Could not enable monitor for Node_State table. {}", e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (ovsdbClient.getSchema(OvsdbDao.ovsdbName).get().getTables().containsKey("APC_State")) {
|
||||||
|
monitorAPCStateTable(ovsdbClient, key);
|
||||||
|
}
|
||||||
|
} catch (InterruptedException | ExecutionException | OvsdbClientException e) {
|
||||||
|
LOG.debug("Could not enable monitor for APC_State table. {}", e);
|
||||||
|
}
|
||||||
|
LOG.debug("Finished (re)setting monitors for AP {}", key);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void monitorDhcpLeasedIpDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
|
private void monitorDhcpLeasedIpDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
|
||||||
|
|
||||||
CompletableFuture<TableUpdates> awCf = ovsdbClient.monitor(OvsdbDao.ovsdbName,
|
CompletableFuture<TableUpdates> awCf = ovsdbClient.monitor(OvsdbDao.ovsdbName, OvsdbDao.dhcpLeasedIpDbTable + "_" + key,
|
||||||
OvsdbDao.dhcpLeasedIpDbTable + "_" + key,
|
new MonitorRequests(ImmutableMap.of(OvsdbDao.dhcpLeasedIpDbTable, new MonitorRequest(new MonitorSelect(true, true, true, true)))),
|
||||||
new MonitorRequests(ImmutableMap.of(OvsdbDao.dhcpLeasedIpDbTable, new MonitorRequest())),
|
tableUpdates -> {
|
||||||
new MonitorCallback() {
|
try {
|
||||||
|
LOG.info(OvsdbDao.dhcpLeasedIpDbTable + "_" + key + " monitor callback received {}", tableUpdates);
|
||||||
@Override
|
|
||||||
public void update(TableUpdates tableUpdates) {
|
|
||||||
LOG.info(OvsdbDao.dhcpLeasedIpDbTable + "_" + key + " monitor callback received {}",
|
|
||||||
tableUpdates);
|
|
||||||
|
|
||||||
List<Map<String, String>> insert = new ArrayList<>();
|
List<Map<String, String>> insert = new ArrayList<>();
|
||||||
List<Map<String, String>> delete = new ArrayList<>();
|
List<Map<String, String>> delete = new ArrayList<>();
|
||||||
@@ -372,9 +446,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
if (rowUpdate.getNew() == null) {
|
if (rowUpdate.getNew() == null) {
|
||||||
Map<String, String> rowMap = new HashMap<>();
|
Map<String, String> rowMap = new HashMap<>();
|
||||||
|
|
||||||
rowUpdate.getOld().getColumns().entrySet().stream().forEach(c -> {
|
rowUpdate.getOld().getColumns().entrySet().forEach(c -> OvsdbDao.translateDhcpFpValueToString(c, rowMap));
|
||||||
OvsdbDao.translateDhcpFpValueToString(c, rowMap);
|
|
||||||
});
|
|
||||||
|
|
||||||
delete.add(rowMap);
|
delete.add(rowMap);
|
||||||
// delete
|
// delete
|
||||||
@@ -382,9 +454,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
// insert
|
// insert
|
||||||
Map<String, String> rowMap = new HashMap<>();
|
Map<String, String> rowMap = new HashMap<>();
|
||||||
|
|
||||||
rowUpdate.getNew().getColumns().entrySet().stream().forEach(c -> {
|
rowUpdate.getNew().getColumns().entrySet().forEach(c -> OvsdbDao.translateDhcpFpValueToString(c, rowMap));
|
||||||
OvsdbDao.translateDhcpFpValueToString(c, rowMap);
|
|
||||||
});
|
|
||||||
|
|
||||||
insert.add(rowMap);
|
insert.add(rowMap);
|
||||||
} else {
|
} else {
|
||||||
@@ -393,9 +463,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
Map<String, String> rowMap = new HashMap<>();
|
Map<String, String> rowMap = new HashMap<>();
|
||||||
|
|
||||||
rowUpdate.getOld().getColumns().putAll(rowUpdate.getNew().getColumns());
|
rowUpdate.getOld().getColumns().putAll(rowUpdate.getNew().getColumns());
|
||||||
rowUpdate.getOld().getColumns().entrySet().stream().forEach(c -> {
|
rowUpdate.getOld().getColumns().entrySet().forEach(c -> OvsdbDao.translateDhcpFpValueToString(c, rowMap));
|
||||||
OvsdbDao.translateDhcpFpValueToString(c, rowMap);
|
|
||||||
});
|
|
||||||
|
|
||||||
update.add(rowMap);
|
update.add(rowMap);
|
||||||
|
|
||||||
@@ -416,44 +484,34 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
extIntegrationInterface.dhcpLeasedIpDbTableUpdate(update, key, RowUpdateOperation.MODIFY);
|
extIntegrationInterface.dhcpLeasedIpDbTableUpdate(update, key, RowUpdateOperation.MODIFY);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOG.error("dhcpLeasedIpDbTableUpdate failed", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
awCf.join();
|
awCf.join();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void monitorCommandStateDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
|
private void monitorCommandStateDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
|
||||||
|
|
||||||
CompletableFuture<TableUpdates> csCf = ovsdbClient.monitor(OvsdbDao.ovsdbName,
|
CompletableFuture<TableUpdates> csCf = ovsdbClient.monitor(OvsdbDao.ovsdbName, OvsdbDao.commandStateDbTable + "_" + key,
|
||||||
OvsdbDao.commandStateDbTable + "_" + key,
|
new MonitorRequests(ImmutableMap.of(OvsdbDao.commandStateDbTable, new MonitorRequest())), tableUpdates -> {
|
||||||
new MonitorRequests(ImmutableMap.of(OvsdbDao.commandStateDbTable, new MonitorRequest())),
|
try {
|
||||||
new MonitorCallback() {
|
LOG.info(OvsdbDao.commandStateDbTable + "_" + key + " monitor callback received {}", tableUpdates);
|
||||||
|
|
||||||
@Override
|
|
||||||
public void update(TableUpdates tableUpdates) {
|
|
||||||
LOG.info(OvsdbDao.commandStateDbTable + "_" + key + " monitor callback received {}",
|
|
||||||
tableUpdates);
|
|
||||||
|
|
||||||
List<Map<String, String>> insert = new ArrayList<>();
|
List<Map<String, String>> insert = new ArrayList<>();
|
||||||
List<Map<String, String>> delete = new ArrayList<>();
|
List<Map<String, String>> delete = new ArrayList<>();
|
||||||
List<Map<String, String>> update = new ArrayList<>();
|
List<Map<String, String>> update = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) {
|
for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) {
|
||||||
for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) {
|
for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) {
|
||||||
|
|
||||||
if (rowUpdate.getNew() == null) {
|
if (rowUpdate.getNew() == null) {
|
||||||
Map<String, String> rowMap = new HashMap<>();
|
Map<String, String> rowMap = new HashMap<>();
|
||||||
|
|
||||||
rowUpdate.getOld().getColumns().entrySet().stream().forEach(c -> {
|
rowUpdate.getOld().getColumns().forEach((key1, value) -> rowMap.put(key1, value.toString()));
|
||||||
rowMap.put(c.getKey(), c.getValue().toString());
|
|
||||||
});
|
|
||||||
|
|
||||||
delete.add(rowMap);
|
delete.add(rowMap);
|
||||||
// delete
|
// delete
|
||||||
@@ -461,9 +519,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
// insert
|
// insert
|
||||||
Map<String, String> rowMap = new HashMap<>();
|
Map<String, String> rowMap = new HashMap<>();
|
||||||
|
|
||||||
rowUpdate.getNew().getColumns().entrySet().stream().forEach(c -> {
|
rowUpdate.getNew().getColumns().forEach((key1, value) -> rowMap.put(key1, value.toString()));
|
||||||
rowMap.put(c.getKey(), c.getValue().toString());
|
|
||||||
});
|
|
||||||
|
|
||||||
insert.add(rowMap);
|
insert.add(rowMap);
|
||||||
} else {
|
} else {
|
||||||
@@ -472,9 +528,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
Map<String, String> rowMap = new HashMap<>();
|
Map<String, String> rowMap = new HashMap<>();
|
||||||
|
|
||||||
rowUpdate.getOld().getColumns().putAll(rowUpdate.getNew().getColumns());
|
rowUpdate.getOld().getColumns().putAll(rowUpdate.getNew().getColumns());
|
||||||
rowUpdate.getOld().getColumns().entrySet().stream().forEach(c -> {
|
rowUpdate.getOld().getColumns().forEach((key1, value) -> rowMap.put(key1, value.toString()));
|
||||||
rowMap.put(c.getKey(), c.getValue().toString());
|
|
||||||
});
|
|
||||||
|
|
||||||
update.add(rowMap);
|
update.add(rowMap);
|
||||||
|
|
||||||
@@ -495,48 +549,38 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
extIntegrationInterface.commandStateDbTableUpdate(update, key, RowUpdateOperation.MODIFY);
|
extIntegrationInterface.commandStateDbTableUpdate(update, key, RowUpdateOperation.MODIFY);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOG.error("commandStateDbTableUpdate failed", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
csCf.join();
|
csCf.join();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void monitorAwlanNodeDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
|
private void monitorAwlanNodeDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
|
||||||
CompletableFuture<TableUpdates> awCf = ovsdbClient.monitor(OvsdbDao.ovsdbName,
|
CompletableFuture<TableUpdates> awCf = ovsdbClient.monitor(OvsdbDao.ovsdbName, OvsdbDao.awlanNodeDbTable + "_" + key,
|
||||||
OvsdbDao.awlanNodeDbTable + "_" + key,
|
new MonitorRequests(ImmutableMap.of(OvsdbDao.awlanNodeDbTable, new MonitorRequest(new MonitorSelect(true, false, false, true)))),
|
||||||
new MonitorRequests(ImmutableMap.of(OvsdbDao.awlanNodeDbTable, new MonitorRequest())),
|
tableUpdates -> {
|
||||||
new MonitorCallback() {
|
try {
|
||||||
|
|
||||||
@Override
|
|
||||||
public void update(TableUpdates tableUpdates) {
|
|
||||||
LOG.info(OvsdbDao.awlanNodeDbTable + "_" + key + " monitor callback received {}", tableUpdates);
|
LOG.info(OvsdbDao.awlanNodeDbTable + "_" + key + " monitor callback received {}", tableUpdates);
|
||||||
|
|
||||||
extIntegrationInterface.awlanNodeDbTableUpdate(
|
extIntegrationInterface.awlanNodeDbTableUpdate(ovsdbDao.getOpensyncAWLANNode(tableUpdates, key, ovsdbClient), key);
|
||||||
ovsdbDao.getOpensyncAWLANNode(tableUpdates, key, ovsdbClient), key);
|
} catch (Exception e) {
|
||||||
|
LOG.error("awlanNodeDbTableUpdate failed", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
awCf.join();
|
extIntegrationInterface.awlanNodeDbTableUpdate(ovsdbDao.getOpensyncAWLANNode(awCf.join(), key, ovsdbClient), key);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void monitorWifiAssociatedClientsDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
|
private void monitorWifiAssociatedClientsDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
|
||||||
CompletableFuture<TableUpdates> acCf = ovsdbClient.monitor(OvsdbDao.ovsdbName,
|
CompletableFuture<TableUpdates> acCf = ovsdbClient.monitor(OvsdbDao.ovsdbName, OvsdbDao.wifiAssociatedClientsDbTable + "_" + key,
|
||||||
OvsdbDao.wifiAssociatedClientsDbTable + "_" + key,
|
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiAssociatedClientsDbTable, new MonitorRequest())), tableUpdates -> {
|
||||||
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiAssociatedClientsDbTable, new MonitorRequest())),
|
|
||||||
new MonitorCallback() {
|
|
||||||
|
|
||||||
@Override
|
try {
|
||||||
public void update(TableUpdates tableUpdates) {
|
LOG.info(OvsdbDao.wifiAssociatedClientsDbTable + "_" + key + " monitor callback received {}", tableUpdates);
|
||||||
|
|
||||||
LOG.info(OvsdbDao.wifiAssociatedClientsDbTable + "_" + key + " monitor callback received {}",
|
|
||||||
tableUpdates);
|
|
||||||
|
|
||||||
List<OpensyncWifiAssociatedClients> associatedClients = new ArrayList<>();
|
List<OpensyncWifiAssociatedClients> associatedClients = new ArrayList<>();
|
||||||
|
|
||||||
@@ -546,43 +590,37 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
if ((rowUpdate.getOld() != null) && (rowUpdate.getNew() == null)) {
|
if ((rowUpdate.getOld() != null) && (rowUpdate.getNew() == null)) {
|
||||||
Row row = rowUpdate.getOld();
|
Row row = rowUpdate.getOld();
|
||||||
String deletedClientMac = row.getStringColumn("mac");
|
String deletedClientMac = row.getStringColumn("mac");
|
||||||
// take care of the deletes as we go through
|
// take care of the deletes as we go
|
||||||
// the updates, as we want to delete before
|
// through
|
||||||
|
// the updates, as we want to delete
|
||||||
|
// before
|
||||||
// adding anyway.
|
// adding anyway.
|
||||||
extIntegrationInterface.wifiAssociatedClientsDbTableDelete(deletedClientMac, key);
|
extIntegrationInterface.wifiAssociatedClientsDbTableDelete(deletedClientMac, key);
|
||||||
} else {
|
} else {
|
||||||
associatedClients.addAll(
|
associatedClients.addAll(ovsdbDao.getOpensyncWifiAssociatedClients(rowUpdate, key, ovsdbClient));
|
||||||
ovsdbDao.getOpensyncWifiAssociatedClients(rowUpdate, key, ovsdbClient));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// now address the update/add
|
// now address the update/add
|
||||||
extIntegrationInterface.wifiAssociatedClientsDbTableUpdate(associatedClients, key);
|
extIntegrationInterface.wifiAssociatedClientsDbTableUpdate(associatedClients, key);
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOG.error("wifiAssociatedClientsDbTableUpdate failed", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
acCf.join();
|
extIntegrationInterface.wifiAssociatedClientsDbTableUpdate(ovsdbDao.getInitialOpensyncWifiAssociatedClients(acCf.join(), key, ovsdbClient), key);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void monitorWifiInetStateDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
|
private void monitorWifiInetStateDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
|
||||||
CompletableFuture<TableUpdates> isCf = ovsdbClient
|
CompletableFuture<TableUpdates> isCf = ovsdbClient.monitor(OvsdbDao.ovsdbName, OvsdbDao.wifiInetStateDbTable + "_" + key,
|
||||||
.monitor(OvsdbDao.ovsdbName, OvsdbDao.wifiInetStateDbTable + "_" + key,
|
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiInetStateDbTable, new MonitorRequest(new MonitorSelect(true, true, true, true)))),
|
||||||
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiInetStateDbTable,
|
tableUpdates -> {
|
||||||
new MonitorRequest(new MonitorSelect(false, true, true, true)))),
|
try {
|
||||||
new MonitorCallback() {
|
LOG.info(OvsdbDao.wifiInetStateDbTable + "_" + key + " monitor callback received {}", tableUpdates);
|
||||||
|
|
||||||
@Override
|
|
||||||
public void update(TableUpdates tableUpdates) {
|
|
||||||
LOG.info(OvsdbDao.ovsdbName,
|
|
||||||
OvsdbDao.wifiInetStateDbTable + "_" + key + " monitor callback received {}",
|
|
||||||
tableUpdates);
|
|
||||||
|
|
||||||
List<OpensyncAPInetState> inetStateInsertOrUpdate = new ArrayList<>();
|
List<OpensyncAPInetState> inetStateInsertOrUpdate = new ArrayList<>();
|
||||||
List<OpensyncAPInetState> inetStateDelete = new ArrayList<>();
|
List<OpensyncAPInetState> inetStateDelete = new ArrayList<>();
|
||||||
@@ -592,62 +630,52 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) {
|
for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) {
|
||||||
|
|
||||||
if (rowUpdate.getNew() == null) {
|
if (rowUpdate.getNew() == null) {
|
||||||
inetStateDelete.addAll(ovsdbDao
|
inetStateDelete.addAll(ovsdbDao.getOpensyncApInetStateForRowUpdate(rowUpdate, key, ovsdbClient));
|
||||||
.getOpensyncApInetStateForRowUpdate(rowUpdate, key, ovsdbClient));
|
|
||||||
} else {
|
} else {
|
||||||
inetStateInsertOrUpdate.addAll(ovsdbDao
|
inetStateInsertOrUpdate.addAll(ovsdbDao.getOpensyncApInetStateForRowUpdate(rowUpdate, key, ovsdbClient));
|
||||||
.getOpensyncApInetStateForRowUpdate(rowUpdate, key, ovsdbClient));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// delete first
|
// delete first
|
||||||
extIntegrationInterface.wifiInetStateDbTableUpdate(inetStateDelete, key);
|
extIntegrationInterface.wifiInetStateDbTableUpdate(inetStateDelete, key);
|
||||||
|
|
||||||
// now process updates and mutations
|
// now process updates and mutations
|
||||||
extIntegrationInterface.wifiInetStateDbTableUpdate(inetStateInsertOrUpdate, key);
|
extIntegrationInterface.wifiInetStateDbTableUpdate(inetStateInsertOrUpdate, key);
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOG.error("wifiInetStateDbTableUpdate failed", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
isCf.join();
|
|
||||||
|
extIntegrationInterface.wifiInetStateDbTableUpdate(ovsdbDao.getInitialOpensyncApInetStateForRowUpdate(isCf.join(), key, ovsdbClient), key);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void monitorWifiRadioStateDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
|
private void monitorWifiRadioStateDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
|
||||||
|
|
||||||
CompletableFuture<TableUpdates> rsCf = ovsdbClient.monitor(OvsdbDao.ovsdbName,
|
CompletableFuture<TableUpdates> rsCf = ovsdbClient.monitor(OvsdbDao.ovsdbName, OvsdbDao.wifiRadioStateDbTable + "_" + key,
|
||||||
OvsdbDao.wifiRadioStateDbTable + "_" + key,
|
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiRadioStateDbTable, new MonitorRequest(new MonitorSelect(true, false, false, true)))),
|
||||||
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiRadioStateDbTable, new MonitorRequest())),
|
tableUpdates -> {
|
||||||
new MonitorCallback() {
|
try {
|
||||||
|
LOG.info(OvsdbDao.wifiRadioStateDbTable + "_" + key + " monitor callback received {}", tableUpdates);
|
||||||
|
|
||||||
@Override
|
extIntegrationInterface.wifiRadioStatusDbTableUpdate(ovsdbDao.getOpensyncAPRadioState(tableUpdates, key, ovsdbClient), key);
|
||||||
public void update(TableUpdates tableUpdates) {
|
} catch (Exception e) {
|
||||||
LOG.info(OvsdbDao.wifiRadioStateDbTable + "_" + key + " monitor callback received {}",
|
LOG.error("wifiRadioStatusDbTableUpdate failed", e);
|
||||||
tableUpdates);
|
|
||||||
|
|
||||||
extIntegrationInterface.wifiRadioStatusDbTableUpdate(
|
|
||||||
ovsdbDao.getOpensyncAPRadioState(tableUpdates, key, ovsdbClient), key);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
rsCf.join();
|
extIntegrationInterface.wifiRadioStatusDbTableUpdate(ovsdbDao.getOpensyncAPRadioState(rsCf.join(), key, ovsdbClient), key);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void monitorWifiVifStateDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
|
private void monitorWifiVifStateDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
|
||||||
|
|
||||||
CompletableFuture<TableUpdates> vsCf = ovsdbClient.monitor(OvsdbDao.ovsdbName,
|
CompletableFuture<TableUpdates> vsCf = ovsdbClient.monitor(OvsdbDao.ovsdbName, OvsdbDao.wifiVifStateDbTable + "_" + key,
|
||||||
OvsdbDao.wifiVifStateDbTable + "_" + key,
|
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiVifStateDbTable, new MonitorRequest(new MonitorSelect(false, true, true, true)))),
|
||||||
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiVifStateDbTable, new MonitorRequest())),
|
tableUpdates -> {
|
||||||
new MonitorCallback() {
|
try {
|
||||||
|
LOG.info(OvsdbDao.wifiVifStateDbTable + "_" + key + " monitor callback received {}", tableUpdates);
|
||||||
@Override
|
|
||||||
public void update(TableUpdates tableUpdates) {
|
|
||||||
LOG.info(OvsdbDao.wifiVifStateDbTable + "_" + key + " monitor callback received {}",
|
|
||||||
tableUpdates);
|
|
||||||
|
|
||||||
List<OpensyncAPVIFState> vifsToDelete = new ArrayList<>();
|
List<OpensyncAPVIFState> vifsToDelete = new ArrayList<>();
|
||||||
List<OpensyncAPVIFState> vifsToInsertOrUpdate = new ArrayList<>();
|
List<OpensyncAPVIFState> vifsToInsertOrUpdate = new ArrayList<>();
|
||||||
@@ -657,14 +685,12 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
|
|
||||||
if (rowUpdate.getNew() == null) {
|
if (rowUpdate.getNew() == null) {
|
||||||
// this is a deletion
|
// this is a deletion
|
||||||
vifsToDelete.addAll(
|
vifsToDelete.addAll(ovsdbDao.getOpensyncApVifStateForRowUpdate(rowUpdate, key, ovsdbClient));
|
||||||
ovsdbDao.getOpensyncApVifStateForRowUpdate(rowUpdate, key, ovsdbClient));
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// either an insert or
|
// either an insert or
|
||||||
// mutuate/update
|
// mutuate/update
|
||||||
vifsToInsertOrUpdate.addAll(
|
vifsToInsertOrUpdate.addAll(ovsdbDao.getOpensyncApVifStateForRowUpdate(rowUpdate, key, ovsdbClient));
|
||||||
ovsdbDao.getOpensyncApVifStateForRowUpdate(rowUpdate, key, ovsdbClient));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -679,19 +705,79 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOG.error("wifiVIFStateDbTableUpdate failed", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
vsCf.join();
|
vsCf.join();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void monitorNodeStateTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
|
||||||
|
CompletableFuture<TableUpdates> nsCf = ovsdbClient.monitor(OvsdbDao.ovsdbName, OvsdbDao.nodeStateTable + "_" + key,
|
||||||
|
new MonitorRequests(ImmutableMap.of(OvsdbDao.nodeStateTable, new MonitorRequest(new MonitorSelect(true, true, true, true)))), tableUpdates -> {
|
||||||
|
LOG.info(OvsdbDao.nodeStateTable + "_" + key + " monitor callback received {}");
|
||||||
|
extIntegrationInterface.nodeStateDbTableUpdate(processNodeStateTableUpdate(key, tableUpdates), key);
|
||||||
|
|
||||||
|
});
|
||||||
|
extIntegrationInterface.nodeStateDbTableUpdate(processNodeStateTableUpdate(key, nsCf.join()), key);
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<Map<String,String>> processNodeStateTableUpdate(String key, TableUpdates tableUpdates) {
|
||||||
|
List<Map<String, String>> updates = new ArrayList<>();
|
||||||
|
tableUpdates.getTableUpdates().forEach((key1, value) -> {
|
||||||
|
LOG.info("TableUpdate for {}", key1);
|
||||||
|
value.getRowUpdates().values().forEach(r -> {
|
||||||
|
if (r.getOld() != null) {
|
||||||
|
LOG.info("Node_State old row {}", r.getOld().getColumns());
|
||||||
|
}
|
||||||
|
if (r.getNew() != null) {
|
||||||
|
LOG.info("Node_State new row {}", r.getNew().getColumns());
|
||||||
|
Map<String, Value> columns = r.getNew().getColumns();
|
||||||
|
Map<String, String> update = new HashMap<>();
|
||||||
|
update.put("key", columns.get("key").toString());
|
||||||
|
update.put("module", columns.get("module").toString());
|
||||||
|
update.put("persist", columns.get("persist").toString());
|
||||||
|
update.put("value", columns.get("value").toString());
|
||||||
|
updates.add(update);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
return updates;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void monitorAPCStateTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
|
||||||
|
CompletableFuture<TableUpdates> nsCf = ovsdbClient.monitor(OvsdbDao.ovsdbName, OvsdbDao.apcStateDbTable + "_" + key,
|
||||||
|
new MonitorRequests(ImmutableMap.of(OvsdbDao.apcStateDbTable, new MonitorRequest(new MonitorSelect(true, true, true, true)))), tableUpdates -> {
|
||||||
|
LOG.info(OvsdbDao.apcStateDbTable + "_" + key + " monitor callback received {}");
|
||||||
|
tableUpdates.getTableUpdates().forEach((key1, value) -> {
|
||||||
|
LOG.info("TableUpdate for {}", key1);
|
||||||
|
value.getRowUpdates().values().forEach(r -> {
|
||||||
|
|
||||||
|
Map<String, String> apcStateAttributes = ovsdbDao.getAPCState(r, key);
|
||||||
|
|
||||||
|
extIntegrationInterface.apcStateDbTableUpdate(apcStateAttributes, key, RowUpdateOperation.MODIFY);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
});
|
||||||
|
try {
|
||||||
|
extIntegrationInterface.apcStateDbTableUpdate(
|
||||||
|
ovsdbDao.getAPCState(nsCf.join().getTableUpdates().entrySet().iterator().next().getValue().getRowUpdates().values().iterator().next(), key),
|
||||||
|
key, RowUpdateOperation.INIT);
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOG.error("Could not get INIT state for {}", OvsdbDao.apcStateDbTable, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String closeSession(String apId) {
|
public String closeSession(String apId) {
|
||||||
OvsdbSession session = ovsdbSessionMapInterface.getSession(apId);
|
OvsdbSession session = ovsdbSessionMapInterface.getSession(apId);
|
||||||
|
if (session != null) {
|
||||||
try {
|
try {
|
||||||
session.getOvsdbClient().shutdown();
|
session.getOvsdbClient().shutdown();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -699,18 +785,17 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
return "Failed to close session to " + apId + " " + e.getLocalizedMessage();
|
return "Failed to close session to " + apId + " " + e.getLocalizedMessage();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
LOG.debug("Closed session to " + apId);
|
LOG.debug("Closed session to " + apId);
|
||||||
return "Closed session to " + apId;
|
return "Closed session to " + apId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String processFirmwareDownload(String apId, String firmwareUrl, String firmwareVersion, String username,
|
public String processFirmwareDownload(String apId, String firmwareUrl, String firmwareVersion, String username) {
|
||||||
String validationCode) {
|
|
||||||
try {
|
try {
|
||||||
OvsdbSession session = ovsdbSessionMapInterface.getSession(apId);
|
OvsdbSession session = ovsdbSessionMapInterface.getSession(apId);
|
||||||
|
|
||||||
ovsdbDao.configureFirmwareDownload(session.getOvsdbClient(), apId, firmwareUrl, firmwareVersion, username,
|
ovsdbDao.configureFirmwareDownload(session.getOvsdbClient(), apId, firmwareUrl, firmwareVersion, username);
|
||||||
validationCode);
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("Failed to initialize firmware download to " + apId + " " + e.getLocalizedMessage());
|
LOG.error("Failed to initialize firmware download to " + apId + " " + e.getLocalizedMessage());
|
||||||
return "Failed to initialize firmware download to " + apId + " " + e.getLocalizedMessage();
|
return "Failed to initialize firmware download to " + apId + " " + e.getLocalizedMessage();
|
||||||
@@ -723,14 +808,10 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
@Override
|
@Override
|
||||||
public String processFirmwareFlash(String apId, String firmwareVersion, String username) {
|
public String processFirmwareFlash(String apId, String firmwareVersion, String username) {
|
||||||
OvsdbSession session = ovsdbSessionMapInterface.getSession(apId);
|
OvsdbSession session = ovsdbSessionMapInterface.getSession(apId);
|
||||||
OvsdbClient ovsdbClient = session.getOvsdbClient();
|
|
||||||
try {
|
try {
|
||||||
ovsdbDao.configureFirmwareFlash(session.getOvsdbClient(), apId, firmwareVersion, username);
|
ovsdbDao.configureFirmwareFlash(session.getOvsdbClient(), apId, firmwareVersion, username);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("Failed to flash firmware for " + apId + " " + e.getLocalizedMessage());
|
LOG.error("Failed to flash firmware for " + apId + " " + e.getLocalizedMessage());
|
||||||
monitorOvsdbStateTables(ovsdbClient, apId); // turn back on so we
|
|
||||||
// can go forward and
|
|
||||||
// recover
|
|
||||||
return "Failed to flash firmware for " + apId + " " + e.getLocalizedMessage();
|
return "Failed to flash firmware for " + apId + " " + e.getLocalizedMessage();
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -740,32 +821,22 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String startDebugEngine(String apId, String gatewayHostname, Integer gatewayPort) {
|
public String startDebugEngine(String apId, String gatewayHostname, Integer gatewayPort) {
|
||||||
LOG.debug("TipWlanOvsdbClient::startDebugEngine apId {} gatewayHostname {} gatewayPort {}", apId,
|
LOG.debug("TipWlanOvsdbClient::startDebugEngine apId {} gatewayHostname {} gatewayPort {}", apId, gatewayHostname, gatewayPort);
|
||||||
gatewayHostname, gatewayPort);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
OvsdbSession session = ovsdbSessionMapInterface.getSession(apId);
|
OvsdbSession session = ovsdbSessionMapInterface.getSession(apId);
|
||||||
OvsdbClient ovsdbClient = session.getOvsdbClient();
|
OvsdbClient ovsdbClient = session.getOvsdbClient();
|
||||||
|
|
||||||
// TODO: need to establish what the command will be to start debug
|
|
||||||
// logging, on the AP side
|
|
||||||
// For now, use start_debug_engine
|
|
||||||
// Map will have gateway_host and gateway_port for now
|
|
||||||
// Delay/Duration TBD, just use 0s for now
|
|
||||||
Map<String, String> payload = new HashMap<>();
|
Map<String, String> payload = new HashMap<>();
|
||||||
payload.put("gateway_hostname", gatewayHostname);
|
payload.put("gateway_hostname", gatewayHostname);
|
||||||
payload.put("gateway_port", gatewayPort.toString());
|
payload.put("gateway_port", gatewayPort.toString());
|
||||||
ovsdbDao.configureCommands(ovsdbClient, OvsdbDao.StartDebugEngineApCommand, payload, Long.valueOf(0L),
|
ovsdbDao.configureCommands(ovsdbClient, OvsdbDao.StartDebugEngineApCommand, payload, 0L, defaultCommandDurationSec);
|
||||||
Long.valueOf(0L));
|
|
||||||
|
|
||||||
LOG.debug("Started debug engine on AP {} with gateway {} port {}", apId, gatewayHostname, gatewayPort);
|
LOG.debug("Started debug engine on AP {} with gateway {} port {}", apId, gatewayHostname, gatewayPort);
|
||||||
return "Started debug engine on AP " + apId + " with gateway " + gatewayHostname + " port " + gatewayPort;
|
return "Started debug engine on AP " + apId + " with gateway " + gatewayHostname + " port " + gatewayPort;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error(
|
LOG.error("TipWlanOvsdbClient::startDebugEngine Failed to start debug engine on AP {} with gateway {} port {}", apId, gatewayHostname, gatewayPort,
|
||||||
"TipWlanOvsdbClient::startDebugEngine Failed to start debug engine on AP {} with gateway {} port {}",
|
e);
|
||||||
apId, gatewayHostname, gatewayPort, e);
|
return "Failed to start debug engine on AP " + apId + " with gateway " + gatewayHostname + " port " + gatewayPort;
|
||||||
return "Failed to start debug engine on AP " + apId + " with gateway " + gatewayHostname + " port "
|
|
||||||
+ gatewayPort;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -776,10 +847,8 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
try {
|
try {
|
||||||
OvsdbSession session = ovsdbSessionMapInterface.getSession(apId);
|
OvsdbSession session = ovsdbSessionMapInterface.getSession(apId);
|
||||||
OvsdbClient ovsdbClient = session.getOvsdbClient();
|
OvsdbClient ovsdbClient = session.getOvsdbClient();
|
||||||
|
|
||||||
Map<String, String> payload = new HashMap<>();
|
Map<String, String> payload = new HashMap<>();
|
||||||
ovsdbDao.configureCommands(ovsdbClient, OvsdbDao.StopDebugEngineApCommand, payload, Long.valueOf(0L),
|
ovsdbDao.configureCommands(ovsdbClient, OvsdbDao.StopDebugEngineApCommand, payload, 0L, 0L);
|
||||||
Long.valueOf(0L));
|
|
||||||
|
|
||||||
LOG.debug("TipWlanOvsdbClient::stopDebugEngine Stop debug engine on AP {}", apId);
|
LOG.debug("TipWlanOvsdbClient::stopDebugEngine Stop debug engine on AP {}", apId);
|
||||||
return "Stop debug engine on AP " + apId;
|
return "Stop debug engine on AP " + apId;
|
||||||
@@ -812,8 +881,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
if (switchBanks) {
|
if (switchBanks) {
|
||||||
LOG.debug("TipWlanOvsdbClient::processRebootRequest failed to trigger switch software bank on AP {}",
|
LOG.debug("TipWlanOvsdbClient::processRebootRequest failed to trigger switch software bank on AP {}", apId, e);
|
||||||
apId, e);
|
|
||||||
return "failed to trigger switch software bank on AP " + apId;
|
return "failed to trigger switch software bank on AP " + apId;
|
||||||
} else {
|
} else {
|
||||||
LOG.error("TipWlanOvsdbClient::processRebootRequest failed to trigger reboot of AP {}", apId, e);
|
LOG.error("TipWlanOvsdbClient::processRebootRequest failed to trigger reboot of AP {}", apId, e);
|
||||||
@@ -839,7 +907,6 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
return "failed to trigger a factory reset of AP " + apId;
|
return "failed to trigger a factory reset of AP " + apId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String alterClientCnIfRequired(String clientCn, ConnectNodeInfo connectNodeInfo) {
|
public String alterClientCnIfRequired(String clientCn, ConnectNodeInfo connectNodeInfo) {
|
||||||
@@ -860,19 +927,33 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
|||||||
return key;
|
return key;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String processNewChannelsRequest(String apId, Map<RadioType, Integer> channelMap) {
|
public String processNewChannelsRequest(String apId, Map<RadioType, Integer> backupChannelMap, Map<RadioType, Integer> primaryChannelMap) {
|
||||||
LOG.debug("TipWlanOvsdbClient::processNewChannelsRequest for AP {}", apId);
|
LOG.info("TipWlanOvsdbClient::processNewChannelsRequest for AP {}", apId);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
OvsdbSession session = ovsdbSessionMapInterface.getSession(apId);
|
OvsdbSession session = ovsdbSessionMapInterface.getSession(apId);
|
||||||
OvsdbClient ovsdbClient = session.getOvsdbClient();
|
OvsdbClient ovsdbClient = session.getOvsdbClient();
|
||||||
ovsdbDao.processNewChannelsRequest(ovsdbClient, channelMap);
|
ovsdbDao.processNewChannelsRequest(ovsdbClient, backupChannelMap, primaryChannelMap);
|
||||||
LOG.debug("TipWlanOvsdbClient::processNewChannelsRequest change backup channels for AP {}", apId);
|
LOG.info("TipWlanOvsdbClient::processNewChannelsRequest change backup and/or primary channels for AP {}", apId);
|
||||||
return "Triggered a factory reset of AP " + apId;
|
return " change backup and/or primary channels for AP " + apId;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("TipWlanOvsdbClient::processNewChannelsRequest failed to change backup channels for AP {}", apId,
|
LOG.error("TipWlanOvsdbClient::processNewChannelsRequest failed to change backup and/or primary channels for AP {}", apId, e);
|
||||||
e);
|
return "failed to change backup and/or primary channels for AP " + apId;
|
||||||
return " failed to change backup channels for AP " + apId;
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String processCellSizeAttributesRequest(String apId, Map<RadioType, CellSizeAttributes> cellSizeAttributeMap) {
|
||||||
|
LOG.info("TipWlanOvsdbClient::processCellSizeAttributesRequest for AP {}", apId);
|
||||||
|
|
||||||
|
try {
|
||||||
|
OvsdbSession session = ovsdbSessionMapInterface.getSession(apId);
|
||||||
|
OvsdbClient ovsdbClient = session.getOvsdbClient();
|
||||||
|
ovsdbDao.processCellSizeAttributesRequest(ovsdbClient, cellSizeAttributeMap);
|
||||||
|
LOG.info("TipWlanOvsdbClient::processCellSizeAttributesRequest change cellSizeAttributes for AP {}", apId);
|
||||||
|
return " change cell size attributes for AP " + apId;
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOG.error("TipWlanOvsdbClient::processCellSizeAttributesRequest failed to change cell size attributes for AP {}", apId, e);
|
||||||
|
return "failed to change cell size attributes for AP " + apId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,13 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.context.annotation.Profile;
|
import org.springframework.context.annotation.Profile;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import com.netflix.servo.DefaultMonitorRegistry;
|
||||||
|
import com.netflix.servo.monitor.BasicCounter;
|
||||||
|
import com.netflix.servo.monitor.Counter;
|
||||||
|
import com.netflix.servo.monitor.MonitorConfig;
|
||||||
|
import com.netflix.servo.monitor.Monitors;
|
||||||
|
import com.netflix.servo.tag.TagList;
|
||||||
|
import com.telecominfraproject.wlan.cloudmetrics.CloudMetricsTags;
|
||||||
import com.telecominfraproject.wlan.opensync.ovsdb.dao.OvsdbDao;
|
import com.telecominfraproject.wlan.opensync.ovsdb.dao.OvsdbDao;
|
||||||
import com.telecominfraproject.wlan.opensync.util.SslUtil;
|
import com.telecominfraproject.wlan.opensync.util.SslUtil;
|
||||||
import com.vmware.ovsdb.callback.ConnectionCallback;
|
import com.vmware.ovsdb.callback.ConnectionCallback;
|
||||||
@@ -24,6 +31,20 @@ public class TipWlanOvsdbRedirector {
|
|||||||
|
|
||||||
private static final Logger LOG = LoggerFactory.getLogger(TipWlanOvsdbRedirector.class);
|
private static final Logger LOG = LoggerFactory.getLogger(TipWlanOvsdbRedirector.class);
|
||||||
|
|
||||||
|
private final TagList tags = CloudMetricsTags.commonTags;
|
||||||
|
|
||||||
|
private final Counter connectionsAttempted = new BasicCounter(
|
||||||
|
MonitorConfig.builder("osgw-redirector-connectionsAttempted").withTags(tags).build());
|
||||||
|
|
||||||
|
private final Counter connectionsFailed = new BasicCounter(
|
||||||
|
MonitorConfig.builder("osgw-redirector-connectionsFailed").withTags(tags).build());
|
||||||
|
|
||||||
|
private final Counter connectionsCreated = new BasicCounter(
|
||||||
|
MonitorConfig.builder("osgw-redirector-connectionsCreated").withTags(tags).build());
|
||||||
|
|
||||||
|
private final Counter connectionsDropped = new BasicCounter(
|
||||||
|
MonitorConfig.builder("osgw-redirector-connectionsDropped").withTags(tags).build());
|
||||||
|
|
||||||
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.redirector.listenPort:6643}")
|
@org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.redirector.listenPort:6643}")
|
||||||
private int ovsdbRedirectorListenPort;
|
private int ovsdbRedirectorListenPort;
|
||||||
|
|
||||||
@@ -41,10 +62,21 @@ public class TipWlanOvsdbRedirector {
|
|||||||
listenForConnections();
|
listenForConnections();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// dtop: use anonymous constructor to ensure that the following code always
|
||||||
|
// get executed,
|
||||||
|
// even when somebody adds another constructor in here
|
||||||
|
{
|
||||||
|
DefaultMonitorRegistry.getInstance().register(connectionsAttempted);
|
||||||
|
DefaultMonitorRegistry.getInstance().register(connectionsCreated);
|
||||||
|
DefaultMonitorRegistry.getInstance().register(connectionsDropped);
|
||||||
|
DefaultMonitorRegistry.getInstance().register(connectionsFailed);
|
||||||
|
}
|
||||||
|
|
||||||
public void listenForConnections() {
|
public void listenForConnections() {
|
||||||
|
|
||||||
ConnectionCallback connectionCallback = new ConnectionCallback() {
|
ConnectionCallback connectionCallback = new ConnectionCallback() {
|
||||||
public void connected(OvsdbClient ovsdbClient) {
|
public void connected(OvsdbClient ovsdbClient) {
|
||||||
|
connectionsAttempted.increment();
|
||||||
String remoteHost = ovsdbClient.getConnectionInfo().getRemoteAddress().getHostAddress();
|
String remoteHost = ovsdbClient.getConnectionInfo().getRemoteAddress().getHostAddress();
|
||||||
int localPort = ovsdbClient.getConnectionInfo().getLocalPort();
|
int localPort = ovsdbClient.getConnectionInfo().getLocalPort();
|
||||||
String subjectDn = null;
|
String subjectDn = null;
|
||||||
@@ -54,8 +86,9 @@ public class TipWlanOvsdbRedirector {
|
|||||||
String clientCn = SslUtil.extractCN(subjectDn);
|
String clientCn = SslUtil.extractCN(subjectDn);
|
||||||
LOG.info("ovsdbClient redirector connected from {} on port {} clientCn {}", remoteHost, localPort, clientCn);
|
LOG.info("ovsdbClient redirector connected from {} on port {} clientCn {}", remoteHost, localPort, clientCn);
|
||||||
ovsdbDao.performRedirect(ovsdbClient, clientCn);
|
ovsdbDao.performRedirect(ovsdbClient, clientCn);
|
||||||
|
connectionsCreated.increment();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
connectionsFailed.increment();
|
||||||
//something is wrong with the SSL or with the redirect
|
//something is wrong with the SSL or with the redirect
|
||||||
ovsdbClient.shutdown();
|
ovsdbClient.shutdown();
|
||||||
return;
|
return;
|
||||||
@@ -63,6 +96,7 @@ public class TipWlanOvsdbRedirector {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void disconnected(OvsdbClient ovsdbClient) {
|
public void disconnected(OvsdbClient ovsdbClient) {
|
||||||
|
connectionsDropped.increment();
|
||||||
String remoteHost = ovsdbClient.getConnectionInfo().getRemoteAddress().getHostAddress();
|
String remoteHost = ovsdbClient.getConnectionInfo().getRemoteAddress().getHostAddress();
|
||||||
int localPort = ovsdbClient.getConnectionInfo().getLocalPort();
|
int localPort = ovsdbClient.getConnectionInfo().getLocalPort();
|
||||||
String subjectDn = null;
|
String subjectDn = null;
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user