mirror of
https://github.com/Telecominfraproject/wlan-cloud-opensync-controller.git
synced 2025-11-02 03:28:00 +00:00
Compare commits
357 Commits
WIFI-797-R
...
WIFI-7888-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1db594b656 | ||
|
|
4b6a18df9f | ||
|
|
8724c4521c | ||
|
|
583d8e1e4c | ||
|
|
19473c8b39 | ||
|
|
307bf0cd1c | ||
|
|
de7d156429 | ||
|
|
4512096a49 | ||
|
|
1275043232 | ||
|
|
78f4169339 | ||
|
|
b7c6594937 | ||
|
|
d2c7eac05d | ||
|
|
69f9f1a973 | ||
|
|
c6582199e9 | ||
|
|
d167278a6b | ||
|
|
6a90a24c52 | ||
|
|
fa85300dc0 | ||
|
|
20b29fdb5c | ||
|
|
3470b01ea1 | ||
|
|
d3cffd570f | ||
|
|
753a4fdb89 | ||
|
|
014bfa4189 | ||
|
|
40ea53f87c | ||
|
|
49aacc151d | ||
|
|
077c535750 | ||
|
|
6110a8d78d | ||
|
|
5614d87f79 | ||
|
|
ca511c70c1 | ||
|
|
836fbc95ca | ||
|
|
1d11b96a7d | ||
|
|
36ab26df07 | ||
|
|
dcfefa2adb | ||
|
|
3647fd6bec | ||
|
|
738b2f013e | ||
|
|
55096881f6 | ||
|
|
ca40563375 | ||
|
|
0fb70603b4 | ||
|
|
c5127e4d8e | ||
|
|
dfd7e13399 | ||
|
|
b48f340d11 | ||
|
|
a520690976 | ||
|
|
ec617cb47f | ||
|
|
6b7dcd4878 | ||
|
|
4d919cf21e | ||
|
|
2bf00e82a7 | ||
|
|
9f9e469b17 | ||
|
|
6a75356441 | ||
|
|
40277e3799 | ||
|
|
7e0da1505e | ||
|
|
b3a15d06a2 | ||
|
|
66daa8bc60 | ||
|
|
91dde5d3d7 | ||
|
|
949c8cb37f | ||
|
|
5ebecaf88f | ||
|
|
884efdbf08 | ||
|
|
65c05caf1f | ||
|
|
a72a147afe | ||
|
|
8110f796c9 | ||
|
|
2b187ed68d | ||
|
|
a4559b4f37 | ||
|
|
8105c5bc9d | ||
|
|
1409d75dd9 | ||
|
|
a6cb5ae939 | ||
|
|
fb3963e750 | ||
|
|
b7779f3137 | ||
|
|
9b3f6f5cb2 | ||
|
|
d026266bfa | ||
|
|
27f406a615 | ||
|
|
b15dbc61af | ||
|
|
14adaaacbe | ||
|
|
11f0aa8856 | ||
|
|
cbd27b37bf | ||
|
|
80834c0a31 | ||
|
|
45642464fc | ||
|
|
be9d880bc3 | ||
|
|
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>
|
||||||
<dependency>
|
|
||||||
<artifactId>base-container</artifactId>
|
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
|
||||||
<version>${tip-wlan-cloud.release.version}</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<artifactId>base-client</artifactId>
|
<artifactId>base-client</artifactId>
|
||||||
<groupId>com.telecominfraproject.wlan</groupId>
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
<version>${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>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<artifactId>service-metric-models</artifactId>
|
||||||
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
|
</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;
|
||||||
@@ -32,6 +33,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,6 +44,7 @@ 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;
|
||||||
@@ -147,19 +150,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 +199,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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -242,6 +247,8 @@ public class OpensyncCloudGatewayController {
|
|||||||
public GatewayDefaults retrieveGatewayDefaults() {
|
public GatewayDefaults retrieveGatewayDefaults() {
|
||||||
return new GatewayDefaults();
|
return new GatewayDefaults();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Verify a route to customer equipment
|
* Verify a route to customer equipment
|
||||||
@@ -254,19 +261,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 +282,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 +300,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 +315,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 +338,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 +356,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 +369,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 +401,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 +421,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 +461,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 +477,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 +506,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 +517,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 +542,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 +566,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 +581,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;
|
||||||
}
|
}
|
||||||
@@ -595,7 +598,7 @@ public class OpensyncCloudGatewayController {
|
|||||||
* Gateway does not exist, delete the equipmentRouting entry.
|
* Gateway does not exist, delete the equipmentRouting entry.
|
||||||
*
|
*
|
||||||
* @param equipmentId:
|
* @param equipmentId:
|
||||||
* Equipment's ID
|
* Equipment's ID
|
||||||
*/
|
*/
|
||||||
protected void cleanupStaleEqptRoutingRecord(Long equipmentId) {
|
protected void cleanupStaleEqptRoutingRecord(Long equipmentId) {
|
||||||
LOG.debug("In Clean Up stale Equipment Routing record for Equipment ID {}", equipmentId);
|
LOG.debug("In Clean Up stale Equipment Routing record for Equipment ID {}", equipmentId);
|
||||||
@@ -608,20 +611,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 +630,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 +642,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 +650,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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,374 @@
|
|||||||
|
package com.telecominfraproject.wlan.opensync.external.integration.utils;
|
||||||
|
|
||||||
|
import java.net.Inet4Address;
|
||||||
|
import java.net.Inet6Address;
|
||||||
|
import java.net.InetAddress;
|
||||||
|
import java.net.UnknownHostException;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import com.google.common.base.Objects;
|
||||||
|
import com.google.protobuf.ByteString;
|
||||||
|
import com.telecominfraproject.wlan.client.ClientServiceInterface;
|
||||||
|
import com.telecominfraproject.wlan.client.info.models.ClientInfoDetails;
|
||||||
|
import com.telecominfraproject.wlan.client.session.models.AssociationState;
|
||||||
|
import com.telecominfraproject.wlan.client.session.models.ClientDhcpDetails;
|
||||||
|
import com.telecominfraproject.wlan.client.session.models.ClientSession;
|
||||||
|
import com.telecominfraproject.wlan.client.session.models.ClientSessionDetails;
|
||||||
|
import com.telecominfraproject.wlan.cloudeventdispatcher.CloudEventDispatcherInterface;
|
||||||
|
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
|
||||||
|
import com.telecominfraproject.wlan.opensync.util.OvsdbToWlanCloudTypeMappingUtility;
|
||||||
|
import com.telecominfraproject.wlan.servicemetric.models.ServiceMetric;
|
||||||
|
|
||||||
|
import sts.OpensyncStats.AssocType;
|
||||||
|
import sts.OpensyncStats.DeviceType;
|
||||||
|
import sts.OpensyncStats.EventReport;
|
||||||
|
import sts.OpensyncStats.FrameType;
|
||||||
|
import sts.OpensyncStats.Report;
|
||||||
|
import sts.OpensyncStats.EventReport.ClientAssocEvent;
|
||||||
|
import sts.OpensyncStats.EventReport.ClientAuthEvent;
|
||||||
|
import sts.OpensyncStats.EventReport.ClientDisconnectEvent;
|
||||||
|
import sts.OpensyncStats.EventReport.ClientIpEvent;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
/***
|
||||||
|
* MqttStatsPublisher will use this class to publish Stats and Events asynchronously.
|
||||||
|
* We use async to decrease the processing time for the gateway.
|
||||||
|
*
|
||||||
|
* Note: @Async only applies on public method and cannot have self-invocation (i.e. cannot
|
||||||
|
* calling the async method from within the same class)
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class AsyncPublishService {
|
||||||
|
|
||||||
|
private static final Logger LOG = LoggerFactory.getLogger(MqttStatsPublisher.class);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CloudEventDispatcherInterface cloudEventDispatcherInterface;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RealtimeEventPublisher realtimeEventPublisher;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ClientServiceInterface clientServiceInterface;
|
||||||
|
|
||||||
|
|
||||||
|
@Async
|
||||||
|
public void asyncPublishStats(String apId, List<ServiceMetric> metricRecordList) {
|
||||||
|
try {
|
||||||
|
long publishStart = System.nanoTime();
|
||||||
|
cloudEventDispatcherInterface.publishMetrics(metricRecordList);
|
||||||
|
long publishStop = System.nanoTime();
|
||||||
|
if (LOG.isDebugEnabled())
|
||||||
|
LOG.debug("Elapsed publishing time for metrics records from AP {} is {} milliseconds", apId,
|
||||||
|
TimeUnit.MILLISECONDS.convert(publishStop - publishStart, TimeUnit.NANOSECONDS));
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOG.error("Exception when trying to publishServiceMetrics.", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Async
|
||||||
|
public void asyncPublishEvents(Report report, int customerId, long equipmentId, String apId, long locationId) {
|
||||||
|
try {
|
||||||
|
long mqttEventsStart = System.nanoTime();
|
||||||
|
publishEvents(report, customerId, equipmentId, apId, locationId);
|
||||||
|
long mqttEventsStop = System.nanoTime();
|
||||||
|
if (LOG.isDebugEnabled())
|
||||||
|
LOG.debug("Elapsed publishing time for mqtt events from AP {} is {} milliseconds", apId,
|
||||||
|
TimeUnit.MILLISECONDS.convert(mqttEventsStop - mqttEventsStart, TimeUnit.NANOSECONDS));
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOG.error("Exception when trying to publishEvents.", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void publishEvents(Report report, int customerId, long equipmentId, String apId, long locationId) {
|
||||||
|
|
||||||
|
realtimeEventPublisher.publishSipCallEvents(customerId, equipmentId, locationId, report.getVideoVoiceReportList());
|
||||||
|
|
||||||
|
for (EventReport eventReport : report.getEventReportList()) {
|
||||||
|
|
||||||
|
for (sts.OpensyncStats.EventReport.ClientSession apEventClientSession : eventReport.getClientSessionList()) {
|
||||||
|
|
||||||
|
LOG.debug("Processing EventReport::ClientSession for AP {}", apId);
|
||||||
|
// for the following MQTT events, the client/client session is first updated, then the real time event
|
||||||
|
// is published.
|
||||||
|
if (apEventClientSession.hasClientAuthEvent()) {
|
||||||
|
processClientAuthEvent(customerId, equipmentId, locationId, apEventClientSession);
|
||||||
|
}
|
||||||
|
if (apEventClientSession.hasClientAssocEvent()) {
|
||||||
|
processClientAssocEvent(customerId, equipmentId, locationId, apEventClientSession);
|
||||||
|
}
|
||||||
|
if (apEventClientSession.hasClientIpEvent()) {
|
||||||
|
processClientIpEvent(customerId, equipmentId, locationId, apEventClientSession);
|
||||||
|
}
|
||||||
|
if (apEventClientSession.hasClientDisconnectEvent()) {
|
||||||
|
processClientDisconnectEvent(customerId, equipmentId, locationId, apEventClientSession);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
realtimeEventPublisher.publishChannelHopEvents(customerId, equipmentId, locationId, eventReport);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void processClientAuthEvent(int customerId, long equipmentId, long locationId, sts.OpensyncStats.EventReport.ClientSession apEventClientSession) {
|
||||||
|
ClientAuthEvent apClientEvent = apEventClientSession.getClientAuthEvent();
|
||||||
|
com.telecominfraproject.wlan.client.models.Client client = clientServiceInterface.getOrNull(customerId, MacAddress.valueOf(apClientEvent.getStaMac()));
|
||||||
|
|
||||||
|
if (client == null) {
|
||||||
|
client = new com.telecominfraproject.wlan.client.models.Client();
|
||||||
|
client.setCustomerId(customerId);
|
||||||
|
client.setMacAddress(MacAddress.valueOf(apClientEvent.getStaMac()));
|
||||||
|
client.setDetails(new ClientInfoDetails());
|
||||||
|
client = clientServiceInterface.create(client);
|
||||||
|
}
|
||||||
|
|
||||||
|
ClientSession clientSession = clientServiceInterface.getSessionOrNull(customerId, equipmentId, MacAddress.valueOf(apClientEvent.getStaMac()));
|
||||||
|
|
||||||
|
if (clientSession == null) {
|
||||||
|
clientSession = new ClientSession();
|
||||||
|
clientSession.setCustomerId(customerId);
|
||||||
|
clientSession.setEquipmentId(equipmentId);
|
||||||
|
clientSession.setMacAddress(MacAddress.valueOf(apClientEvent.getStaMac()));
|
||||||
|
clientSession.setLocationId(locationId);
|
||||||
|
clientSession.setDetails(new ClientSessionDetails());
|
||||||
|
clientSession.getDetails().setDhcpDetails(new ClientDhcpDetails(Long.toUnsignedString(apEventClientSession.getSessionId())));
|
||||||
|
}
|
||||||
|
if (clientSession.getDetails().getPriorEquipmentId() == null) {
|
||||||
|
clientSession.getDetails().setPriorEquipmentId(clientSession.getEquipmentId());
|
||||||
|
}
|
||||||
|
if (clientSession.getDetails().getPriorSessionId() == null) {
|
||||||
|
if (!Objects.equal(clientSession.getDetails().getSessionId(), Long.toUnsignedString(apEventClientSession.getSessionId())))
|
||||||
|
clientSession.getDetails().setPriorSessionId(clientSession.getDetails().getSessionId());
|
||||||
|
}
|
||||||
|
if (!Objects.equal(clientSession.getDetails().getSessionId(), Long.toUnsignedString(apEventClientSession.getSessionId()))) {
|
||||||
|
clientSession.getDetails().setPriorSessionId(clientSession.getDetails().getSessionId());
|
||||||
|
}
|
||||||
|
clientSession.getDetails().setSessionId(Long.toUnsignedString(apEventClientSession.getSessionId()));
|
||||||
|
clientSession.getDetails().setRadioType(OvsdbToWlanCloudTypeMappingUtility.getRadioTypeFromOpensyncStatsRadioBandType(apClientEvent.getBand()));
|
||||||
|
clientSession.getDetails().setSsid(apClientEvent.getSsid());
|
||||||
|
if (apClientEvent.hasBssid()) {
|
||||||
|
clientSession.getDetails().setBssid(MacAddress.valueOf(apClientEvent.getBssid()));
|
||||||
|
}
|
||||||
|
if (apClientEvent.hasAuthStatus()) {
|
||||||
|
clientSession.getDetails().setAssociationStatus(apClientEvent.getAuthStatus());
|
||||||
|
}
|
||||||
|
clientSession.getDetails().setAuthTimestamp(apClientEvent.getTimestampMs());
|
||||||
|
clientSession.getDetails().setAssociationState(AssociationState._802_11_Authenticated);
|
||||||
|
clientSession.getDetails().setLastEventTimestamp(apClientEvent.getTimestampMs());
|
||||||
|
clientSession = clientServiceInterface.updateSession(clientSession);
|
||||||
|
|
||||||
|
realtimeEventPublisher.publishClientAuthSystemEvent(customerId, equipmentId, locationId, apEventClientSession.getClientAuthEvent());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void processClientAssocEvent(int customerId, long equipmentId, long locationId,
|
||||||
|
sts.OpensyncStats.EventReport.ClientSession apEventClientSession) {
|
||||||
|
ClientAssocEvent apClientEvent = apEventClientSession.getClientAssocEvent();
|
||||||
|
|
||||||
|
com.telecominfraproject.wlan.client.models.Client client = clientServiceInterface.getOrNull(customerId, MacAddress.valueOf(apClientEvent.getStaMac()));
|
||||||
|
|
||||||
|
if (client == null) {
|
||||||
|
client = new com.telecominfraproject.wlan.client.models.Client();
|
||||||
|
client.setCustomerId(customerId);
|
||||||
|
client.setMacAddress(MacAddress.valueOf(apClientEvent.getStaMac()));
|
||||||
|
client.setDetails(new ClientInfoDetails());
|
||||||
|
client = clientServiceInterface.create(client);
|
||||||
|
}
|
||||||
|
|
||||||
|
ClientSession clientSession = clientServiceInterface.getSessionOrNull(customerId, equipmentId, MacAddress.valueOf(apClientEvent.getStaMac()));
|
||||||
|
|
||||||
|
if (clientSession == null) {
|
||||||
|
clientSession = new ClientSession();
|
||||||
|
clientSession.setCustomerId(customerId);
|
||||||
|
clientSession.setEquipmentId(equipmentId);
|
||||||
|
clientSession.setMacAddress(MacAddress.valueOf(apClientEvent.getStaMac()));
|
||||||
|
clientSession.setLocationId(locationId);
|
||||||
|
clientSession.setDetails(new ClientSessionDetails());
|
||||||
|
clientSession.getDetails().setDhcpDetails(new ClientDhcpDetails(Long.toUnsignedString(apEventClientSession.getSessionId())));
|
||||||
|
}
|
||||||
|
if (clientSession.getDetails().getPriorEquipmentId() == null) {
|
||||||
|
clientSession.getDetails().setPriorEquipmentId(clientSession.getEquipmentId());
|
||||||
|
}
|
||||||
|
if (clientSession.getDetails().getPriorSessionId() == null) {
|
||||||
|
if (!Objects.equal(clientSession.getDetails().getSessionId(), Long.toUnsignedString(apEventClientSession.getSessionId())))
|
||||||
|
clientSession.getDetails().setPriorSessionId(clientSession.getDetails().getSessionId());
|
||||||
|
}
|
||||||
|
if (!Objects.equal(clientSession.getDetails().getSessionId(), Long.toUnsignedString(apEventClientSession.getSessionId()))) {
|
||||||
|
clientSession.getDetails().setPriorSessionId(clientSession.getDetails().getSessionId());
|
||||||
|
}
|
||||||
|
clientSession.getDetails().setSessionId(Long.toUnsignedString(apEventClientSession.getSessionId()));
|
||||||
|
clientSession.getDetails().setRadioType(OvsdbToWlanCloudTypeMappingUtility.getRadioTypeFromOpensyncStatsRadioBandType(apClientEvent.getBand()));
|
||||||
|
clientSession.getDetails().setSsid(apClientEvent.getSsid());
|
||||||
|
if (apClientEvent.hasBssid()) {
|
||||||
|
clientSession.getDetails().setBssid(MacAddress.valueOf(apClientEvent.getBssid()));
|
||||||
|
}
|
||||||
|
if (apClientEvent.hasStatus()) {
|
||||||
|
clientSession.getDetails().setAssociationStatus(apClientEvent.getStatus());
|
||||||
|
}
|
||||||
|
clientSession.getDetails().setRadioType(OvsdbToWlanCloudTypeMappingUtility.getRadioTypeFromOpensyncStatsRadioBandType(apClientEvent.getBand()));
|
||||||
|
if (apClientEvent.hasUsing11K()) {
|
||||||
|
clientSession.getDetails().setIs11KUsed(apClientEvent.getUsing11K());
|
||||||
|
}
|
||||||
|
if (apClientEvent.hasUsing11R()) {
|
||||||
|
clientSession.getDetails().setIs11RUsed(apClientEvent.getUsing11R());
|
||||||
|
}
|
||||||
|
if (apClientEvent.hasUsing11V()) {
|
||||||
|
clientSession.getDetails().setIs11VUsed(apClientEvent.getUsing11V());
|
||||||
|
}
|
||||||
|
if (apClientEvent.hasAssocType()) {
|
||||||
|
clientSession.getDetails().setIsReassociation(apClientEvent.getAssocType().equals(AssocType.REASSOC));
|
||||||
|
}
|
||||||
|
if (apClientEvent.hasRssi()) {
|
||||||
|
clientSession.getDetails().setAssocRssi(apClientEvent.getRssi());
|
||||||
|
}
|
||||||
|
if (apClientEvent.hasInternalSc()) {
|
||||||
|
clientSession.getDetails().setAssocInternalSC(apClientEvent.getInternalSc());
|
||||||
|
}
|
||||||
|
clientSession.getDetails().setAssocTimestamp(apClientEvent.getTimestampMs());
|
||||||
|
clientSession.getDetails().setAssociationState(AssociationState._802_11_Associated);
|
||||||
|
clientSession.getDetails().setLastEventTimestamp(apClientEvent.getTimestampMs());
|
||||||
|
clientSession = clientServiceInterface.updateSession(clientSession);
|
||||||
|
realtimeEventPublisher.publishClientAssocEvent(customerId, equipmentId, locationId, apEventClientSession.getClientAssocEvent());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void processClientIpEvent(int customerId, long equipmentId, long locationId, sts.OpensyncStats.EventReport.ClientSession apEventClientSession) {
|
||||||
|
ClientIpEvent apClientEvent = apEventClientSession.getClientIpEvent();
|
||||||
|
com.telecominfraproject.wlan.client.models.Client client = clientServiceInterface.getOrNull(customerId, MacAddress.valueOf(apClientEvent.getStaMac()));
|
||||||
|
if (client == null) {
|
||||||
|
client = new com.telecominfraproject.wlan.client.models.Client();
|
||||||
|
client.setCustomerId(customerId);
|
||||||
|
client.setMacAddress(MacAddress.valueOf(apClientEvent.getStaMac()));
|
||||||
|
client.setDetails(new ClientInfoDetails());
|
||||||
|
client = clientServiceInterface.create(client);
|
||||||
|
}
|
||||||
|
client = clientServiceInterface.update(client);
|
||||||
|
|
||||||
|
ClientSession clientSession = clientServiceInterface.getSessionOrNull(customerId, equipmentId, MacAddress.valueOf(apClientEvent.getStaMac()));
|
||||||
|
if (clientSession == null) {
|
||||||
|
clientSession = new ClientSession();
|
||||||
|
clientSession.setCustomerId(customerId);
|
||||||
|
clientSession.setEquipmentId(equipmentId);
|
||||||
|
clientSession.setMacAddress(MacAddress.valueOf(apClientEvent.getStaMac()));
|
||||||
|
clientSession.setLocationId(locationId);
|
||||||
|
clientSession.setDetails(new ClientSessionDetails());
|
||||||
|
clientSession.getDetails().setDhcpDetails(new ClientDhcpDetails(Long.toUnsignedString(apEventClientSession.getSessionId())));
|
||||||
|
}
|
||||||
|
if (clientSession.getDetails().getPriorEquipmentId() == null) {
|
||||||
|
clientSession.getDetails().setPriorEquipmentId(clientSession.getEquipmentId());
|
||||||
|
}
|
||||||
|
if (clientSession.getDetails().getPriorSessionId() == null) {
|
||||||
|
if (!Objects.equal(clientSession.getDetails().getSessionId(), Long.toUnsignedString(apEventClientSession.getSessionId())))
|
||||||
|
clientSession.getDetails().setPriorSessionId(clientSession.getDetails().getSessionId());
|
||||||
|
}
|
||||||
|
if (!Objects.equal(clientSession.getDetails().getSessionId(), Long.toUnsignedString(apEventClientSession.getSessionId()))) {
|
||||||
|
clientSession.getDetails().setPriorSessionId(clientSession.getDetails().getSessionId());
|
||||||
|
}
|
||||||
|
clientSession.getDetails().setSessionId(Long.toUnsignedString(apEventClientSession.getSessionId()));
|
||||||
|
if (apClientEvent.hasIpAddr()) {
|
||||||
|
ByteString ipAddress = apClientEvent.getIpAddr();
|
||||||
|
if (ipAddress != null) {
|
||||||
|
try {
|
||||||
|
InetAddress inetAddress = InetAddress.getByAddress(ipAddress.toByteArray());
|
||||||
|
if (inetAddress instanceof Inet4Address) {
|
||||||
|
clientSession.getDetails().setIpAddress(inetAddress);
|
||||||
|
} else if (inetAddress instanceof Inet6Address) {
|
||||||
|
clientSession.getDetails().setIpAddress(inetAddress);
|
||||||
|
} else {
|
||||||
|
LOG.error("Invalid IP Address {}", ipAddress);
|
||||||
|
}
|
||||||
|
clientSession.getDetails().setIpTimestamp(apClientEvent.getTimestampMs());
|
||||||
|
|
||||||
|
} catch (UnknownHostException ex) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
clientSession.getDetails().setLastEventTimestamp(apClientEvent.getTimestampMs());
|
||||||
|
clientSession = clientServiceInterface.updateSession(clientSession);
|
||||||
|
realtimeEventPublisher.publishClientIpEvent(customerId, equipmentId, locationId, apEventClientSession.getClientIpEvent());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void processClientDisconnectEvent(int customerId, long equipmentId, long locationId,
|
||||||
|
sts.OpensyncStats.EventReport.ClientSession apEventClientSession) {
|
||||||
|
ClientDisconnectEvent apClientEvent = apEventClientSession.getClientDisconnectEvent();
|
||||||
|
com.telecominfraproject.wlan.client.models.Client client = clientServiceInterface.getOrNull(customerId, MacAddress.valueOf(apClientEvent.getStaMac()));
|
||||||
|
if (client == null) {
|
||||||
|
client = new com.telecominfraproject.wlan.client.models.Client();
|
||||||
|
client.setCustomerId(customerId);
|
||||||
|
client.setMacAddress(MacAddress.valueOf(apClientEvent.getStaMac()));
|
||||||
|
client.setDetails(new ClientInfoDetails());
|
||||||
|
client = clientServiceInterface.create(client);
|
||||||
|
}
|
||||||
|
ClientSession clientSession = clientServiceInterface.getSessionOrNull(customerId, equipmentId, MacAddress.valueOf(apClientEvent.getStaMac()));
|
||||||
|
if (clientSession == null) {
|
||||||
|
clientSession = new ClientSession();
|
||||||
|
clientSession.setCustomerId(customerId);
|
||||||
|
clientSession.setEquipmentId(equipmentId);
|
||||||
|
clientSession.setMacAddress(MacAddress.valueOf(apClientEvent.getStaMac()));
|
||||||
|
clientSession.setLocationId(locationId);
|
||||||
|
clientSession.setDetails(new ClientSessionDetails());
|
||||||
|
clientSession.getDetails().setDhcpDetails(new ClientDhcpDetails(Long.toUnsignedString(apEventClientSession.getSessionId())));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (clientSession.getDetails().getPriorSessionId() == null) {
|
||||||
|
if (!Objects.equal(clientSession.getDetails().getSessionId(), Long.toUnsignedString(apEventClientSession.getSessionId())))
|
||||||
|
clientSession.getDetails().setPriorSessionId(clientSession.getDetails().getSessionId());
|
||||||
|
}
|
||||||
|
if (!Objects.equal(clientSession.getDetails().getSessionId(), Long.toUnsignedString(apEventClientSession.getSessionId()))) {
|
||||||
|
clientSession.getDetails().setPriorSessionId(clientSession.getDetails().getSessionId());
|
||||||
|
}
|
||||||
|
clientSession.getDetails().setSessionId(Long.toUnsignedString(apEventClientSession.getSessionId()));
|
||||||
|
clientSession.getDetails().setRadioType(OvsdbToWlanCloudTypeMappingUtility.getRadioTypeFromOpensyncStatsRadioBandType(apClientEvent.getBand()));
|
||||||
|
clientSession.getDetails().setSsid(apClientEvent.getSsid());
|
||||||
|
if (apClientEvent.hasBssid()) {
|
||||||
|
clientSession.getDetails().setBssid(MacAddress.valueOf(apClientEvent.getBssid()));
|
||||||
|
}
|
||||||
|
if (apClientEvent.hasDevType()) {
|
||||||
|
if (apClientEvent.getDevType().equals(DeviceType.DEV_AP)) {
|
||||||
|
clientSession.getDetails().setDisconnectByApTimestamp(apClientEvent.getTimestampMs());
|
||||||
|
if (apClientEvent.hasInternalRc()) {
|
||||||
|
clientSession.getDetails().setDisconnectByApInternalReasonCode(apClientEvent.getInternalRc());
|
||||||
|
}
|
||||||
|
if (apClientEvent.hasReason()) {
|
||||||
|
clientSession.getDetails().setDisconnectByApReasonCode(apClientEvent.getReason());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
clientSession.getDetails().setDisconnectByClientTimestamp(apClientEvent.getTimestampMs());
|
||||||
|
if (apClientEvent.hasInternalRc()) {
|
||||||
|
clientSession.getDetails().setDisconnectByClientInternalReasonCode(apClientEvent.getInternalRc());
|
||||||
|
}
|
||||||
|
if (apClientEvent.hasReason()) {
|
||||||
|
clientSession.getDetails().setDisconnectByClientReasonCode(apClientEvent.getReason());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (apClientEvent.hasFrType()) {
|
||||||
|
if (apClientEvent.getFrType().equals(FrameType.FT_DEAUTH)) {
|
||||||
|
}
|
||||||
|
if (apClientEvent.getFrType().equals(FrameType.FT_DISASSOC)) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (apClientEvent.hasRssi()) {
|
||||||
|
clientSession.getDetails().setAssocRssi(apClientEvent.getRssi());
|
||||||
|
}
|
||||||
|
if (apClientEvent.hasLrcvUpTsInUs()) {
|
||||||
|
clientSession.getDetails().setLastRxTimestamp(apClientEvent.getLrcvUpTsInUs());
|
||||||
|
}
|
||||||
|
if (apClientEvent.hasLsentUpTsInUs()) {
|
||||||
|
clientSession.getDetails().setLastTxTimestamp(apClientEvent.getLsentUpTsInUs());
|
||||||
|
}
|
||||||
|
clientSession.getDetails().setAssociationState(AssociationState.Disconnected);
|
||||||
|
clientSession.getDetails().setAssocTimestamp(apClientEvent.getTimestampMs());
|
||||||
|
clientSession.getDetails().setLastEventTimestamp(apClientEvent.getTimestampMs());
|
||||||
|
clientSession = clientServiceInterface.updateSession(clientSession);
|
||||||
|
realtimeEventPublisher.publishClientDisconnectEvent(customerId, equipmentId, locationId, apEventClientSession.getClientDisconnectEvent());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,749 @@
|
|||||||
|
package com.telecominfraproject.wlan.opensync.external.integration.utils;
|
||||||
|
|
||||||
|
import java.net.InetAddress;
|
||||||
|
import java.net.UnknownHostException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import com.telecominfraproject.wlan.client.models.events.realtime.ClientDisconnectEvent.DisconnectFrameType;
|
||||||
|
import com.telecominfraproject.wlan.client.models.events.realtime.ClientDisconnectEvent.DisconnectInitiator;
|
||||||
|
import com.telecominfraproject.wlan.client.models.events.utils.WlanReasonCode;
|
||||||
|
import com.telecominfraproject.wlan.client.models.events.utils.WlanStatusCode;
|
||||||
|
import com.telecominfraproject.wlan.cloudeventdispatcher.CloudEventDispatcherInterface;
|
||||||
|
import com.telecominfraproject.wlan.core.model.equipment.ChannelHopReason;
|
||||||
|
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
|
||||||
|
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
||||||
|
import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.Equipment;
|
||||||
|
import com.telecominfraproject.wlan.opensync.util.OvsdbToWlanCloudTypeMappingUtility;
|
||||||
|
import com.telecominfraproject.wlan.profile.ProfileServiceInterface;
|
||||||
|
import com.telecominfraproject.wlan.profile.models.ProfileContainer;
|
||||||
|
import com.telecominfraproject.wlan.profile.models.ProfileType;
|
||||||
|
import com.telecominfraproject.wlan.profile.rf.models.RfConfiguration;
|
||||||
|
import com.telecominfraproject.wlan.systemevent.equipment.realtime.RealTimeChannelHopEvent;
|
||||||
|
import com.telecominfraproject.wlan.systemevent.equipment.realtime.RealTimeEventType;
|
||||||
|
import com.telecominfraproject.wlan.systemevent.equipment.realtime.RealTimeSipCallReportEvent;
|
||||||
|
import com.telecominfraproject.wlan.systemevent.equipment.realtime.RealTimeSipCallStartEvent;
|
||||||
|
import com.telecominfraproject.wlan.systemevent.equipment.realtime.RealTimeSipCallStopEvent;
|
||||||
|
import com.telecominfraproject.wlan.systemevent.equipment.realtime.RealTimeStreamingStartEvent;
|
||||||
|
import com.telecominfraproject.wlan.systemevent.equipment.realtime.RealTimeStreamingStartSessionEvent;
|
||||||
|
import com.telecominfraproject.wlan.systemevent.equipment.realtime.RealTimeStreamingStopEvent;
|
||||||
|
import com.telecominfraproject.wlan.systemevent.equipment.realtime.SIPCallReportReason;
|
||||||
|
import com.telecominfraproject.wlan.systemevent.equipment.realtime.SipCallStopReason;
|
||||||
|
import com.telecominfraproject.wlan.systemevent.models.SystemEvent;
|
||||||
|
|
||||||
|
import sts.OpensyncStats;
|
||||||
|
import sts.OpensyncStats.AssocType;
|
||||||
|
import sts.OpensyncStats.CallReport;
|
||||||
|
import sts.OpensyncStats.CallStart;
|
||||||
|
import sts.OpensyncStats.CallStop;
|
||||||
|
import sts.OpensyncStats.ChannelSwitchReason;
|
||||||
|
import sts.OpensyncStats.DeviceType;
|
||||||
|
import sts.OpensyncStats.EventReport;
|
||||||
|
import sts.OpensyncStats.EventReport.ClientAssocEvent;
|
||||||
|
import sts.OpensyncStats.EventReport.ClientAuthEvent;
|
||||||
|
import sts.OpensyncStats.EventReport.ClientDisconnectEvent;
|
||||||
|
import sts.OpensyncStats.EventReport.ClientIpEvent;
|
||||||
|
import sts.OpensyncStats.FrameType;
|
||||||
|
import sts.OpensyncStats.RtpFlowStats;
|
||||||
|
import sts.OpensyncStats.StreamingVideoServerDetected;
|
||||||
|
import sts.OpensyncStats.StreamingVideoSessionStart;
|
||||||
|
import sts.OpensyncStats.StreamingVideoStop;
|
||||||
|
import sts.OpensyncStats.VideoVoiceReport;
|
||||||
|
|
||||||
|
@org.springframework.context.annotation.Profile("opensync_cloud_config")
|
||||||
|
@Component
|
||||||
|
public class RealtimeEventPublisher {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CloudEventDispatcherInterface cloudEventDispatcherInterface;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private EquipmentServiceInterface equipmentServiceInterface;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ProfileServiceInterface profileServiceInterface;
|
||||||
|
|
||||||
|
private static final Logger LOG = LoggerFactory.getLogger(RealtimeEventPublisher.class);
|
||||||
|
|
||||||
|
|
||||||
|
void publishChannelHopEvents(int customerId, long equipmentId, long locationId, EventReport e) {
|
||||||
|
|
||||||
|
LOG.info("publishChannelHopEvents for customerId {} equipmentId {}");
|
||||||
|
List<SystemEvent> events = new ArrayList<>();
|
||||||
|
|
||||||
|
LOG.info("Received ClientEvent {} for customerId {} equipmentId {}", e, customerId, equipmentId);
|
||||||
|
|
||||||
|
Equipment equipment = equipmentServiceInterface.getOrNull(equipmentId);
|
||||||
|
if (equipment == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ProfileContainer profileContainer = new ProfileContainer(
|
||||||
|
profileServiceInterface.getProfileWithChildren(equipment.getProfileId()));
|
||||||
|
RfConfiguration rfConfig = null;
|
||||||
|
if (profileContainer != null) {
|
||||||
|
rfConfig = (RfConfiguration) profileContainer.getChildOfTypeOrNull(equipment.getProfileId(), ProfileType.rf).getDetails();
|
||||||
|
}
|
||||||
|
if (profileContainer == null || rfConfig == null) {
|
||||||
|
LOG.warn("publishChannelHopEvents:profileContainer {} or RfConfiguration {} is null for customerId {} equipmentId {}",
|
||||||
|
profileContainer, rfConfig, customerId, equipmentId);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (sts.OpensyncStats.EventReport.ChannelSwitchEvent channelSwitchEvent : e.getChannelSwitchList()) {
|
||||||
|
|
||||||
|
RadioType radioType = null;
|
||||||
|
Long timestamp = null;
|
||||||
|
ChannelHopReason reason = null;
|
||||||
|
Integer channel = null;
|
||||||
|
if (channelSwitchEvent.hasBand()) {
|
||||||
|
radioType = OvsdbToWlanCloudTypeMappingUtility
|
||||||
|
.getRadioTypeFromOpensyncStatsRadioBandType(channelSwitchEvent.getBand());
|
||||||
|
}
|
||||||
|
if (RadioType.isUnsupported(radioType)) {
|
||||||
|
LOG.warn(
|
||||||
|
"publishChannelHopEvents:RadioType {} is unsupported, cannot send RealTimeChannelHopEvent for {}",
|
||||||
|
radioType, channelSwitchEvent);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (channelSwitchEvent.hasTimestampMs()) {
|
||||||
|
timestamp = channelSwitchEvent.getTimestampMs();
|
||||||
|
}
|
||||||
|
if (timestamp == null) {
|
||||||
|
LOG.warn("publishChannelHopEvents:timestamp is null, cannot send RealTimeChannelHopEvent for {}",
|
||||||
|
channelSwitchEvent);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (channelSwitchEvent.hasReason()) {
|
||||||
|
if (channelSwitchEvent.getReason().equals(ChannelSwitchReason.high_interference)) {
|
||||||
|
reason = ChannelHopReason.HighInterference;
|
||||||
|
}
|
||||||
|
else if (channelSwitchEvent.getReason().equals(ChannelSwitchReason.radar_detected)) {
|
||||||
|
reason = ChannelHopReason.RadarDetected;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ChannelHopReason.isUnsupported(reason)) {
|
||||||
|
LOG.warn("publishChannelHopEvents:reason {} is unsupported, cannot send RealTimeChannelHopEvent for {}",
|
||||||
|
channelSwitchEvent.getReason(), channelSwitchEvent);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (channelSwitchEvent.hasChannel()) {
|
||||||
|
channel = channelSwitchEvent.getChannel();
|
||||||
|
}
|
||||||
|
if (channel == null) {
|
||||||
|
LOG.warn("publishChannelHopEvents:channel is null, cannot send RealTimeChannelHopEvent for {}",
|
||||||
|
channelSwitchEvent);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
boolean autoChannelSelection = false;
|
||||||
|
if (rfConfig != null && rfConfig.getRfConfigMap() != null && rfConfig.getRfConfigMap().get(radioType) != null) {
|
||||||
|
autoChannelSelection = rfConfig.getRfConfigMap().get(radioType).getAutoChannelSelection();
|
||||||
|
}
|
||||||
|
|
||||||
|
RealTimeChannelHopEvent channelHopEvent = new RealTimeChannelHopEvent(RealTimeEventType.Channel_Hop,
|
||||||
|
customerId, locationId, equipmentId, radioType, channel,
|
||||||
|
((ApElementConfiguration) equipment.getDetails()).getRadioMap().get(radioType).getActiveChannel(autoChannelSelection),
|
||||||
|
reason, timestamp);
|
||||||
|
|
||||||
|
events.add(channelHopEvent);
|
||||||
|
LOG.debug("publishChannelHopEvents:Adding ChannelHopEvent to bulk list {}", channelHopEvent);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (events.size() > 0) {
|
||||||
|
LOG.info("publishChannelHopEvents:publishEventsBulk: {}", events);
|
||||||
|
cloudEventDispatcherInterface.publishEventsBulk(events);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void publishClientDisconnectEvent(int customerId, long equipmentId, long locationId, ClientDisconnectEvent clientDisconnectEvent) {
|
||||||
|
|
||||||
|
LOG.info("Received ClientEvent {} for customerId {} equipmentId {}", clientDisconnectEvent, customerId,
|
||||||
|
equipmentId);
|
||||||
|
|
||||||
|
com.telecominfraproject.wlan.client.models.events.realtime.ClientDisconnectEvent clientEvent = new com.telecominfraproject.wlan.client.models.events.realtime.ClientDisconnectEvent(
|
||||||
|
clientDisconnectEvent.getTimestampMs());
|
||||||
|
clientEvent.setClientMacAddress(MacAddress.valueOf(clientDisconnectEvent.getStaMac()));
|
||||||
|
clientEvent.setSessionId(Long.toUnsignedString( clientDisconnectEvent.getSessionId()));
|
||||||
|
clientEvent.setRadioType(OvsdbToWlanCloudTypeMappingUtility
|
||||||
|
.getRadioTypeFromOpensyncStatsRadioBandType(clientDisconnectEvent.getBand()));
|
||||||
|
clientEvent.setSsid(clientDisconnectEvent.getSsid());
|
||||||
|
|
||||||
|
if (clientDisconnectEvent.hasDevType()) {
|
||||||
|
|
||||||
|
clientEvent.setInitiator(
|
||||||
|
clientDisconnectEvent.getDevType().equals(DeviceType.DEV_AP) ? DisconnectInitiator.AccessPoint
|
||||||
|
: DisconnectInitiator.Client);
|
||||||
|
|
||||||
|
}
|
||||||
|
if (clientDisconnectEvent.hasFrType()) {
|
||||||
|
clientEvent.setFrameType(
|
||||||
|
clientDisconnectEvent.getFrType().equals(FrameType.FT_DEAUTH) ? DisconnectFrameType.Deauth
|
||||||
|
: DisconnectFrameType.Disassoc);
|
||||||
|
}
|
||||||
|
if (clientDisconnectEvent.hasInternalRc()) {
|
||||||
|
clientEvent.setInternalReasonCode(clientDisconnectEvent.getInternalRc());
|
||||||
|
}
|
||||||
|
if (clientDisconnectEvent.hasLrcvUpTsInUs()) {
|
||||||
|
clientEvent.setLastRecvTime(clientDisconnectEvent.getLrcvUpTsInUs());
|
||||||
|
}
|
||||||
|
if (clientDisconnectEvent.hasLsentUpTsInUs()) {
|
||||||
|
clientEvent.setLastSentTime(clientDisconnectEvent.getLsentUpTsInUs());
|
||||||
|
}
|
||||||
|
if (clientDisconnectEvent.hasReason()) {
|
||||||
|
clientEvent.setReasonCode(WlanReasonCode.getById(clientDisconnectEvent.getReason()));
|
||||||
|
}
|
||||||
|
if (clientDisconnectEvent.hasRssi()) {
|
||||||
|
clientEvent.setRssi(clientDisconnectEvent.getRssi());
|
||||||
|
}
|
||||||
|
clientEvent.setEventTimestamp(clientDisconnectEvent.getTimestampMs());
|
||||||
|
clientEvent.setCustomerId(customerId);
|
||||||
|
clientEvent.setEquipmentId(equipmentId);
|
||||||
|
clientEvent.setLocationId(locationId);
|
||||||
|
|
||||||
|
LOG.info("publishing client event {} to cloud", clientEvent);
|
||||||
|
cloudEventDispatcherInterface.publishEvent(clientEvent);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void publishClientAuthSystemEvent(int customerId, long equipmentId, long locationId, ClientAuthEvent clientAuthEvent) {
|
||||||
|
LOG.info("Received ClientEvent {} for customerId {} equipmentId {}", clientAuthEvent, customerId, equipmentId);
|
||||||
|
|
||||||
|
com.telecominfraproject.wlan.client.models.events.realtime.ClientAuthEvent clientEvent = new com.telecominfraproject.wlan.client.models.events.realtime.ClientAuthEvent(
|
||||||
|
clientAuthEvent.getTimestampMs());
|
||||||
|
clientEvent.setSessionId(Long.toUnsignedString( clientAuthEvent.getSessionId()));
|
||||||
|
clientEvent.setSsid(clientAuthEvent.getSsid());
|
||||||
|
clientEvent.setClientMacAddress(MacAddress.valueOf(clientAuthEvent.getStaMac()));
|
||||||
|
clientEvent.setRadioType(OvsdbToWlanCloudTypeMappingUtility
|
||||||
|
.getRadioTypeFromOpensyncStatsRadioBandType(clientAuthEvent.getBand()));
|
||||||
|
|
||||||
|
if (clientAuthEvent.hasAuthStatus()) {
|
||||||
|
clientEvent.setAuthStatus(WlanStatusCode.getById(clientAuthEvent.getAuthStatus()));
|
||||||
|
}
|
||||||
|
clientEvent.setEventTimestamp(clientAuthEvent.getTimestampMs());
|
||||||
|
clientEvent.setCustomerId(customerId);
|
||||||
|
clientEvent.setEquipmentId(equipmentId);
|
||||||
|
clientEvent.setLocationId(locationId);
|
||||||
|
|
||||||
|
LOG.info("publishing client event {} to cloud", clientEvent);
|
||||||
|
cloudEventDispatcherInterface.publishEvent(clientEvent);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void publishClientAssocEvent(int customerId, long equipmentId, long locationId, ClientAssocEvent clientAssocEvent) {
|
||||||
|
LOG.info("Received ClientEvent {} for customerId {} equipmentId {}", clientAssocEvent, customerId, equipmentId);
|
||||||
|
|
||||||
|
com.telecominfraproject.wlan.client.models.events.realtime.ClientAssocEvent clientEvent = new com.telecominfraproject.wlan.client.models.events.realtime.ClientAssocEvent(
|
||||||
|
clientAssocEvent.getTimestampMs());
|
||||||
|
|
||||||
|
clientEvent.setSessionId(Long.toUnsignedString( clientAssocEvent.getSessionId()));
|
||||||
|
clientEvent.setSsid(clientAssocEvent.getSsid());
|
||||||
|
clientEvent.setClientMacAddress(MacAddress.valueOf(clientAssocEvent.getStaMac()));
|
||||||
|
clientEvent.setRadioType(OvsdbToWlanCloudTypeMappingUtility
|
||||||
|
.getRadioTypeFromOpensyncStatsRadioBandType(clientAssocEvent.getBand()));
|
||||||
|
|
||||||
|
if (clientAssocEvent.hasAssocType()) {
|
||||||
|
clientEvent.setReassociation(clientAssocEvent.getAssocType().equals(AssocType.REASSOC));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (clientAssocEvent.hasInternalSc()) {
|
||||||
|
clientEvent.setInternalSC(clientAssocEvent.getInternalSc());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (clientAssocEvent.hasRssi()) {
|
||||||
|
clientEvent.setRssi(clientAssocEvent.getRssi());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (clientAssocEvent.hasStatus()) {
|
||||||
|
clientEvent.setStatus(WlanStatusCode.getById(clientAssocEvent.getStatus()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (clientAssocEvent.hasUsing11K()) {
|
||||||
|
clientEvent.setUsing11k(clientAssocEvent.getUsing11K());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (clientAssocEvent.hasUsing11R()) {
|
||||||
|
clientEvent.setUsing11r(clientAssocEvent.getUsing11R());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (clientAssocEvent.hasUsing11V()) {
|
||||||
|
clientEvent.setUsing11v(clientAssocEvent.getUsing11V());
|
||||||
|
}
|
||||||
|
|
||||||
|
clientEvent.setEventTimestamp(clientAssocEvent.getTimestampMs());
|
||||||
|
clientEvent.setCustomerId(customerId);
|
||||||
|
clientEvent.setEquipmentId(equipmentId);
|
||||||
|
clientEvent.setLocationId(locationId);
|
||||||
|
|
||||||
|
LOG.info("publishing client event {} to cloud", clientEvent);
|
||||||
|
cloudEventDispatcherInterface.publishEvent(clientEvent);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void publishClientIpEvent(int customerId, long equipmentId, long locationId, ClientIpEvent clientIpEvent) {
|
||||||
|
|
||||||
|
LOG.info("Received ClientEvent {} for customerId {} equipmentId {}", clientIpEvent, customerId, equipmentId);
|
||||||
|
|
||||||
|
com.telecominfraproject.wlan.client.models.events.realtime.ClientIpAddressEvent clientEvent = new com.telecominfraproject.wlan.client.models.events.realtime.ClientIpAddressEvent(
|
||||||
|
clientIpEvent.getTimestampMs());
|
||||||
|
|
||||||
|
clientEvent.setSessionId(Long.toUnsignedString( clientIpEvent.getSessionId()));
|
||||||
|
clientEvent.setClientMacAddress(MacAddress.valueOf(clientIpEvent.getStaMac()));
|
||||||
|
if (clientIpEvent.hasIpAddr()) {
|
||||||
|
try {
|
||||||
|
clientEvent.setIpAddr(InetAddress.getByAddress(clientIpEvent.getIpAddr().toByteArray()));
|
||||||
|
} catch (UnknownHostException e1) {
|
||||||
|
LOG.error("Invalid Client IP Address for equipmentId {}, clientIpEvent {}", equipmentId, clientIpEvent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
clientEvent.setEventTimestamp(clientIpEvent.getTimestampMs());
|
||||||
|
clientEvent.setCustomerId(customerId);
|
||||||
|
clientEvent.setEquipmentId(equipmentId);
|
||||||
|
clientEvent.setLocationId(locationId);
|
||||||
|
|
||||||
|
LOG.info("publishing client event {} to cloud", clientEvent);
|
||||||
|
cloudEventDispatcherInterface.publishEvent(clientEvent);
|
||||||
|
}
|
||||||
|
|
||||||
|
void publishSipCallEvents(int customerId, long equipmentId, long locationId, List<VideoVoiceReport> sipCallReportList) {
|
||||||
|
// only in case it is not there, we will just use the time when we
|
||||||
|
// received the report/event
|
||||||
|
long eventTimestamp = System.currentTimeMillis();
|
||||||
|
|
||||||
|
List<SystemEvent> eventsList = new ArrayList<>();
|
||||||
|
for (VideoVoiceReport videoVoiceReport : sipCallReportList) {
|
||||||
|
|
||||||
|
if (videoVoiceReport.hasTimestampMs()) {
|
||||||
|
eventTimestamp = videoVoiceReport.getTimestampMs();
|
||||||
|
}
|
||||||
|
|
||||||
|
LOG.debug("Received VideoVoiceReport {} for SIP call", videoVoiceReport);
|
||||||
|
|
||||||
|
processRealTimeSipCallReportEvent(customerId, equipmentId, locationId, eventTimestamp, eventsList, videoVoiceReport);
|
||||||
|
|
||||||
|
processRealTimeSipCallStartEvent(customerId, equipmentId, locationId, eventTimestamp, eventsList, videoVoiceReport);
|
||||||
|
|
||||||
|
processRealTimeSipCallStopEvent(customerId, equipmentId, locationId, eventTimestamp, eventsList, videoVoiceReport);
|
||||||
|
|
||||||
|
processRtsStartEvent(customerId, equipmentId, locationId, eventTimestamp, eventsList, videoVoiceReport);
|
||||||
|
|
||||||
|
processRtsStartSessionEvent(customerId, equipmentId, locationId, eventTimestamp, eventsList, videoVoiceReport);
|
||||||
|
|
||||||
|
processRtsStopEvent(customerId, equipmentId, locationId, eventTimestamp, eventsList, videoVoiceReport);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (eventsList.size() > 0) {
|
||||||
|
cloudEventDispatcherInterface.publishEventsBulk(eventsList);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void processRealTimeSipCallReportEvent(int customerId, long equipmentId, long locationId, long eventTimestamp,
|
||||||
|
List<SystemEvent> eventsList, VideoVoiceReport videoVoiceReport) {
|
||||||
|
if (videoVoiceReport.hasCallReport()) {
|
||||||
|
|
||||||
|
CallReport callReport = videoVoiceReport.getCallReport();
|
||||||
|
|
||||||
|
RealTimeSipCallReportEvent cloudSipCallReportEvent = new RealTimeSipCallReportEvent(customerId, locationId, equipmentId,
|
||||||
|
eventTimestamp);
|
||||||
|
|
||||||
|
if (callReport.hasClientMac() && callReport.getClientMac().isValidUtf8()) {
|
||||||
|
cloudSipCallReportEvent
|
||||||
|
.setClientMacAddress(MacAddress.valueOf(callReport.getClientMac().toStringUtf8()));
|
||||||
|
}
|
||||||
|
cloudSipCallReportEvent.setStatuses(processRtpFlowStats(callReport.getStatsList()));
|
||||||
|
cloudSipCallReportEvent.setEventType(RealTimeEventType.SipCallReport);
|
||||||
|
|
||||||
|
cloudSipCallReportEvent.setSipCallId(callReport.getWifiSessionId());
|
||||||
|
cloudSipCallReportEvent.setAssociationId(Long.toUnsignedString( callReport.getSessionId()));
|
||||||
|
|
||||||
|
if (callReport.hasReason()) {
|
||||||
|
cloudSipCallReportEvent.setReportReason(getCallReportReason(callReport.getReason()));
|
||||||
|
}
|
||||||
|
if (callReport.hasProviderDomain()) {
|
||||||
|
cloudSipCallReportEvent.setProviderDomain(callReport.getProviderDomain());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (callReport.getCodecsCount() > 0) {
|
||||||
|
cloudSipCallReportEvent.setCodecs(callReport.getCodecsList());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (callReport.hasChannel()) {
|
||||||
|
cloudSipCallReportEvent.setChannel(callReport.getChannel());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (callReport.hasBand()) {
|
||||||
|
cloudSipCallReportEvent.setRadioType(OvsdbToWlanCloudTypeMappingUtility
|
||||||
|
.getRadioTypeFromOpensyncStatsRadioBandType(callReport.getBand()));
|
||||||
|
}
|
||||||
|
|
||||||
|
eventsList.add(cloudSipCallReportEvent);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private SIPCallReportReason getCallReportReason(CallReport.CallReportReason reason) {
|
||||||
|
if (reason != null) {
|
||||||
|
switch (reason) {
|
||||||
|
case ROAMED_TO:
|
||||||
|
return SIPCallReportReason.ROAMED_TO;
|
||||||
|
case GOT_PUBLISH:
|
||||||
|
return SIPCallReportReason.GOT_PUBLISH;
|
||||||
|
case ROAMED_FROM:
|
||||||
|
return SIPCallReportReason.ROAMED_FROM;
|
||||||
|
default:
|
||||||
|
return SIPCallReportReason.UNSUPPORTED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return SIPCallReportReason.UNSUPPORTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void processRealTimeSipCallStartEvent(int customerId, long equipmentId, long locationId, long eventTimestamp,
|
||||||
|
List<SystemEvent> eventsList, VideoVoiceReport videoVoiceReport) {
|
||||||
|
if (videoVoiceReport.hasCallStart()) {
|
||||||
|
|
||||||
|
CallStart apCallStart = videoVoiceReport.getCallStart();
|
||||||
|
|
||||||
|
RealTimeSipCallStartEvent cloudSipCallStartEvent = new RealTimeSipCallStartEvent(customerId, locationId, equipmentId,
|
||||||
|
eventTimestamp);
|
||||||
|
|
||||||
|
if (apCallStart.hasClientMac() && apCallStart.getClientMac().isValidUtf8()) {
|
||||||
|
cloudSipCallStartEvent
|
||||||
|
.setClientMacAddress(MacAddress.valueOf(apCallStart.getClientMac().toStringUtf8()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apCallStart.hasDeviceInfo()) {
|
||||||
|
cloudSipCallStartEvent.setDeviceInfo(apCallStart.getDeviceInfo());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apCallStart.hasProviderDomain()) {
|
||||||
|
cloudSipCallStartEvent.setProviderDomain(apCallStart.getProviderDomain());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apCallStart.hasSessionId()) {
|
||||||
|
cloudSipCallStartEvent.setAssociationId(Long.toUnsignedString( apCallStart.getSessionId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apCallStart.hasWifiSessionId()) {
|
||||||
|
cloudSipCallStartEvent.setAssociationId(Long.toUnsignedString( apCallStart.getWifiSessionId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apCallStart.getCodecsCount() > 0) {
|
||||||
|
cloudSipCallStartEvent.setCodecs(apCallStart.getCodecsList());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apCallStart.hasChannel()) {
|
||||||
|
cloudSipCallStartEvent.setChannel(apCallStart.getChannel());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apCallStart.hasBand()) {
|
||||||
|
cloudSipCallStartEvent.setRadioType(OvsdbToWlanCloudTypeMappingUtility
|
||||||
|
.getRadioTypeFromOpensyncStatsRadioBandType(apCallStart.getBand()));
|
||||||
|
}
|
||||||
|
|
||||||
|
eventsList.add(cloudSipCallStartEvent);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void processRealTimeSipCallStopEvent(int customerId, long equipmentId, long locationId, long eventTimestamp,
|
||||||
|
List<SystemEvent> eventsList, VideoVoiceReport videoVoiceReport) {
|
||||||
|
if (videoVoiceReport.hasCallStop()) {
|
||||||
|
|
||||||
|
CallStop apCallStop = videoVoiceReport.getCallStop();
|
||||||
|
|
||||||
|
RealTimeSipCallStopEvent cloudSipCallStopEvent = new RealTimeSipCallStopEvent(customerId, locationId, equipmentId,
|
||||||
|
eventTimestamp);
|
||||||
|
|
||||||
|
if (apCallStop.hasCallDuration()) {
|
||||||
|
|
||||||
|
cloudSipCallStopEvent.setCallDuration(apCallStop.getCallDuration());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apCallStop.hasClientMac() && apCallStop.getClientMac().isValidUtf8()) {
|
||||||
|
|
||||||
|
cloudSipCallStopEvent.setClientMacAddress(MacAddress.valueOf(apCallStop.getClientMac().toStringUtf8()));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apCallStop.hasReason()) {
|
||||||
|
|
||||||
|
switch (apCallStop.getReason()) {
|
||||||
|
case BYE_OK:
|
||||||
|
cloudSipCallStopEvent.setReason(SipCallStopReason.BYE_OK);
|
||||||
|
break;
|
||||||
|
case CALL_DROPPED:
|
||||||
|
cloudSipCallStopEvent.setReason(SipCallStopReason.DROPPED);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
cloudSipCallStopEvent.setReason(SipCallStopReason.UNSUPPORTED);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apCallStop.hasSessionId()) {
|
||||||
|
|
||||||
|
cloudSipCallStopEvent.setAssociationId(Long.toUnsignedString( apCallStop.getSessionId()));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apCallStop.hasWifiSessionId()) {
|
||||||
|
cloudSipCallStopEvent.setSipCallId(apCallStop.getWifiSessionId());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apCallStop.getStatsCount() > 0) {
|
||||||
|
cloudSipCallStopEvent.setStatuses(processRtpFlowStats(apCallStop.getStatsList()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apCallStop.hasProviderDomain()) {
|
||||||
|
cloudSipCallStopEvent.setProviderDomain(apCallStop.getProviderDomain());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apCallStop.getCodecsCount() > 0) {
|
||||||
|
cloudSipCallStopEvent.setCodecs(apCallStop.getCodecsList());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apCallStop.hasChannel()) {
|
||||||
|
cloudSipCallStopEvent.setChannel(apCallStop.getChannel());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apCallStop.hasBand()) {
|
||||||
|
cloudSipCallStopEvent.setRadioType(OvsdbToWlanCloudTypeMappingUtility
|
||||||
|
.getRadioTypeFromOpensyncStatsRadioBandType(apCallStop.getBand()));
|
||||||
|
}
|
||||||
|
|
||||||
|
eventsList.add(cloudSipCallStopEvent);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void processRtsStartEvent(int customerId, long equipmentId, long locationId, long eventTimestamp,
|
||||||
|
List<SystemEvent> eventsList, VideoVoiceReport videoVoiceReport) {
|
||||||
|
if (videoVoiceReport.hasStreamVideoServer()) {
|
||||||
|
StreamingVideoServerDetected apStreamVideoServer = videoVoiceReport.getStreamVideoServer();
|
||||||
|
RealTimeStreamingStartEvent rtsStartEvent = new RealTimeStreamingStartEvent(customerId, locationId, equipmentId,
|
||||||
|
eventTimestamp);
|
||||||
|
if (apStreamVideoServer.hasServerIp()) {
|
||||||
|
try {
|
||||||
|
rtsStartEvent
|
||||||
|
.setServerIp(InetAddress.getByAddress(apStreamVideoServer.getServerIp().toByteArray()));
|
||||||
|
} catch (UnknownHostException e) {
|
||||||
|
LOG.error("Cannot get IP Address from {}", apStreamVideoServer.getServerIp(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (apStreamVideoServer.hasStreamingVideoType()) {
|
||||||
|
rtsStartEvent.setType(OvsdbToWlanCloudTypeMappingUtility
|
||||||
|
.getCloudStreamingVideoTypeFromApReport(apStreamVideoServer.getStreamingVideoType()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apStreamVideoServer.hasServerDnsName()) {
|
||||||
|
rtsStartEvent.setServerDnsName(apStreamVideoServer.getServerDnsName());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apStreamVideoServer.hasClientMac() && apStreamVideoServer.getClientMac().isValidUtf8()) {
|
||||||
|
rtsStartEvent
|
||||||
|
.setClientMacAddress(MacAddress.valueOf(apStreamVideoServer.getClientMac().toStringUtf8()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apStreamVideoServer.hasSessionId()) {
|
||||||
|
rtsStartEvent.setSessionId(Long.toUnsignedString( apStreamVideoServer.getSessionId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apStreamVideoServer.hasVideoSessionId()) {
|
||||||
|
rtsStartEvent.setVideoSessionId(Long.toUnsignedString( apStreamVideoServer.getVideoSessionId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
eventsList.add(rtsStartEvent);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowStats> processRtpFlowStats(
|
||||||
|
List<OpensyncStats.RtpFlowStats> stats) {
|
||||||
|
List<com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowStats> cloudRtpFlowStatsList = new ArrayList<>();
|
||||||
|
for (RtpFlowStats apRtpFlowStats : stats) {
|
||||||
|
|
||||||
|
com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowStats cloudRtpStats = new com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowStats();
|
||||||
|
|
||||||
|
if (apRtpFlowStats.hasCodec()) {
|
||||||
|
cloudRtpStats.setCodec(apRtpFlowStats.getCodec());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apRtpFlowStats.hasBlockCodecs()) {
|
||||||
|
cloudRtpStats.setBlockCodecs(apRtpFlowStats.getBlockCodecs().toByteArray());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apRtpFlowStats.hasLatency()) {
|
||||||
|
cloudRtpStats.setLatency(apRtpFlowStats.getLatency());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apRtpFlowStats.hasRtpSeqFirst()) {
|
||||||
|
cloudRtpStats.setFirstRTPSeq(apRtpFlowStats.getRtpSeqFirst());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apRtpFlowStats.hasRtpSeqLast()) {
|
||||||
|
cloudRtpStats.setLastRTPSeq(apRtpFlowStats.getRtpSeqLast());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apRtpFlowStats.hasDirection()) {
|
||||||
|
switch (apRtpFlowStats.getDirection()) {
|
||||||
|
case RTP_DOWNSTREAM:
|
||||||
|
cloudRtpStats.setDirection(
|
||||||
|
com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowDirection.DOWNSTREAM);
|
||||||
|
break;
|
||||||
|
case RTP_UPSTREAM:
|
||||||
|
cloudRtpStats.setDirection(
|
||||||
|
com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowDirection.UPSTREAM);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
cloudRtpStats.setDirection(
|
||||||
|
com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowDirection.UNSUPPORTED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apRtpFlowStats.hasRtpFlowType()) {
|
||||||
|
switch (apRtpFlowStats.getRtpFlowType()) {
|
||||||
|
case RTP_VIDEO:
|
||||||
|
cloudRtpStats
|
||||||
|
.setFlowType(com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowType.VIDEO);
|
||||||
|
break;
|
||||||
|
case RTP_VOICE:
|
||||||
|
cloudRtpStats
|
||||||
|
.setFlowType(com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowType.VOICE);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
cloudRtpStats.setFlowType(
|
||||||
|
com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowType.UNSUPPORTED);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apRtpFlowStats.hasJitter()) {
|
||||||
|
cloudRtpStats.setJitter(apRtpFlowStats.getJitter());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apRtpFlowStats.hasTotalPacketsSent()) {
|
||||||
|
cloudRtpStats.setTotalPacket(apRtpFlowStats.getTotalPacketsSent());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apRtpFlowStats.hasTotalPacketsLost()) {
|
||||||
|
cloudRtpStats.setTotalPacketLost(apRtpFlowStats.getTotalPacketsLost());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apRtpFlowStats.hasMosx100()) {
|
||||||
|
cloudRtpStats.setMosMultipliedBy100(apRtpFlowStats.getMosx100());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apRtpFlowStats.hasPacketLossConsec()) {
|
||||||
|
cloudRtpStats.setPacketLossConsecutive(apRtpFlowStats.getPacketLossConsec());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apRtpFlowStats.hasPacketLossPercent()) {
|
||||||
|
cloudRtpStats.setPacketLossPercentage(apRtpFlowStats.getPacketLossPercent());
|
||||||
|
}
|
||||||
|
|
||||||
|
cloudRtpFlowStatsList.add(cloudRtpStats);
|
||||||
|
|
||||||
|
}
|
||||||
|
return cloudRtpFlowStatsList;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void processRtsStartSessionEvent(int customerId, long equipmentId, long locationId, long eventTimestamp,
|
||||||
|
List<SystemEvent> eventsList, VideoVoiceReport videoVoiceReport) {
|
||||||
|
if (videoVoiceReport.hasStreamVideoSessionStart()) {
|
||||||
|
StreamingVideoSessionStart apStreamVideoSessionStart = videoVoiceReport.getStreamVideoSessionStart();
|
||||||
|
RealTimeStreamingStartSessionEvent rtsStartSessionEvent = new RealTimeStreamingStartSessionEvent(customerId,
|
||||||
|
locationId, equipmentId, eventTimestamp);
|
||||||
|
if (apStreamVideoSessionStart.hasClientMac() && apStreamVideoSessionStart.getClientMac().isValidUtf8()) {
|
||||||
|
rtsStartSessionEvent.setClientMacAddress(
|
||||||
|
MacAddress.valueOf(apStreamVideoSessionStart.getClientMac().toStringUtf8()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apStreamVideoSessionStart.hasServerIp()) {
|
||||||
|
try {
|
||||||
|
rtsStartSessionEvent.setServerIp(
|
||||||
|
InetAddress.getByAddress(apStreamVideoSessionStart.getServerIp().toByteArray()));
|
||||||
|
} catch (UnknownHostException e) {
|
||||||
|
LOG.error("Cannot get IP Address from {}", apStreamVideoSessionStart.getServerIp(), e);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apStreamVideoSessionStart.hasSessionId()) {
|
||||||
|
rtsStartSessionEvent.setSessionId(Long.toUnsignedString( apStreamVideoSessionStart.getSessionId()));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apStreamVideoSessionStart.hasStreamingVideoType()) {
|
||||||
|
rtsStartSessionEvent.setType(OvsdbToWlanCloudTypeMappingUtility
|
||||||
|
.getCloudStreamingVideoTypeFromApReport(apStreamVideoSessionStart.getStreamingVideoType()));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apStreamVideoSessionStart.hasVideoSessionId()) {
|
||||||
|
rtsStartSessionEvent.setVideoSessionId(Long.toUnsignedString( apStreamVideoSessionStart.getVideoSessionId()));
|
||||||
|
}
|
||||||
|
eventsList.add(rtsStartSessionEvent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void processRtsStopEvent(int customerId, long equipmentId, long locationId, long eventTimestamp,
|
||||||
|
List<SystemEvent> eventsList, VideoVoiceReport videoVoiceReport) {
|
||||||
|
if (videoVoiceReport.hasStreamVideoStop()) {
|
||||||
|
StreamingVideoStop apStreamVideoStop = videoVoiceReport.getStreamVideoStop();
|
||||||
|
RealTimeStreamingStopEvent rtsStopEvent = new RealTimeStreamingStopEvent(customerId, locationId, equipmentId,
|
||||||
|
eventTimestamp);
|
||||||
|
if (apStreamVideoStop.hasClientMac() && apStreamVideoStop.getClientMac().isValidUtf8()) {
|
||||||
|
rtsStopEvent.setClientMacAddress(MacAddress.valueOf(apStreamVideoStop.getClientMac().toStringUtf8()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apStreamVideoStop.hasDurationSec()) {
|
||||||
|
rtsStopEvent.setDurationInSecs(apStreamVideoStop.getDurationSec());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apStreamVideoStop.hasServerIp()) {
|
||||||
|
try {
|
||||||
|
rtsStopEvent.setServerIp(InetAddress.getByAddress(apStreamVideoStop.getServerIp().toByteArray()));
|
||||||
|
} catch (UnknownHostException e) {
|
||||||
|
LOG.error("Cannot get IP Address from {}", apStreamVideoStop.getServerIp(), e);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apStreamVideoStop.hasSessionId()) {
|
||||||
|
rtsStopEvent.setSessionId(Long.toUnsignedString( apStreamVideoStop.getSessionId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apStreamVideoStop.hasStreamingVideoType()) {
|
||||||
|
|
||||||
|
rtsStopEvent.setType(OvsdbToWlanCloudTypeMappingUtility
|
||||||
|
.getCloudStreamingVideoTypeFromApReport(apStreamVideoStop.getStreamingVideoType()));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apStreamVideoStop.hasTotalBytes()) {
|
||||||
|
rtsStopEvent.setTotalBytes(apStreamVideoStop.getTotalBytes());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (apStreamVideoStop.hasVideoSessionId()) {
|
||||||
|
rtsStopEvent.setVideoSessionId(Long.toUnsignedString( apStreamVideoStop.getVideoSessionId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
eventsList.add(rtsStopEvent);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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,7 @@ 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.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;
|
||||||
@@ -64,8 +67,10 @@ import com.telecominfraproject.wlan.location.models.LocationType;
|
|||||||
import com.telecominfraproject.wlan.location.service.LocationServiceInterface;
|
import com.telecominfraproject.wlan.location.service.LocationServiceInterface;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.controller.OpensyncCloudGatewayController;
|
import com.telecominfraproject.wlan.opensync.external.integration.controller.OpensyncCloudGatewayController;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo;
|
import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo;
|
||||||
|
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPInetState;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPRadioState;
|
import com.telecominfraproject.wlan.opensync.external.integration.models.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,11 +79,13 @@ 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;
|
||||||
import com.telecominfraproject.wlan.status.equipment.report.models.ActiveBSSIDs;
|
import com.telecominfraproject.wlan.status.equipment.report.models.ActiveBSSIDs;
|
||||||
import com.telecominfraproject.wlan.status.equipment.report.models.ClientConnectionDetails;
|
import com.telecominfraproject.wlan.status.equipment.report.models.ClientConnectionDetails;
|
||||||
|
import com.telecominfraproject.wlan.status.equipment.report.models.WiredPortStatus;
|
||||||
import com.telecominfraproject.wlan.status.models.Status;
|
import com.telecominfraproject.wlan.status.models.Status;
|
||||||
import com.telecominfraproject.wlan.status.models.StatusDataType;
|
import com.telecominfraproject.wlan.status.models.StatusDataType;
|
||||||
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
|
import com.vmware.ovsdb.protocol.operation.notation.Uuid;
|
||||||
@@ -87,16 +94,13 @@ import sts.OpensyncStats.AssocType;
|
|||||||
import sts.OpensyncStats.Client;
|
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.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.getOrNull(Mockito.anyLong())).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).getOrNull(ArgumentMatchers.anyLong());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -260,11 +241,12 @@ 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.getOrNull(8L)).thenReturn(location);
|
||||||
Mockito.when(locationServiceInterface.get(8L)).thenReturn(location);
|
|
||||||
|
|
||||||
Customer customer = new Customer();
|
Customer customer = new Customer();
|
||||||
customer.setId(2);
|
customer.setId(2);
|
||||||
@@ -276,7 +258,7 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
customer.setDetails(customerDetails);
|
customer.setDetails(customerDetails);
|
||||||
|
|
||||||
Mockito.when(customerServiceInterface.getOrNull(ArgumentMatchers.anyInt())).thenReturn(customer);
|
Mockito.when(customerServiceInterface.getOrNull(ArgumentMatchers.anyInt())).thenReturn(customer);
|
||||||
|
|
||||||
Profile rfProfile = new Profile();
|
Profile rfProfile = new Profile();
|
||||||
rfProfile.setId(1);
|
rfProfile.setId(1);
|
||||||
rfProfile.setName("testRfProfile");
|
rfProfile.setName("testRfProfile");
|
||||||
@@ -291,21 +273,20 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
Profile ssidProfile = new Profile();
|
Profile ssidProfile = new Profile();
|
||||||
ssidProfile.setId(2);
|
ssidProfile.setId(2);
|
||||||
ssidProfile.setDetails(SsidConfiguration.createWithDefaults());
|
ssidProfile.setDetails(SsidConfiguration.createWithDefaults());
|
||||||
|
|
||||||
Set<Long> childProfileIds = new HashSet<>();
|
Set<Long> childProfileIds = new HashSet<>();
|
||||||
childProfileIds.add(rfProfile.getId());
|
childProfileIds.add(rfProfile.getId());
|
||||||
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<>();
|
||||||
profileList.add(apProfile);
|
profileList.add(apProfile);
|
||||||
profileList.add(rfProfile);
|
profileList.add(rfProfile);
|
||||||
profileList.add(ssidProfile);
|
profileList.add(ssidProfile);
|
||||||
|
|
||||||
Mockito.when(profileServiceInterface.getProfileWithChildren(ArgumentMatchers.anyLong())).thenReturn(profileList);
|
Mockito.when(profileServiceInterface.getProfileWithChildren(ArgumentMatchers.anyLong())).thenReturn(profileList);
|
||||||
|
|
||||||
Equipment equipment = new Equipment();
|
Equipment equipment = new Equipment();
|
||||||
@@ -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)).getOrNull(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);
|
||||||
@@ -424,7 +394,7 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testApDisconnected() {
|
public void testApDisconnected() {
|
||||||
opensyncExternalIntegrationCloud.apDisconnected("Test_Client_21P10C68818122");
|
opensyncExternalIntegrationCloud.apDisconnected("Test_Client_21P10C68818122", 0L);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -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,19 +553,19 @@ 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);
|
||||||
|
|
||||||
Profile rfProfile = new Profile();
|
Profile rfProfile = new Profile();
|
||||||
rfProfile.setName("testRfProfile");
|
rfProfile.setName("testRfProfile");
|
||||||
rfProfile.setId(2);
|
rfProfile.setId(2);
|
||||||
@@ -623,30 +573,28 @@ public class OpensyncExternalIntegrationCloudTest {
|
|||||||
rfProfile.setProfileType(ProfileType.rf);
|
rfProfile.setProfileType(ProfileType.rf);
|
||||||
Set<Long> childProfileIds = new HashSet<>();
|
Set<Long> childProfileIds = new HashSet<>();
|
||||||
childProfileIds.add(rfProfile.getId());
|
childProfileIds.add(rfProfile.getId());
|
||||||
|
|
||||||
Profile apProfile = new Profile();
|
Profile apProfile = new Profile();
|
||||||
apProfile.setName("testApProfile");
|
apProfile.setName("testApProfile");
|
||||||
apProfile.setId(1);
|
apProfile.setId(1);
|
||||||
apProfile.setProfileType(ProfileType.equipment_ap);
|
apProfile.setProfileType(ProfileType.equipment_ap);
|
||||||
apProfile.setChildProfileIds(childProfileIds);
|
apProfile.setChildProfileIds(childProfileIds);
|
||||||
|
|
||||||
List<Profile> profileList = new ArrayList<>();
|
List<Profile> profileList = new ArrayList<>();
|
||||||
profileList.add(apProfile);
|
profileList.add(apProfile);
|
||||||
profileList.add(rfProfile);
|
profileList.add(rfProfile);
|
||||||
|
|
||||||
Mockito.when(profileServiceInterface.getProfileWithChildren(ArgumentMatchers.anyLong())).thenReturn(profileList);
|
Mockito.when(profileServiceInterface.getProfileWithChildren(ArgumentMatchers.anyLong())).thenReturn(profileList);
|
||||||
|
|
||||||
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,27 +683,45 @@ 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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testParseRawDataToWiredPortStatus() {
|
||||||
|
Map<String, List<WiredPortStatus>> portStatus = new HashMap<>();
|
||||||
|
OpensyncAPInetState inetState = new OpensyncAPInetState();
|
||||||
|
inetState.setIfType("bridge");
|
||||||
|
@SuppressWarnings("serial")
|
||||||
|
Map<String, String> ethPorts = new HashMap<String, String>(){{
|
||||||
|
put("eth0", "up lan 1000Mbps full");
|
||||||
|
put("eth1", "up wan 1000Mbps full");
|
||||||
|
put("eth2", "incorrect value");
|
||||||
|
}};
|
||||||
|
inetState.setIfName("lan");
|
||||||
|
inetState.setEthPorts(ethPorts);
|
||||||
|
opensyncExternalIntegrationCloud.parseRawDataToWiredPortStatus(2, 1, portStatus, inetState);
|
||||||
|
assertEquals(1, portStatus.size());
|
||||||
|
assertEquals(true, portStatus.containsKey("lan"));
|
||||||
|
assertEquals(2, portStatus.get("lan").size());
|
||||||
|
assertEquals("lan", portStatus.get("lan").get(0).getCurrentIfName());
|
||||||
|
}
|
||||||
|
|
||||||
@Ignore
|
@Ignore
|
||||||
public void testWifiInetStateDbTableUpdate() {
|
public void testWifiInetStateDbTableUpdate() {
|
||||||
@@ -765,6 +740,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 +766,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 +823,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,22 +835,8 @@ 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<>();
|
||||||
|
|
||||||
EventReport.Builder eventReportBuilder = EventReport.getDefaultInstance().toBuilder();
|
EventReport.Builder eventReportBuilder = EventReport.getDefaultInstance().toBuilder();
|
||||||
@@ -851,7 +845,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 +853,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 +901,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,380 +0,0 @@
|
|||||||
package com.telecominfraproject.wlan.opensync.external.integration;
|
|
||||||
|
|
||||||
import static org.junit.Assert.assertNotNull;
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
||||||
|
|
||||||
import java.net.InetAddress;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.junit.After;
|
|
||||||
import org.junit.Before;
|
|
||||||
import org.junit.Ignore;
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.junit.runner.RunWith;
|
|
||||||
import org.mockito.Answers;
|
|
||||||
import org.mockito.ArgumentMatchers;
|
|
||||||
import org.mockito.Mockito;
|
|
||||||
import org.mockito.MockitoSession;
|
|
||||||
import org.mockito.quality.Strictness;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
|
||||||
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
|
|
||||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
|
||||||
import org.springframework.context.annotation.Configuration;
|
|
||||||
import org.springframework.context.annotation.Import;
|
|
||||||
import org.springframework.test.context.ActiveProfiles;
|
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
|
||||||
import com.google.protobuf.ByteString;
|
|
||||||
import com.telecominfraproject.wlan.alarm.AlarmServiceInterface;
|
|
||||||
import com.telecominfraproject.wlan.client.ClientServiceInterface;
|
|
||||||
import com.telecominfraproject.wlan.client.info.models.ClientInfoDetails;
|
|
||||||
import com.telecominfraproject.wlan.client.session.models.ClientSession;
|
|
||||||
import com.telecominfraproject.wlan.client.session.models.ClientSessionDetails;
|
|
||||||
import com.telecominfraproject.wlan.cloudeventdispatcher.CloudEventDispatcherInterface;
|
|
||||||
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
|
|
||||||
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
|
||||||
import com.telecominfraproject.wlan.customer.service.CustomerServiceInterface;
|
|
||||||
import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface;
|
|
||||||
import com.telecominfraproject.wlan.firmware.FirmwareServiceInterface;
|
|
||||||
import com.telecominfraproject.wlan.location.service.LocationServiceInterface;
|
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.controller.OpensyncCloudGatewayController;
|
|
||||||
import com.telecominfraproject.wlan.profile.ProfileServiceInterface;
|
|
||||||
import com.telecominfraproject.wlan.routing.RoutingServiceInterface;
|
|
||||||
import com.telecominfraproject.wlan.servicemetric.apnode.models.ApNodeMetrics;
|
|
||||||
import com.telecominfraproject.wlan.servicemetric.apnode.models.StateUpDownError;
|
|
||||||
import com.telecominfraproject.wlan.status.StatusServiceInterface;
|
|
||||||
import com.telecominfraproject.wlan.status.equipment.report.models.ActiveBSSID;
|
|
||||||
import com.telecominfraproject.wlan.status.equipment.report.models.ActiveBSSIDs;
|
|
||||||
import com.telecominfraproject.wlan.status.models.Status;
|
|
||||||
import com.telecominfraproject.wlan.status.models.StatusDataType;
|
|
||||||
|
|
||||||
import sts.OpensyncStats.AssocType;
|
|
||||||
import sts.OpensyncStats.Client;
|
|
||||||
import sts.OpensyncStats.ClientReport;
|
|
||||||
import sts.OpensyncStats.DNSProbeMetric;
|
|
||||||
import sts.OpensyncStats.EventReport;
|
|
||||||
import sts.OpensyncStats.NetworkProbe;
|
|
||||||
import sts.OpensyncStats.RADIUSMetrics;
|
|
||||||
import sts.OpensyncStats.RadioBandType;
|
|
||||||
import sts.OpensyncStats.Report;
|
|
||||||
import sts.OpensyncStats.StateUpDown;
|
|
||||||
import sts.OpensyncStats.VLANMetrics;
|
|
||||||
import sts.OpensyncStats.EventReport.ClientAssocEvent;
|
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
|
||||||
@ActiveProfiles(profiles = { "integration_test", })
|
|
||||||
@SpringBootTest(webEnvironment = WebEnvironment.NONE, classes = OpensyncExternalIntegrationMqttMessageProcessorTest.class)
|
|
||||||
@Import(value = { AlarmServiceInterface.class, OpensyncExternalIntegrationCloud.class,
|
|
||||||
OpensyncExternalIntegrationMqttMessageProcessorTest.Config.class,
|
|
||||||
|
|
||||||
})
|
|
||||||
public class OpensyncExternalIntegrationMqttMessageProcessorTest {
|
|
||||||
|
|
||||||
@MockBean
|
|
||||||
AlarmServiceInterface alarmServiceInterface;
|
|
||||||
@MockBean
|
|
||||||
CustomerServiceInterface customerServiceInterface;
|
|
||||||
@MockBean
|
|
||||||
LocationServiceInterface locationServiceInterface;
|
|
||||||
@MockBean(answer = Answers.RETURNS_MOCKS)
|
|
||||||
OvsdbSessionMapInterface ovsdbSessionMapInterface;
|
|
||||||
@MockBean
|
|
||||||
CloudEventDispatcherInterface equipmentMetricsCollectorInterface;
|
|
||||||
@MockBean
|
|
||||||
EquipmentServiceInterface equipmentServiceInterface;
|
|
||||||
@MockBean
|
|
||||||
RoutingServiceInterface routingServiceInterface;
|
|
||||||
@MockBean
|
|
||||||
ProfileServiceInterface profileServiceInterface;
|
|
||||||
@MockBean
|
|
||||||
StatusServiceInterface statusServiceInterface;
|
|
||||||
@MockBean
|
|
||||||
ClientServiceInterface clientServiceInterface;
|
|
||||||
@MockBean
|
|
||||||
FirmwareServiceInterface firmwareServiceInterface;
|
|
||||||
@MockBean(answer = Answers.RETURNS_MOCKS)
|
|
||||||
OpensyncCloudGatewayController gatewayController;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
OpensyncExternalIntegrationMqttMessageProcessor opensyncExternalIntegrationMqttProcessor;
|
|
||||||
|
|
||||||
MockitoSession mockito;
|
|
||||||
|
|
||||||
@Configuration
|
|
||||||
static class Config {
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public OpensyncExternalIntegrationMqttMessageProcessor opensyncExternalIntegrationMqttMessageProcessor() {
|
|
||||||
return new OpensyncExternalIntegrationMqttMessageProcessor();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Before
|
|
||||||
public void setUp() throws Exception {
|
|
||||||
|
|
||||||
mockito = Mockito.mockitoSession().initMocks(this).strictness(Strictness.STRICT_STUBS).startMocking();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@After
|
|
||||||
public void tearDown() throws Exception {
|
|
||||||
mockito.finishMocking();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testExtractApIdFromTopic() {
|
|
||||||
|
|
||||||
String topic = "/ap/Test_Client_21P10C68818122/opensync";
|
|
||||||
|
|
||||||
assertEquals("Test_Client_21P10C68818122",
|
|
||||||
OpensyncExternalIntegrationMqttMessageProcessor.extractApIdFromTopic(topic));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testExtractCustomerIdFromTopic() {
|
|
||||||
String topic = "/ap/Test_Client_21P10C68818122/opensync";
|
|
||||||
OvsdbSession session = Mockito.mock(OvsdbSession.class);
|
|
||||||
Mockito.when(session.getCustomerId()).thenReturn(2);
|
|
||||||
|
|
||||||
Mockito.when(ovsdbSessionMapInterface.getSession("Test_Client_21P10C68818122")).thenReturn(session);
|
|
||||||
|
|
||||||
assertEquals(2, opensyncExternalIntegrationMqttProcessor.extractCustomerIdFromTopic(topic));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testExtractEquipmentIdFromTopic() {
|
|
||||||
|
|
||||||
String topic = "/ap/Test_Client_21P10C68818122/opensync";
|
|
||||||
OvsdbSession session = Mockito.mock(OvsdbSession.class);
|
|
||||||
Mockito.when(session.getEquipmentId()).thenReturn(1L);
|
|
||||||
|
|
||||||
Mockito.when(ovsdbSessionMapInterface.getSession("Test_Client_21P10C68818122")).thenReturn(session);
|
|
||||||
|
|
||||||
assertEquals(1L, opensyncExternalIntegrationMqttProcessor.extractEquipmentIdFromTopic(topic));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testProcessMqttMessageStringReport() {
|
|
||||||
|
|
||||||
Report report = Report.newBuilder().setNodeID("21P10C68818122")
|
|
||||||
.addAllClients(getOpensyncStatsClientReportsList())
|
|
||||||
.addAllEventReport(getOpensyncStatsEventReportsList()).build();
|
|
||||||
|
|
||||||
String topic = "/ap/Test_Client_21P10C68818122/opensync";
|
|
||||||
|
|
||||||
OvsdbSession session = Mockito.mock(OvsdbSession.class);
|
|
||||||
Mockito.when(session.getEquipmentId()).thenReturn(1L);
|
|
||||||
Mockito.when(session.getCustomerId()).thenReturn(2);
|
|
||||||
|
|
||||||
Mockito.when(ovsdbSessionMapInterface.getSession("Test_Client_21P10C68818122")).thenReturn(session);
|
|
||||||
|
|
||||||
Status bssidStatus = new Status();
|
|
||||||
bssidStatus.setStatusDataType(StatusDataType.ACTIVE_BSSIDS);
|
|
||||||
bssidStatus.setCustomerId(2);
|
|
||||||
|
|
||||||
ActiveBSSIDs activeBssidsDetails = new ActiveBSSIDs();
|
|
||||||
activeBssidsDetails.setActiveBSSIDs(getActiveBssidList());
|
|
||||||
bssidStatus.setDetails(activeBssidsDetails);
|
|
||||||
|
|
||||||
Mockito.when(statusServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
|
|
||||||
ArgumentMatchers.eq(StatusDataType.ACTIVE_BSSIDS))).thenReturn(bssidStatus);
|
|
||||||
|
|
||||||
Mockito.when(statusServiceInterface.update(ArgumentMatchers.any(Status.class))).thenReturn(bssidStatus);
|
|
||||||
com.telecominfraproject.wlan.client.models.Client clientInstance = new com.telecominfraproject.wlan.client.models.Client();
|
|
||||||
clientInstance.setMacAddress(new MacAddress("7C:AB:60:E6:EA:4D"));
|
|
||||||
clientInstance.setDetails(new ClientInfoDetails());
|
|
||||||
com.telecominfraproject.wlan.client.models.Client clientInstance2 = new com.telecominfraproject.wlan.client.models.Client();
|
|
||||||
clientInstance2.setMacAddress(new MacAddress("C0:9A:D0:76:A9:69"));
|
|
||||||
clientInstance2.setDetails(new ClientInfoDetails());
|
|
||||||
Mockito.when(
|
|
||||||
clientServiceInterface.getOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.any(MacAddress.class)))
|
|
||||||
.thenReturn(clientInstance).thenReturn(clientInstance2);
|
|
||||||
Mockito.when(clientServiceInterface
|
|
||||||
.update(ArgumentMatchers.any(com.telecominfraproject.wlan.client.models.Client.class)))
|
|
||||||
.thenReturn(clientInstance).thenReturn(clientInstance2);
|
|
||||||
|
|
||||||
ClientSession clientSession = new ClientSession();
|
|
||||||
clientSession.setMacAddress(new MacAddress("7C:AB:60:E6:EA:4D"));
|
|
||||||
clientSession.setDetails(new ClientSessionDetails());
|
|
||||||
ClientSession clientSession2 = new ClientSession();
|
|
||||||
clientSession2.setMacAddress(new MacAddress("C0:9A:D0:76:A9:69"));
|
|
||||||
clientSession2.setDetails(new ClientSessionDetails());
|
|
||||||
Mockito.when(clientServiceInterface.getSessionOrNull(ArgumentMatchers.anyInt(), ArgumentMatchers.anyLong(),
|
|
||||||
ArgumentMatchers.any(MacAddress.class))).thenReturn(clientSession).thenReturn(clientSession2);
|
|
||||||
|
|
||||||
Mockito.when(clientServiceInterface.updateSession(ArgumentMatchers.any(ClientSession.class)))
|
|
||||||
.thenReturn(clientSession).thenReturn(clientSession2);
|
|
||||||
|
|
||||||
opensyncExternalIntegrationMqttProcessor.processMqttMessage(topic, report);
|
|
||||||
|
|
||||||
// Mockito.verify(clientServiceInterface,
|
|
||||||
// Mockito.times(4)).getOrNull(Mockito.anyInt(),
|
|
||||||
// Mockito.any(MacAddress.class));
|
|
||||||
// Mockito.verify(clientServiceInterface,
|
|
||||||
// Mockito.times(4)).getSessionOrNull(Mockito.anyInt(),
|
|
||||||
// Mockito.anyLong(),
|
|
||||||
// Mockito.any(MacAddress.class));
|
|
||||||
// Mockito.verify(statusServiceInterface,
|
|
||||||
// Mockito.times(3)).getOrNull(Mockito.anyInt(), Mockito.anyLong(),
|
|
||||||
// Mockito.eq(StatusDataType.ACTIVE_BSSIDS));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Ignore
|
|
||||||
public void testProcessMqttMessageStringFlowReport() {
|
|
||||||
// TODO: implement me when support flow reports
|
|
||||||
}
|
|
||||||
|
|
||||||
@Ignore
|
|
||||||
public void testProcessMqttMessageStringWCStatsReport() {
|
|
||||||
// TODO: implement me when wcs stats reports supported
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testpopulateNetworkProbeMetrics() throws Exception {
|
|
||||||
|
|
||||||
InetAddress ip = InetAddress.getLocalHost();
|
|
||||||
|
|
||||||
DNSProbeMetric dnsProbeMetric = DNSProbeMetric.getDefaultInstance().toBuilder().setLatency(10)
|
|
||||||
.setState(StateUpDown.SUD_up).setServerIP(ip.getHostName()).build();
|
|
||||||
RADIUSMetrics radiusProbeMetric = RADIUSMetrics.getDefaultInstance().toBuilder().setLatency(10)
|
|
||||||
.setRadiusState(StateUpDown.SUD_up).setServerIP(ip.getHostName()).build();
|
|
||||||
VLANMetrics vlanMetrics = VLANMetrics.getDefaultInstance().toBuilder().setLatency(10)
|
|
||||||
.setDhcpState(StateUpDown.SUD_up).setVlanIF("vlan-1").build();
|
|
||||||
NetworkProbe networkProbe = NetworkProbe.getDefaultInstance().toBuilder().setVlanProbe(vlanMetrics)
|
|
||||||
.setDnsProbe(dnsProbeMetric).addRadiusProbe(radiusProbeMetric).build();
|
|
||||||
|
|
||||||
Report report = Report.getDefaultInstance().toBuilder().setNodeID("21P10C68818122")
|
|
||||||
.addNetworkProbe(networkProbe).build();
|
|
||||||
|
|
||||||
ApNodeMetrics apNodeMetrics = new ApNodeMetrics();
|
|
||||||
|
|
||||||
opensyncExternalIntegrationMqttProcessor.populateNetworkProbeMetrics(report, apNodeMetrics);
|
|
||||||
|
|
||||||
assertNotNull(apNodeMetrics.getNetworkProbeMetrics());
|
|
||||||
|
|
||||||
assert (apNodeMetrics.getNetworkProbeMetrics().get(0).getDnsLatencyMs() == 10);
|
|
||||||
assert (apNodeMetrics.getNetworkProbeMetrics().get(0).getDhcpLatencyMs() == 10);
|
|
||||||
assert (apNodeMetrics.getNetworkProbeMetrics().get(0).getRadiusState().equals(StateUpDownError.enabled));
|
|
||||||
assert (apNodeMetrics.getNetworkProbeMetrics().get(0).getDhcpState().equals(StateUpDownError.enabled));
|
|
||||||
assert (apNodeMetrics.getNetworkProbeMetrics().get(0).getDnsState().equals(StateUpDownError.enabled));
|
|
||||||
assert (apNodeMetrics.getNetworkProbeMetrics().get(0).getRadiusLatencyInMs() == 10);
|
|
||||||
assert (apNodeMetrics.getNetworkProbeMetrics().get(0).getVlanIF().equals("vlan-1"));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Helper methods
|
|
||||||
private List<ActiveBSSID> getActiveBssidList() {
|
|
||||||
ActiveBSSID activeBssid = new ActiveBSSID();
|
|
||||||
activeBssid.setBssid("24:f5:a2:ef:2e:54");
|
|
||||||
activeBssid.setSsid("ssid-1");
|
|
||||||
activeBssid.setNumDevicesConnected(1);
|
|
||||||
activeBssid.setRadioType(RadioType.is2dot4GHz);
|
|
||||||
ActiveBSSID activeBssid2 = new ActiveBSSID();
|
|
||||||
activeBssid2.setBssid("24:f5:a2:ef:2e:55");
|
|
||||||
activeBssid2.setSsid("ssid-2");
|
|
||||||
activeBssid2.setNumDevicesConnected(1);
|
|
||||||
activeBssid2.setRadioType(RadioType.is5GHzL);
|
|
||||||
ActiveBSSID activeBssid3 = new ActiveBSSID();
|
|
||||||
activeBssid3.setBssid("24:f5:a2:ef:2e:56");
|
|
||||||
activeBssid3.setSsid("ssid-3");
|
|
||||||
activeBssid3.setNumDevicesConnected(1);
|
|
||||||
activeBssid3.setRadioType(RadioType.is5GHzU);
|
|
||||||
|
|
||||||
List<ActiveBSSID> bssidList = new ArrayList<>();
|
|
||||||
bssidList.add(activeBssid);
|
|
||||||
bssidList.add(activeBssid2);
|
|
||||||
bssidList.add(activeBssid3);
|
|
||||||
return bssidList;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private List<EventReport> getOpensyncStatsEventReportsList() {
|
|
||||||
|
|
||||||
|
|
||||||
List<ClientAssocEvent> clientAssocEventList = new ArrayList<>();
|
|
||||||
sts.OpensyncStats.EventReport.ClientAssocEvent.Builder clientAssocBuilder = EventReport.ClientAssocEvent
|
|
||||||
.getDefaultInstance().toBuilder();
|
|
||||||
clientAssocBuilder.setAssocType(AssocType.ASSOC);
|
|
||||||
clientAssocBuilder.setBand(RadioBandType.BAND5GU);
|
|
||||||
clientAssocBuilder.setRssi(-65);
|
|
||||||
clientAssocBuilder.setStaMac("C0:9A:D0:76:A9:69");
|
|
||||||
clientAssocBuilder.setStaMacBytes(ByteString.copyFrom("C0:9A:D0:76:A9:69".getBytes()));
|
|
||||||
clientAssocBuilder.setSessionId(1000L);
|
|
||||||
clientAssocBuilder.setInternalSc(1);
|
|
||||||
clientAssocBuilder.setSsid("ssid-3");
|
|
||||||
clientAssocBuilder.setStatus(1);
|
|
||||||
|
|
||||||
sts.OpensyncStats.EventReport.ClientAssocEvent.Builder clientAssocBuilder2 = EventReport.ClientAssocEvent
|
|
||||||
.getDefaultInstance().toBuilder();
|
|
||||||
clientAssocBuilder2.setAssocType(AssocType.ASSOC);
|
|
||||||
clientAssocBuilder2.setBand(RadioBandType.BAND2G);
|
|
||||||
clientAssocBuilder2.setRssi(-65);
|
|
||||||
clientAssocBuilder2.setStaMac("7C:AB:60:E6:EA:4D");
|
|
||||||
clientAssocBuilder2.setStaMacBytes(ByteString.copyFrom("7C:AB:60:E6:EA:4D".getBytes()));
|
|
||||||
clientAssocBuilder2.setSessionId(1000L);
|
|
||||||
clientAssocBuilder2.setInternalSc(1);
|
|
||||||
clientAssocBuilder2.setSsid("ssid-1");
|
|
||||||
clientAssocBuilder2.setStatus(1);
|
|
||||||
|
|
||||||
clientAssocEventList.add(clientAssocBuilder.build());
|
|
||||||
clientAssocEventList.add(clientAssocBuilder2.build());
|
|
||||||
|
|
||||||
List<EventReport> eventReportList = new ArrayList<>();
|
|
||||||
|
|
||||||
EventReport.Builder eventReportBuilder = EventReport.getDefaultInstance().toBuilder();
|
|
||||||
|
|
||||||
sts.OpensyncStats.EventReport.ClientSession.Builder clientSessionBuilder = sts.OpensyncStats.EventReport.ClientSession
|
|
||||||
.getDefaultInstance().toBuilder();
|
|
||||||
|
|
||||||
clientSessionBuilder.setSessionId(1000L);
|
|
||||||
|
|
||||||
clientSessionBuilder.addAllClientAssocEvent(clientAssocEventList);
|
|
||||||
List<sts.OpensyncStats.EventReport.ClientSession> clientSessionList = new ArrayList<>();
|
|
||||||
clientSessionList.add(clientSessionBuilder.build());
|
|
||||||
|
|
||||||
eventReportBuilder.addAllClientSession(clientSessionList);
|
|
||||||
|
|
||||||
eventReportList.add(eventReportBuilder.build());
|
|
||||||
|
|
||||||
|
|
||||||
return eventReportList;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<ClientReport> getOpensyncStatsClientReportsList() {
|
|
||||||
int rssi = Long.valueOf(4294967239L).intValue();
|
|
||||||
|
|
||||||
Client.Stats clientStats = Client.Stats.getDefaultInstance().toBuilder().setRssi(rssi).setRxBytes(225554786)
|
|
||||||
.setRxRate(24000.0).setTxBytes(1208133026).setTxRate(433300.0).setRssi(758722570).setRxFrames(10000)
|
|
||||||
.setTxFrames(10000).setTxRate(24000.0).build();
|
|
||||||
Client client2g = Client.getDefaultInstance().toBuilder().setMacAddress("7C:AB:60:E6:EA:4D").setSsid("ssid-1")
|
|
||||||
.setConnected(true).setDurationMs(59977).setStats(clientStats).build();
|
|
||||||
Client client5gu = Client.getDefaultInstance().toBuilder().setMacAddress("C0:9A:D0:76:A9:69").setSsid("ssid-3")
|
|
||||||
.setConnected(true).setDurationMs(298127).setStats(clientStats).build();
|
|
||||||
|
|
||||||
ClientReport clientReport2g = ClientReport.getDefaultInstance().toBuilder().setBand(RadioBandType.BAND2G)
|
|
||||||
.setChannel(6).addAllClientList(ImmutableList.of(client2g)).build();
|
|
||||||
ClientReport clientReport5gl = ClientReport.getDefaultInstance().toBuilder().setBand(RadioBandType.BAND5GL)
|
|
||||||
.setChannel(36).addAllClientList(new ArrayList<Client>()).build();
|
|
||||||
ClientReport clientReport5gu = ClientReport.getDefaultInstance().toBuilder().setBand(RadioBandType.BAND5GU)
|
|
||||||
.setChannel(157).addAllClientList(ImmutableList.of(client5gu)).build();
|
|
||||||
|
|
||||||
List<ClientReport> clients = new ArrayList<>();
|
|
||||||
clients.add(clientReport2g);
|
|
||||||
clients.add(clientReport5gl);
|
|
||||||
clients.add(clientReport5gu);
|
|
||||||
return clients;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,258 @@
|
|||||||
|
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 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,43 +13,35 @@
|
|||||||
<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>
|
||||||
|
|||||||
@@ -22,7 +22,11 @@ public interface OpensyncExternalIntegrationInterface {
|
|||||||
INIT, INSERT, DELETE, MODIFY
|
INIT, INSERT, DELETE, MODIFY
|
||||||
}
|
}
|
||||||
|
|
||||||
void apDisconnected(String apId);
|
void apDisconnected(String apId, Long ctxRoutingId);
|
||||||
|
|
||||||
|
Long getLatestRoutingId(String apId);
|
||||||
|
|
||||||
|
void removeRoutingRecord(Long routingId);
|
||||||
|
|
||||||
OpensyncAPConfig getApConfig(String apId);
|
OpensyncAPConfig getApConfig(String apId);
|
||||||
|
|
||||||
@@ -35,20 +39,29 @@ public interface OpensyncExternalIntegrationInterface {
|
|||||||
void wifiInetStateDbTableUpdate(List<OpensyncAPInetState> inetStateTables, String apId);
|
void wifiInetStateDbTableUpdate(List<OpensyncAPInetState> inetStateTables, String apId);
|
||||||
|
|
||||||
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 commandStateDbTableUpdate(List<Map<String,String>> commandStateAttributes, 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 apcStateDbTableUpdate(Map<String, String> apcStateAttributes, String apId,
|
||||||
|
RowUpdateOperation rowUpdateOperation);
|
||||||
|
|
||||||
|
void nodeStateDbTableUpdate(List<Map<String, String>> nodeStateAttributes, String apId);
|
||||||
|
|
||||||
|
void clearEquipmentStatus(String apId);
|
||||||
|
|
||||||
|
void processMqttMessage(String topic, Report report);
|
||||||
|
|
||||||
|
long getConfigVersionFromStatus(String apId);
|
||||||
|
|
||||||
|
void updateConfigVersionInStatus(String apId, long configVersionFromProfiles);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,8 +4,10 @@ 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.LedStatus;
|
||||||
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 {
|
||||||
|
|
||||||
@@ -16,13 +18,14 @@ public interface OvsdbClientInterface {
|
|||||||
String startDebugEngine(String apId, String gatewayHostname, Integer gatewayPort);
|
String startDebugEngine(String apId, String gatewayHostname, Integer gatewayPort);
|
||||||
|
|
||||||
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 +35,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.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
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 AtomicInteger currentConfigNumInFlight = new AtomicInteger();
|
||||||
|
|
||||||
public OvsdbClient getOvsdbClient() {
|
public OvsdbClient getOvsdbClient() {
|
||||||
return ovsdbClient;
|
return ovsdbClient;
|
||||||
@@ -33,12 +35,9 @@ public class OvsdbSession {
|
|||||||
public void setEquipmentId(long equipmentId) {
|
public void setEquipmentId(long equipmentId) {
|
||||||
this.equipmentId = equipmentId;
|
this.equipmentId = equipmentId;
|
||||||
}
|
}
|
||||||
public int getCustomerId() {
|
|
||||||
return customerId;
|
|
||||||
}
|
|
||||||
public void setCustomerId(int customerId) {
|
|
||||||
this.customerId = customerId;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
public AtomicInteger getCurrentConfigNumInFlight() {
|
||||||
|
return currentConfigNumInFlight;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
@@ -6,6 +7,8 @@ import java.util.Objects;
|
|||||||
|
|
||||||
public class ConnectNodeInfo implements Cloneable {
|
public class ConnectNodeInfo implements Cloneable {
|
||||||
|
|
||||||
|
public static String CONFIG_VERSION_PROPERTY_NAME = "tip/reportedCfgDataVersion";
|
||||||
|
|
||||||
public Map<String, String> mqttSettings = new HashMap<>();
|
public Map<String, String> mqttSettings = new HashMap<>();
|
||||||
public Map<String, String> versionMatrix = new HashMap<>();
|
public Map<String, String> versionMatrix = new HashMap<>();
|
||||||
public Map<String, String> wifiRadioStates = new HashMap<>();
|
public Map<String, String> wifiRadioStates = new HashMap<>();
|
||||||
@@ -26,7 +29,26 @@ 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;
|
||||||
|
|
||||||
|
public long getConfigVersion() {
|
||||||
|
|
||||||
|
long ret = 0;
|
||||||
|
try {
|
||||||
|
ret = Long.parseLong(versionMatrix.get(CONFIG_VERSION_PROPERTY_NAME));
|
||||||
|
} catch(Exception e) {
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ConnectNodeInfo clone() {
|
public ConnectNodeInfo clone() {
|
||||||
try {
|
try {
|
||||||
@@ -40,6 +62,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 +73,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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,15 +1,16 @@
|
|||||||
package com.telecominfraproject.wlan.opensync.external.integration.models;
|
package com.telecominfraproject.wlan.opensync.external.integration.models;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
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 +24,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;
|
||||||
@@ -34,13 +39,274 @@ public class OpensyncAPConfig extends BaseJsonModel {
|
|||||||
private List<Profile> ssidProfile;
|
private List<Profile> ssidProfile;
|
||||||
private List<Profile> metricsProfile;
|
private List<Profile> metricsProfile;
|
||||||
private List<Profile> radiusProfiles;
|
private List<Profile> radiusProfiles;
|
||||||
|
private Profile wiredEthernetPortProfile;
|
||||||
private Location equipmentLocation;
|
private Location equipmentLocation;
|
||||||
private EquipmentRoutingRecord equipmentRouting;
|
private EquipmentRoutingRecord equipmentRouting;
|
||||||
private EquipmentGatewayRecord equipmentGateway;
|
private EquipmentGatewayRecord equipmentGateway;
|
||||||
private List<Profile> captiveProfiles;
|
private List<Profile> captiveProfiles;
|
||||||
private List<Profile> bonjourGatewayProfiles;
|
private List<Profile> bonjourGatewayProfiles;
|
||||||
|
|
||||||
|
private long configVersion;
|
||||||
|
|
||||||
private List<MacAddress> blockedClients;
|
private List<MacAddress> blockedClients;
|
||||||
|
|
||||||
|
public long getConfigVersion() {
|
||||||
|
//go through all child objects and get the most recent lastModifiedTimestamp from them
|
||||||
|
configVersion = 0;
|
||||||
|
|
||||||
|
if(customerEquipment!=null && customerEquipment.getLastModifiedTimestamp()> configVersion) {
|
||||||
|
configVersion = customerEquipment.getLastModifiedTimestamp();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(hotspotConfig!=null) {
|
||||||
|
configVersion = getLatestLastMod(configVersion, hotspotConfig.getHotspot20OperatorSet());
|
||||||
|
configVersion = getLatestLastMod(configVersion, hotspotConfig.getHotspot20ProfileSet());
|
||||||
|
configVersion = getLatestLastMod(configVersion, hotspotConfig.getHotspot20ProviderSet());
|
||||||
|
configVersion = getLatestLastMod(configVersion, hotspotConfig.getHotspot20VenueSet());
|
||||||
|
}
|
||||||
|
|
||||||
|
configVersion = getLatestLastMod(configVersion, apProfile);
|
||||||
|
configVersion = getLatestLastMod(configVersion, rfProfile);
|
||||||
|
configVersion = getLatestLastMod(configVersion, ssidProfile);
|
||||||
|
configVersion = getLatestLastMod(configVersion, metricsProfile);
|
||||||
|
configVersion = getLatestLastMod(configVersion, radiusProfiles);
|
||||||
|
configVersion = getLatestLastMod(configVersion, wiredEthernetPortProfile);
|
||||||
|
|
||||||
|
if(equipmentLocation!=null && equipmentLocation.getLastModifiedTimestamp()> configVersion) {
|
||||||
|
configVersion = equipmentLocation.getLastModifiedTimestamp();
|
||||||
|
}
|
||||||
|
|
||||||
|
configVersion = getLatestLastMod(configVersion, captiveProfiles);
|
||||||
|
configVersion = getLatestLastMod(configVersion, bonjourGatewayProfiles);
|
||||||
|
|
||||||
|
return configVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
private long getLatestLastMod(long incomingLastMod, Collection<Profile> profiles) {
|
||||||
|
|
||||||
|
if(profiles!=null) {
|
||||||
|
for(Profile p: profiles) {
|
||||||
|
if(incomingLastMod < p.getLastModifiedTimestamp()) {
|
||||||
|
incomingLastMod = p.getLastModifiedTimestamp();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return incomingLastMod;
|
||||||
|
}
|
||||||
|
|
||||||
|
private long getLatestLastMod(long incomingLastMod, Profile profile) {
|
||||||
|
|
||||||
|
if(profile!=null) {
|
||||||
|
if(incomingLastMod < profile.getLastModifiedTimestamp()) {
|
||||||
|
incomingLastMod = profile.getLastModifiedTimestamp();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return incomingLastMod;
|
||||||
|
}
|
||||||
|
|
||||||
|
@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)
|
||||||
|
&& Objects.equals(wiredEthernetPortProfile, other.wiredEthernetPortProfile);
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Profile getWiredEthernetPortProfile() {
|
||||||
|
return wiredEthernetPortProfile;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(apProfile, blockedClients, bonjourGatewayProfiles, captiveProfiles, customerEquipment,
|
||||||
|
equipmentGateway, equipmentLocation, equipmentRouting, hotspotConfig, metricsProfile, radiusProfiles,
|
||||||
|
rfProfile, ssidProfile, wiredEthernetPortProfile);
|
||||||
|
}
|
||||||
|
|
||||||
|
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 +326,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 +362,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 +386,12 @@ 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() {
|
public void setWiredEthernetPortProfile(Profile wiredEthernetPortProfile) {
|
||||||
return bonjourGatewayProfiles;
|
this.wiredEthernetPortProfile = wiredEthernetPortProfile;
|
||||||
}
|
}
|
||||||
|
|
||||||
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,13 +4,12 @@ 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;
|
||||||
|
|
||||||
public static long getSerialversionuid() {
|
public static long getSerialversionuid() {
|
||||||
return serialVersionUID;
|
return serialVersionUID;
|
||||||
}
|
}
|
||||||
@@ -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,210 +2,513 @@ 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 dhcpd;
|
|
||||||
public String unpnpMode;
|
|
||||||
public String ifType;
|
|
||||||
public String softwdsMacAddr;
|
|
||||||
public boolean enabled;
|
|
||||||
public boolean sofwdsWrap;
|
|
||||||
public int vlanId;
|
|
||||||
public String netmask;
|
|
||||||
public boolean nat;
|
|
||||||
public String greRemoteInetAddr;
|
|
||||||
public String ifUuid;
|
|
||||||
public String inetAddr;
|
|
||||||
public String hwAddr;
|
|
||||||
public int mtw;
|
|
||||||
public boolean network;
|
|
||||||
public Map<String, String> dns;
|
|
||||||
public String parentIfName;
|
|
||||||
public String greIfName;
|
|
||||||
public String broadcast;
|
|
||||||
public Map<String, String> dhcpc;
|
|
||||||
public String gateway;
|
|
||||||
public String ipAssignScheme;
|
|
||||||
public String inetConfig;
|
|
||||||
public Uuid _uuid;
|
|
||||||
public Uuid version;
|
|
||||||
|
|
||||||
|
public String ifName;
|
||||||
|
public Map<String, String> dhcpd;
|
||||||
|
public String unpnpMode;
|
||||||
public OpensyncAPInetState() {
|
public String ifType;
|
||||||
super();
|
public String softwdsMacAddr;
|
||||||
|
public boolean enabled;
|
||||||
|
public Map<String, String> ethPorts;
|
||||||
|
public boolean sofwdsWrap;
|
||||||
|
public int vlanId;
|
||||||
|
public Map<String, String> vlanTrunk;
|
||||||
|
public String netmask;
|
||||||
|
public boolean nat;
|
||||||
|
public String greRemoteInetAddr;
|
||||||
|
public String ifUuid;
|
||||||
|
public String inetAddr;
|
||||||
|
public String hwAddr;
|
||||||
|
public int mtw;
|
||||||
|
public boolean network;
|
||||||
|
public Map<String, String> dns;
|
||||||
|
public String parentIfName;
|
||||||
|
public String greIfName;
|
||||||
|
public String broadcast;
|
||||||
|
public Map<String, String> dhcpc;
|
||||||
|
public String gateway;
|
||||||
|
public String ipAssignScheme;
|
||||||
|
public String inetConfig;
|
||||||
|
public Uuid _uuid;
|
||||||
|
public Uuid version;
|
||||||
|
public String greLocalInetAddr;
|
||||||
|
// the following attribute is in inetC but not in inetS
|
||||||
|
public String greRemoteMacAddr;
|
||||||
|
|
||||||
|
public OpensyncAPInetState() {
|
||||||
dns = new HashMap<>();
|
dns = new HashMap<>();
|
||||||
dhcpc = new HashMap<>();
|
dhcpc = new HashMap<>();
|
||||||
|
ethPorts = new HashMap<>();
|
||||||
|
vlanTrunk = new HashMap<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public OpensyncAPInetState(Row row) {
|
||||||
|
dns = new HashMap<>();
|
||||||
|
dhcpc = new HashMap<>();
|
||||||
|
ethPorts = new HashMap<>();
|
||||||
|
vlanTrunk = new HashMap<>();
|
||||||
|
|
||||||
|
Map<String, Value> map = row.getColumns();
|
||||||
|
|
||||||
|
if ((map.get("NAT") != null)
|
||||||
|
&& map.get("NAT").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setNat(row.getBooleanColumn("NAT"));
|
||||||
|
}
|
||||||
|
if ((map.get("enabled") != null)
|
||||||
|
&& map.get("enabled").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setEnabled(row.getBooleanColumn("enabled"));
|
||||||
|
}
|
||||||
|
if ((map.get("if_name") != null)
|
||||||
|
&& map.get("if_name").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setIfName(row.getStringColumn("if_name"));
|
||||||
|
}
|
||||||
|
if ((map.get("if_type") != null)
|
||||||
|
&& map.get("if_type").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setIfType(row.getStringColumn("if_type"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (map.containsKey("dhcpc")) {
|
||||||
|
this.setDhcpc(row.getMapColumn("dhcpc"));
|
||||||
|
}
|
||||||
|
if (map.containsKey("dhcpd")) {
|
||||||
|
this.setDhcpd(row.getMapColumn("dhcpd"));
|
||||||
|
}
|
||||||
|
if (map.containsKey("dns")) {
|
||||||
|
this.setDns(row.getMapColumn("dns"));
|
||||||
|
}
|
||||||
|
if (map.containsKey("eth_ports")) {
|
||||||
|
this.setEthPorts(row.getMapColumn("eth_ports"));
|
||||||
|
}
|
||||||
|
if (map.containsKey("vlan_trunk")) {
|
||||||
|
this.setVlanTrunk(row.getMapColumn("vlan_trunk"));
|
||||||
|
}
|
||||||
|
if (map.get("inet_addr") != null
|
||||||
|
&& map.get("inet_addr").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setInetAddr(row.getStringColumn("inet_addr"));
|
||||||
|
}
|
||||||
|
if (map.containsKey("netmask")) {
|
||||||
|
this.setNetmask(getSingleValueFromSet(row, "netmask"));
|
||||||
|
}
|
||||||
|
if (map.get("vlan_id") != null
|
||||||
|
&& map.get("vlan_id").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setVlanId(row.getIntegerColumn("vlan_id").intValue());
|
||||||
|
}
|
||||||
|
if (map.get("gre_ifname") != null
|
||||||
|
&& map.get("gre_ifname").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setGreIfName(row.getStringColumn("gre_ifname"));
|
||||||
|
}
|
||||||
|
if (map.get("gre_remote_inet_addr") != null && map.get("gre_remote_inet_addr").getClass()
|
||||||
|
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setGreRemoteInetAddr(row.getStringColumn("gre_remote_inet_addr"));
|
||||||
|
}
|
||||||
|
if (map.get("gre_local_inet_addr") != null && map.get("gre_local_inet_addr").getClass()
|
||||||
|
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setGreLocalInetAddr(row.getStringColumn("gre_local_inet_addr"));
|
||||||
|
}
|
||||||
|
if (map.get("gre_remote_mac_addr") != null && map.get("gre_remote_mac_addr").getClass()
|
||||||
|
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setGreRemoteMacAddr(row.getStringColumn("gre_remote_mac_addr"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((map.get("ip_assign_scheme") != null) && map.get("ip_assign_scheme").getClass()
|
||||||
|
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setIpAssignScheme(row.getStringColumn("ip_assign_scheme"));
|
||||||
|
}
|
||||||
|
if ((map.get("network") != null)
|
||||||
|
&& map.get("network").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setNetwork(row.getBooleanColumn("network"));
|
||||||
|
}
|
||||||
|
if ((map.get("hwaddr") != null)
|
||||||
|
&& map.get("hwaddr").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setHwAddr(row.getStringColumn("hwaddr"));
|
||||||
|
}
|
||||||
|
if ((map.get("_version") != null)
|
||||||
|
&& map.get("_version").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setVersion(row.getUuidColumn("_version"));
|
||||||
|
}
|
||||||
|
if ((map.get("_uuid") != null)
|
||||||
|
&& map.get("_uuid").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setVersion(row.getUuidColumn("_uuid"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if (this == obj) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (obj == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (getClass() != obj.getClass()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
OpensyncAPInetState other = (OpensyncAPInetState) obj;
|
||||||
|
if (!Objects.equals(_uuid, other._uuid)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(broadcast, other.broadcast)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(dhcpc, other.dhcpc)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(dhcpd, other.dhcpd)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(ethPorts, other.ethPorts)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(vlanTrunk, other.vlanTrunk)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(dns, other.dns)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (enabled != other.enabled) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(gateway, other.gateway)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(greIfName, other.greIfName)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(greLocalInetAddr, other.greLocalInetAddr)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(greRemoteInetAddr, other.greRemoteInetAddr)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(hwAddr, other.hwAddr)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(ifName, other.ifName)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(ifType, other.ifType)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(ifUuid, other.ifUuid)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(inetAddr, other.inetAddr)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(inetConfig, other.inetConfig)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(ipAssignScheme, other.ipAssignScheme)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (mtw != other.mtw) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (nat != other.nat) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(netmask, other.netmask)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (network != other.network) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(parentIfName, other.parentIfName)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(greRemoteMacAddr, other.greRemoteMacAddr)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(softwdsMacAddr, other.softwdsMacAddr)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (sofwdsWrap != other.sofwdsWrap) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(unpnpMode, other.unpnpMode)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!Objects.equals(version, other.version)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (vlanId != other.vlanId) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Uuid get_uuid() {
|
||||||
|
return _uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBroadcast() {
|
||||||
|
return broadcast;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getDhcpc() {
|
||||||
|
return dhcpc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getDhcpd() {
|
||||||
|
return dhcpd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getDns() {
|
||||||
|
return dns;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getEthPorts() {
|
||||||
|
return ethPorts;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getVlanTrunk() {
|
||||||
|
return vlanTrunk;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGateway() {
|
||||||
|
return gateway;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGreIfName() {
|
||||||
|
return greIfName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGreLocalInetAddr() {
|
||||||
|
return greLocalInetAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGreRemoteInetAddr() {
|
||||||
|
return greRemoteInetAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGreRemoteMacAddr() {
|
||||||
|
return this.greRemoteMacAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHwAddr() {
|
||||||
|
return hwAddr;
|
||||||
|
}
|
||||||
|
|
||||||
public String getIfName() {
|
public String getIfName() {
|
||||||
return ifName;
|
return ifName;
|
||||||
}
|
}
|
||||||
public void setIfName(String ifName) {
|
|
||||||
this.ifName = ifName;
|
public String getIfType() {
|
||||||
}
|
return ifType;
|
||||||
public String getDhcpd() {
|
}
|
||||||
return dhcpd;
|
|
||||||
}
|
public String getIfUuid() {
|
||||||
public void setDhcpd(String dhcpd) {
|
return ifUuid;
|
||||||
this.dhcpd = dhcpd;
|
}
|
||||||
}
|
|
||||||
public String getUnpnpMode() {
|
public String getInetAddr() {
|
||||||
return unpnpMode;
|
return inetAddr;
|
||||||
}
|
}
|
||||||
public void setUnpnpMode(String unpnpMode) {
|
|
||||||
this.unpnpMode = unpnpMode;
|
public String getInetConfig() {
|
||||||
}
|
return inetConfig;
|
||||||
public String getIfType() {
|
}
|
||||||
return ifType;
|
|
||||||
}
|
public String getIpAssignScheme() {
|
||||||
public void setIfType(String ifType) {
|
return ipAssignScheme;
|
||||||
this.ifType = ifType;
|
}
|
||||||
}
|
|
||||||
public String getSoftwdsMacAddr() {
|
public int getMtw() {
|
||||||
return softwdsMacAddr;
|
return mtw;
|
||||||
}
|
}
|
||||||
public void setSoftwdsMacAddr(String softwdsMacAddr) {
|
|
||||||
this.softwdsMacAddr = softwdsMacAddr;
|
public String getNetmask() {
|
||||||
}
|
return netmask;
|
||||||
public boolean isEnabled() {
|
}
|
||||||
return enabled;
|
|
||||||
}
|
public String getParentIfName() {
|
||||||
public void setEnabled(boolean enabled) {
|
return parentIfName;
|
||||||
this.enabled = enabled;
|
}
|
||||||
}
|
|
||||||
public boolean isSofwdsWrap() {
|
public String getSoftwdsMacAddr() {
|
||||||
return sofwdsWrap;
|
return softwdsMacAddr;
|
||||||
}
|
}
|
||||||
public void setSofwdsWrap(boolean sofwdsWrap) {
|
|
||||||
this.sofwdsWrap = sofwdsWrap;
|
public String getUnpnpMode() {
|
||||||
}
|
return unpnpMode;
|
||||||
public int getVlanId() {
|
}
|
||||||
return vlanId;
|
|
||||||
}
|
public Uuid getVersion() {
|
||||||
public void setVlanId(int vlanId) {
|
return version;
|
||||||
this.vlanId = vlanId;
|
}
|
||||||
}
|
|
||||||
public String getNetmask() {
|
public int getVlanId() {
|
||||||
return netmask;
|
return vlanId;
|
||||||
}
|
}
|
||||||
public void setNetmask(String netmask) {
|
|
||||||
this.netmask = netmask;
|
@Override
|
||||||
}
|
public int hashCode() {
|
||||||
public boolean isNat() {
|
return Objects.hash(_uuid, broadcast, dhcpc, dhcpd, dns, ethPorts, enabled, gateway, greIfName, greLocalInetAddr, greRemoteInetAddr,
|
||||||
return nat;
|
hwAddr, ifName, ifType, ifUuid, inetAddr, inetConfig, ipAssignScheme, mtw, nat, netmask, network,
|
||||||
}
|
parentIfName, greRemoteMacAddr, softwdsMacAddr, sofwdsWrap, unpnpMode, version, vlanId, vlanTrunk);
|
||||||
public void setNat(boolean nat) {
|
}
|
||||||
this.nat = nat;
|
|
||||||
}
|
public boolean isEnabled() {
|
||||||
public String getGreRemoteInetAddr() {
|
return enabled;
|
||||||
return greRemoteInetAddr;
|
}
|
||||||
}
|
|
||||||
public void setGreRemoteInetAddr(String greRemoteInetAddr) {
|
public boolean isNat() {
|
||||||
this.greRemoteInetAddr = greRemoteInetAddr;
|
return nat;
|
||||||
}
|
}
|
||||||
public String getIfUuid() {
|
|
||||||
return ifUuid;
|
public boolean isNetwork() {
|
||||||
}
|
return network;
|
||||||
public void setIfUuid(String ifUuid) {
|
}
|
||||||
this.ifUuid = ifUuid;
|
|
||||||
}
|
public boolean isSofwdsWrap() {
|
||||||
public String getInetAddr() {
|
return sofwdsWrap;
|
||||||
return inetAddr;
|
}
|
||||||
}
|
|
||||||
public void setInetAddr(String inetAddr) {
|
public void set_uuid(Uuid _uuid) {
|
||||||
this.inetAddr = inetAddr;
|
this._uuid = _uuid;
|
||||||
}
|
}
|
||||||
public String getHwAddr() {
|
|
||||||
return hwAddr;
|
public void setBroadcast(String broadcast) {
|
||||||
}
|
this.broadcast = broadcast;
|
||||||
public void setHwAddr(String hwAddr) {
|
}
|
||||||
this.hwAddr = hwAddr;
|
|
||||||
}
|
public void setDhcpc(Map<String, String> dhcpc) {
|
||||||
public int getMtw() {
|
this.dhcpc = dhcpc;
|
||||||
return mtw;
|
}
|
||||||
}
|
|
||||||
public void setMtw(int mtw) {
|
public void setDhcpd(Map<String, String> dhcpd) {
|
||||||
this.mtw = mtw;
|
this.dhcpd = dhcpd;
|
||||||
}
|
}
|
||||||
public boolean isNetwork() {
|
|
||||||
return network;
|
public void setDns(Map<String, String> dns) {
|
||||||
}
|
this.dns = dns;
|
||||||
public void setNetwork(boolean network) {
|
}
|
||||||
this.network = network;
|
|
||||||
}
|
public void setEthPorts(Map<String, String> ethPorts) {
|
||||||
public Map<String, String> getDns() {
|
this.ethPorts = ethPorts;
|
||||||
return dns;
|
}
|
||||||
}
|
|
||||||
public void setDns(Map<String, String> dns) {
|
public void setVlanTrunk(Map<String, String> vlanTrunk) {
|
||||||
this.dns = dns;
|
this.vlanTrunk = vlanTrunk;
|
||||||
}
|
}
|
||||||
public String getParentIfName() {
|
|
||||||
return parentIfName;
|
public void setEnabled(boolean enabled) {
|
||||||
}
|
this.enabled = enabled;
|
||||||
public void setParentIfName(String parentIfName) {
|
}
|
||||||
this.parentIfName = parentIfName;
|
|
||||||
}
|
public void setGateway(String gateway) {
|
||||||
public String getGreIfName() {
|
this.gateway = gateway;
|
||||||
return greIfName;
|
}
|
||||||
}
|
|
||||||
public void setGreIfName(String greIfName) {
|
public void setGreIfName(String greIfName) {
|
||||||
this.greIfName = greIfName;
|
this.greIfName = greIfName;
|
||||||
}
|
}
|
||||||
public String getBroadcast() {
|
|
||||||
return broadcast;
|
public void setGreLocalInetAddr(String greLocalInetAddr) {
|
||||||
}
|
this.greLocalInetAddr = greLocalInetAddr;
|
||||||
public void setBroadcast(String broadcast) {
|
|
||||||
this.broadcast = broadcast;
|
}
|
||||||
}
|
|
||||||
public Map<String, String> getDhcpc() {
|
public void setGreRemoteInetAddr(String greRemoteInetAddr) {
|
||||||
return dhcpc;
|
this.greRemoteInetAddr = greRemoteInetAddr;
|
||||||
}
|
}
|
||||||
public void setDhcpc(Map<String, String> dhcpc) {
|
|
||||||
this.dhcpc = dhcpc;
|
public void setGreRemoteMacAddr(String greRemoteMacAddr) {
|
||||||
}
|
this.greRemoteMacAddr = greRemoteMacAddr;
|
||||||
public String getGateway() {
|
}
|
||||||
return gateway;
|
|
||||||
}
|
public void setHwAddr(String hwAddr) {
|
||||||
public void setGateway(String gateway) {
|
this.hwAddr = hwAddr;
|
||||||
this.gateway = gateway;
|
}
|
||||||
}
|
|
||||||
public String getIpAssignScheme() {
|
public void setIfName(String ifName) {
|
||||||
return ipAssignScheme;
|
this.ifName = ifName;
|
||||||
}
|
}
|
||||||
public void setIpAssignScheme(String ipAssignScheme) {
|
|
||||||
this.ipAssignScheme = ipAssignScheme;
|
public void setIfType(String ifType) {
|
||||||
}
|
this.ifType = ifType;
|
||||||
public String getInetConfig() {
|
}
|
||||||
return inetConfig;
|
|
||||||
}
|
public void setIfUuid(String ifUuid) {
|
||||||
public void setInetConfig(String inetConfig) {
|
this.ifUuid = ifUuid;
|
||||||
this.inetConfig = inetConfig;
|
}
|
||||||
}
|
|
||||||
public static long getSerialversionuid() {
|
public void setInetAddr(String inetAddr) {
|
||||||
return serialVersionUID;
|
this.inetAddr = inetAddr;
|
||||||
}
|
}
|
||||||
public Uuid get_uuid() {
|
|
||||||
return _uuid;
|
public void setInetConfig(String inetConfig) {
|
||||||
}
|
this.inetConfig = inetConfig;
|
||||||
public void set_uuid(Uuid _uuid) {
|
}
|
||||||
this._uuid = _uuid;
|
|
||||||
}
|
public void setIpAssignScheme(String ipAssignScheme) {
|
||||||
public Uuid getVersion() {
|
this.ipAssignScheme = ipAssignScheme;
|
||||||
return version;
|
}
|
||||||
}
|
|
||||||
public void setVersion(Uuid version) {
|
public void setMtw(int mtw) {
|
||||||
this.version = version;
|
this.mtw = mtw;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setNat(boolean nat) {
|
||||||
|
this.nat = nat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNetmask(String netmask) {
|
||||||
|
this.netmask = netmask;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNetwork(boolean network) {
|
||||||
|
this.network = network;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setParentIfName(String parentIfName) {
|
||||||
|
this.parentIfName = parentIfName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSoftwdsMacAddr(String softwdsMacAddr) {
|
||||||
|
this.softwdsMacAddr = softwdsMacAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSofwdsWrap(boolean sofwdsWrap) {
|
||||||
|
this.sofwdsWrap = sofwdsWrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUnpnpMode(String unpnpMode) {
|
||||||
|
this.unpnpMode = unpnpMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVersion(Uuid version) {
|
||||||
|
this.version = version;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVlanId(int vlanId) {
|
||||||
|
this.vlanId = vlanId;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "OpensyncAPInetState [ifName=" + ifName + ", dhcpd=" + dhcpd + ", ethPorts=" + ethPorts + ", unpnpMode=" + unpnpMode + ", ifType="
|
||||||
|
+ ifType + ", softwdsMacAddr=" + softwdsMacAddr + ", enabled=" + enabled + ", sofwdsWrap=" + sofwdsWrap
|
||||||
|
+ ", vlanId=" + vlanId + ", vlanTrunk=" + vlanTrunk + ", 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;
|
||||||
|
|
||||||
@@ -10,41 +8,41 @@ public class OpensyncAPRadioConfig extends BaseJsonModel {
|
|||||||
private int radioChannel24G;
|
private int radioChannel24G;
|
||||||
private int radioChannel5LG;
|
private int radioChannel5LG;
|
||||||
private int radioChannel5HG;
|
private int radioChannel5HG;
|
||||||
|
|
||||||
public int getRadioChannel24G() {
|
|
||||||
return radioChannel24G;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRadioChannel24G(int radioChannel24G) {
|
@Override
|
||||||
this.radioChannel24G = radioChannel24G;
|
public OpensyncAPRadioConfig clone() {
|
||||||
}
|
return (OpensyncAPRadioConfig) super.clone();
|
||||||
|
|
||||||
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,27 +1,30 @@
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
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;
|
||||||
@@ -39,7 +42,7 @@ public class OpensyncAPRadioState extends BaseJsonModel {
|
|||||||
public Map<String, String> hwConfig;
|
public Map<String, String> hwConfig;
|
||||||
public int channel;
|
public int channel;
|
||||||
public int txPower;
|
public int txPower;
|
||||||
public String htMode;
|
public String htMode; // used in channel bandwidth
|
||||||
public int thermalDowngradeTemp;
|
public int thermalDowngradeTemp;
|
||||||
public String hwMode;
|
public String hwMode;
|
||||||
public boolean enabled;
|
public boolean enabled;
|
||||||
@@ -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;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTemperatureControl(int temperatureControl) {
|
if ((map.get("mac") != null)
|
||||||
this.temperatureControl = temperatureControl;
|
&& 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) {
|
||||||
|
|
||||||
public boolean isThermalDowngraded() {
|
Set<Long> allowedChannels = getSet(row, "allowed_channels");
|
||||||
return thermalDowngraded;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setThermalDowngraded(boolean thermalDowngraded) {
|
Set<Integer> allowed = new HashSet<>();
|
||||||
this.thermalDowngraded = thermalDowngraded;
|
for (Long channel : allowedChannels) {
|
||||||
}
|
allowed.add(channel.intValue());
|
||||||
|
}
|
||||||
|
this.setAllowedChannels(allowed);
|
||||||
|
}
|
||||||
|
if (map.get("channels") != null) {
|
||||||
|
|
||||||
public boolean isDfsDemo() {
|
Map<String, String> channels = row.getMapColumn("channels");
|
||||||
return dfsDemo;
|
this.setChannels(channels);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDfsDemo(boolean dfsDemo) {
|
Set<Uuid> vifStates = row.getSetColumn("vif_states");
|
||||||
this.dfsDemo = dfsDemo;
|
this.setVifStates(vifStates);
|
||||||
}
|
|
||||||
|
|
||||||
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;
|
||||||
|
|
||||||
@@ -13,45 +12,30 @@ public class OpensyncAPSsidConfig extends BaseJsonModel {
|
|||||||
private String key;
|
private String key;
|
||||||
private String mode;
|
private String mode;
|
||||||
private boolean broadcast;
|
private boolean broadcast;
|
||||||
|
|
||||||
public RadioType getRadioType() {
|
|
||||||
return radioType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRadioType(RadioType radioType) {
|
@Override
|
||||||
this.radioType = radioType;
|
public OpensyncAPSsidConfig clone() {
|
||||||
}
|
return (OpensyncAPSsidConfig) super.clone();
|
||||||
|
|
||||||
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();
|
||||||
}
|
|
||||||
|
|
||||||
public int getVifRadioIdx() {
|
if ((map.get("mac") != null)
|
||||||
return vifRadioIdx;
|
&& 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 void setVifRadioIdx(int vifRadioIdx) {
|
if ((map.get("channel") != null)
|
||||||
this.vifRadioIdx = vifRadioIdx;
|
&& map.get("channel").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
}
|
this.setChannel(row.getIntegerColumn("channel").intValue());
|
||||||
|
}
|
||||||
|
|
||||||
public String getParent() {
|
if ((map.get("enabled") != null)
|
||||||
return parent;
|
&& map.get("enabled").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
}
|
this.setEnabled(row.getBooleanColumn("enabled"));
|
||||||
|
}
|
||||||
|
|
||||||
public void setParent(String parent) {
|
Long ftPsk = getSingleValueFromSet(row, "ft_psk");
|
||||||
this.parent = parent;
|
if (ftPsk != null) {
|
||||||
}
|
this.setFtPsk(ftPsk.intValue());
|
||||||
|
}
|
||||||
|
|
||||||
public String getState() {
|
Long ftMobilityDomain = getSingleValueFromSet(row, "ft_mobility_domain");
|
||||||
return state;
|
if (ftMobilityDomain != null) {
|
||||||
}
|
this.setFtMobilityDomain(ftMobilityDomain.intValue());
|
||||||
|
}
|
||||||
|
|
||||||
public void setState(String state) {
|
if ((map.get("group_rekey") != null)
|
||||||
this.state = 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 String getMac() {
|
if ((map.get("mode") != null)
|
||||||
return mac;
|
&& map.get("mode").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
}
|
this.setMode(row.getStringColumn("mode"));
|
||||||
|
}
|
||||||
|
|
||||||
public void setMac(String mac) {
|
if ((map.get("rrm") != null)
|
||||||
this.mac = 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 boolean isApBridge() {
|
if ((map.get("ssid_broadcast") != null) && map.get("ssid_broadcast").getClass()
|
||||||
return apBridge;
|
.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 void setApBridge(boolean apBridge) {
|
List<Uuid> associatedClientsList = new ArrayList<>();
|
||||||
this.apBridge = apBridge;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isUapsdEnable() {
|
Set<Uuid> clients = row.getSetColumn("associated_clients");
|
||||||
return uapsdEnable;
|
associatedClientsList.addAll(clients);
|
||||||
}
|
|
||||||
|
|
||||||
public void setUapsdEnable(boolean uapsdEnable) {
|
this.setAssociatedClients(associatedClientsList);
|
||||||
this.uapsdEnable = uapsdEnable;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isWds() {
|
if (map.get("security") != null) {
|
||||||
return wds;
|
this.setSecurity(row.getMapColumn("security"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setWds(boolean wds) {
|
if ((map.get("_version") != null)
|
||||||
this.wds = wds;
|
&& map.get("_version").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
}
|
this.setVersion(row.getUuidColumn("_version"));
|
||||||
|
}
|
||||||
public String getSsid() {
|
if ((map.get("_uuid") != null)
|
||||||
return ssid;
|
&& map.get("_uuid").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
}
|
this.setVersion(row.getUuidColumn("_uuid"));
|
||||||
|
}
|
||||||
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();
|
||||||
}
|
|
||||||
|
// mqtt_settings {"key":"string","max":"unlimited","min":0,"value":"string"}
|
||||||
public void setMqttSettings(Map<Object, Object> map) {
|
// model {"key":"string","min":0}
|
||||||
this.mqttSettings = map;
|
// sku_number {"key":"string","min":0}
|
||||||
}
|
// version_matrix {"key":"string","max":"unlimited","min":0,"value":{"maxLength":128,"type":"string"}}
|
||||||
|
// model_description "string"
|
||||||
public String getModel() {
|
// certification_region "string"
|
||||||
return model;
|
// id "string"
|
||||||
}
|
// firmware_version "string"
|
||||||
|
// firmware_url {"key":{"maxLength":256,"type":"string"}}
|
||||||
public void setModel(String model) {
|
// _uuid "uuid"
|
||||||
this.model = model;
|
// upgrade_dl_timer "integer"
|
||||||
}
|
// reference_design "string"
|
||||||
|
// platform_version "string"
|
||||||
public String getSkuNumber() {
|
// firmware_pass {"key":{"maxLength":256,"type":"string"}}
|
||||||
return skuNumber;
|
// upgrade_timer "integer"
|
||||||
}
|
// redirector_addr "string"
|
||||||
|
// led_config {"key":"string","max":"unlimited","min":0,"value":"string"}
|
||||||
public void setSkuNumber(String skuNumber) {
|
// max_backoff "integer"
|
||||||
this.skuNumber = skuNumber;
|
// mqtt_headers {"key":"string","max":"unlimited","min":0,"value":"string"}
|
||||||
}
|
// serial_number {"key":"string","min":0}
|
||||||
|
// _version "uuid"
|
||||||
public String getId() {
|
// upgrade_status "integer"
|
||||||
return id;
|
// device_mode {"key":{"enum":["set",["battery","cloud","custom","monitor"]],"type":"string"},"min":0}
|
||||||
}
|
// min_backoff "integer"
|
||||||
|
// manufacturer_date "string"
|
||||||
public void setId(String id) {
|
// mqtt_topics {"key":"string","max":"unlimited","min":0,"value":{"maxLength":128,"type":"string"}}
|
||||||
this.id = id;
|
// revision "string"
|
||||||
}
|
// manufacturer_name "string"
|
||||||
|
// manufacturer_url "string"
|
||||||
public Map<String, String> getVersionMatrix() {
|
// manager_addr "string"
|
||||||
return versionMatrix;
|
// factory_reset {"key":"boolean","min":0}
|
||||||
}
|
Map<String, Value> map = row.getColumns();
|
||||||
|
if (map.get("mqtt_settings") != null) {
|
||||||
public void setVersionMatrix(Map<String, String> versionMatrix) {
|
this.setMqttSettings(row.getMapColumn("mqtt_settings"));
|
||||||
this.versionMatrix = versionMatrix;
|
}
|
||||||
}
|
if (map.get("mqtt_headers") != null) {
|
||||||
|
this.setMqttHeaders(row.getMapColumn("mqtt_headers"));
|
||||||
public String getFirmwareVersion() {
|
}
|
||||||
return firmwareVersion;
|
if (map.get("mqtt_topics") != null) {
|
||||||
}
|
this.setMqttHeaders(row.getMapColumn("mqtt_topics"));
|
||||||
|
}
|
||||||
public void setFirmwareVersion(String firmwareVersion) {
|
if ((map.get("model") != null) && map.get("model").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
this.firmwareVersion = firmwareVersion;
|
this.setModel(row.getStringColumn("model"));
|
||||||
}
|
}
|
||||||
|
if ((map.get("sku_number") != null) && map.get("sku_number").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public String getFirmwareUrl() {
|
this.setSkuNumber(row.getStringColumn("sku_number"));
|
||||||
return firmwareUrl;
|
}
|
||||||
}
|
if (map.get("id") != null) {
|
||||||
|
this.setId(getSingleValueFromSet(row, "id"));
|
||||||
public void setFirmwareUrl(String firmwareUrl) {
|
}
|
||||||
this.firmwareUrl = firmwareUrl;
|
if (map.get("reference_design") != null) {
|
||||||
}
|
this.setReferenceDesign(row.getStringColumn("reference_design"));
|
||||||
|
}
|
||||||
public int getUpgradeDlTimer() {
|
if (map.get("qr_code") != null) {
|
||||||
return upgradeDlTimer;
|
this.setQrCode(row.getMapColumn("qr_code"));
|
||||||
}
|
}
|
||||||
|
if ((map.get("model_description") != null)) {
|
||||||
public void setUpgradeDlTimer(int upgradeDlTimer) {
|
this.setModelDescription(row.getStringColumn("model_description"));
|
||||||
this.upgradeDlTimer = upgradeDlTimer;
|
}
|
||||||
}
|
if ((map.get("manufacturer_url") != null)) {
|
||||||
|
this.setManufacturerUrl(row.getStringColumn("manufacturer_url"));
|
||||||
public String getPlatformVersion() {
|
}
|
||||||
return platformVersion;
|
if ((map.get("manufacturer_name") != null)) {
|
||||||
}
|
this.setManufacturerName(row.getStringColumn("manufacturer_name"));
|
||||||
|
}
|
||||||
public void setPlatformVersion(String platformVersion) {
|
if ((map.get("manufacturer_date") != null)) {
|
||||||
this.platformVersion = platformVersion;
|
this.setManufacturerDate(row.getStringColumn("manufacturer_date"));
|
||||||
}
|
}
|
||||||
|
if (map.get("certification_region") != null) {
|
||||||
public String getFirmwarePass() {
|
this.setCertificationRegion(row.getStringColumn("certification_region"));
|
||||||
return firmwarePass;
|
}
|
||||||
}
|
if (map.get("version_matrix") != null) {
|
||||||
|
this.setVersionMatrix(row.getMapColumn("version_matrix"));
|
||||||
public void setFirmwarePass(String firmwarePass) {
|
}
|
||||||
this.firmwarePass = firmwarePass;
|
if ((map.get("firmware_version") != null) && map.get("firmware_version").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
}
|
this.setFirmwareVersion(row.getStringColumn("firmware_version"));
|
||||||
|
}
|
||||||
public int getUpgradeTimer() {
|
if ((map.get("firmware_url") != null) && map.get("firmware_url").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
return upgradeTimer;
|
this.setFirmwareUrl(row.getStringColumn("firmware_url"));
|
||||||
}
|
}
|
||||||
|
if ((map.get("_uuid") != null) && map.get("_uuid").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public void setUpgradeTimer(int upgradeTimer) {
|
this.setVersion(row.getUuidColumn("_uuid"));
|
||||||
this.upgradeTimer = upgradeTimer;
|
}
|
||||||
}
|
if ((map.get("upgrade_dl_timer") != null) && map.get("upgrade_dl_timer").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setUpgradeDlTimer(row.getIntegerColumn("upgrade_dl_timer").intValue());
|
||||||
public int getMaxBackoff() {
|
}
|
||||||
return maxBackoff;
|
if ((map.get("platform_version") != null) && map.get("platform_version").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
}
|
this.setPlatformVersion(row.getStringColumn("platform_version"));
|
||||||
|
}
|
||||||
public void setMaxBackoff(int maxBackoff) {
|
if ((map.get("firmware_pass") != null) && map.get("firmware_pass").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
this.maxBackoff = maxBackoff;
|
this.setFirmwarePass(row.getStringColumn("firmware_pass"));
|
||||||
}
|
}
|
||||||
|
if ((map.get("upgrade_timer") != null) && map.get("upgrade_timer").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public Map<String, String> getLedConfig() {
|
this.setUpgradeTimer(row.getIntegerColumn("upgrade_timer").intValue());
|
||||||
return ledConfig;
|
}
|
||||||
}
|
if ((map.get("max_backoff") != null) && map.get("max_backoff").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setMaxBackoff(row.getIntegerColumn("max_backoff").intValue());
|
||||||
public void setLedConfig(Map<String, String> ledConfig) {
|
}
|
||||||
this.ledConfig = ledConfig;
|
if (map.get("led_config") != null) {
|
||||||
}
|
this.setLedConfig(row.getMapColumn("led_config"));
|
||||||
|
}
|
||||||
public String getRedirectorAddr() {
|
if ((map.get("redirector_addr") != null) && map.get("redirector_addr").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
return redirectorAddr;
|
this.setRedirectorAddr(row.getStringColumn("redirector_addr"));
|
||||||
}
|
}
|
||||||
|
if ((map.get("serial_number") != null) && map.get("serial_number").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public void setRedirectorAddr(String redirectorAddr) {
|
this.setSerialNumber(row.getStringColumn("serial_number"));
|
||||||
this.redirectorAddr = redirectorAddr;
|
}
|
||||||
}
|
if ((map.get("_version") != null) && map.get("_version").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setVersion(row.getUuidColumn("_version"));
|
||||||
public Map<String, String> getMqttHeaders() {
|
}
|
||||||
return mqttHeaders;
|
this.setUpgradeStatus(row.getIntegerColumn("upgrade_status").intValue());
|
||||||
}
|
if ((map.get("device_mode") != null) && map.get("device_mode").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setDeviceMode(row.getStringColumn("device_mode"));
|
||||||
public void setMqttHeaders(Map<String, String> mqttHeaders) {
|
}
|
||||||
this.mqttHeaders = mqttHeaders;
|
if ((map.get("min_backoff") != null) && map.get("min_backoff").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
}
|
this.setMinBackoff(row.getIntegerColumn("min_backoff").intValue());
|
||||||
|
}
|
||||||
public String getSerialNumber() {
|
if ((map.get("revision") != null) && map.get("revision").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
return serialNumber;
|
this.setRevision(row.getStringColumn("revision"));
|
||||||
}
|
}
|
||||||
|
if ((map.get("manager_addr") != null) && map.get("manager_addr").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
public void setSerialNumber(String serialNumber) {
|
this.setManagerAddr(row.getStringColumn("manager_addr"));
|
||||||
this.serialNumber = serialNumber;
|
}
|
||||||
}
|
if ((map.get("factory_reset") != null) && map.get("factory_reset").getClass().equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||||
|
this.setFactoryReset(row.getBooleanColumn("factory_reset"));
|
||||||
public 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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,22 +1,28 @@
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
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"));
|
||||||
|
}
|
||||||
public void setMac(String mac) {
|
if (row.getSetColumn("capabilities") != null) {
|
||||||
this.mac = mac;
|
this.setCapabilities(row.getSetColumn("capabilities"));
|
||||||
}
|
}
|
||||||
|
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,107 +62,50 @@ 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, Long ctxRoutingId) {
|
||||||
LOG.info("AP {} got disconnected from the gateway", apId);
|
LOG.info("AP {} got disconnected from the gateway", apId);
|
||||||
}
|
}
|
||||||
|
|
||||||
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);
|
||||||
ret.setRadiusProfiles(radiusProfiles);
|
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);
|
||||||
|
} 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,43 @@ 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);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getConfigVersionFromStatus(String inventoryId) {
|
||||||
|
//0 means always push config to ap, do not do the version check for the configuration before pushing it
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateConfigVersionInStatus(String apId, long configVersionFromProfiles) {
|
||||||
|
// do nothing here
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Long getLatestRoutingId(String apId) {
|
||||||
|
LOG.info("getLatestRoutingId for AP {}", apId);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeRoutingRecord(Long routingId) {
|
||||||
|
LOG.info("removeRoutingRecord for routingId {}", routingId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,224 +1,472 @@
|
|||||||
{
|
{
|
||||||
"model_type": "Equipment",
|
"model_type": "Equipment",
|
||||||
"id": 51,
|
"id": 1,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileId": 5,
|
"profileId": 8,
|
||||||
"locationId": 8,
|
"locationId": 8,
|
||||||
"equipmentType": "AP",
|
|
||||||
"inventoryId": "Test_Client_21P10C68818122",
|
|
||||||
"name": "Test_Client_21P10C68818122",
|
|
||||||
"details": {
|
|
||||||
"model_type": "ApElementConfiguration",
|
|
||||||
"equipmentModel": "EA8300-CA",
|
|
||||||
"elementConfigVersion": "AP-V1",
|
|
||||||
"equipmentType": "AP",
|
"equipmentType": "AP",
|
||||||
"deviceMode": "standaloneAP",
|
"inventoryId": "Open_AP_21P10C68818122",
|
||||||
"gettingIP": "dhcp",
|
"name": "Open_AP_21P10C68818122",
|
||||||
"staticIP": null,
|
"details": {
|
||||||
"staticIpMaskCidr": null,
|
"model_type": "ApElementConfiguration",
|
||||||
"staticIpGw": null,
|
"equipmentModel": "EA8300-CA",
|
||||||
"gettingDNS": "dhcp",
|
"elementConfigVersion": "AP-V1",
|
||||||
"staticDnsIp1": null,
|
"equipmentType": "AP",
|
||||||
"staticDnsIp2": null,
|
"deviceMode": "standaloneAP",
|
||||||
"peerInfoList": [],
|
"gettingIP": "dhcp",
|
||||||
"deviceName": "Default Device Name",
|
"staticIP": null,
|
||||||
"locationData": null,
|
"staticIpMaskCidr": null,
|
||||||
"locallyConfiguredMgmtVlan": 0,
|
"staticIpGw": null,
|
||||||
"locallyConfigured": false,
|
"gettingDNS": "dhcp",
|
||||||
"deploymentType": "CEILING",
|
"staticDnsIp1": null,
|
||||||
"syntheticClientEnabled": null,
|
"staticDnsIp2": null,
|
||||||
"frameReportThrottleEnabled": true,
|
"peerInfoList": [],
|
||||||
"antennaType": "OMNI",
|
"deviceName": "Open_AP_21P10C68818122",
|
||||||
"costSavingEventsEnabled": true,
|
"locationData": null,
|
||||||
"forwardMode": "BRIDGE",
|
"locallyConfiguredMgmtVlan": 0,
|
||||||
"radioMap": {
|
"locallyConfigured": false,
|
||||||
"is2dot4GHz": {
|
"deploymentType": "CEILING",
|
||||||
"model_type": "ElementRadioConfiguration",
|
"syntheticClientEnabled": null,
|
||||||
"radioType": "is2dot4GHz",
|
"frameReportThrottleEnabled": true,
|
||||||
"channelNumber": 6,
|
"antennaType": "OMNI",
|
||||||
"manualChannelNumber": 6,
|
"costSavingEventsEnabled": true,
|
||||||
"backupChannelNumber": 11,
|
"forwardMode": "BRIDGE",
|
||||||
"bannedChannels": [],
|
"radioMap": {
|
||||||
"allowedChannels": [],
|
"is5GHzU": {
|
||||||
"rxCellSizeDb": {
|
"model_type": "ElementRadioConfiguration",
|
||||||
"model_type": "SourceSelectionValue",
|
"radioType": "is5GHzU",
|
||||||
"source": "auto",
|
"channelNumber": 149,
|
||||||
"value": -90
|
"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": {
|
||||||
|
"model_type": "ElementRadioConfiguration",
|
||||||
|
"radioType": "is2dot4GHz",
|
||||||
|
"channelNumber": 6,
|
||||||
|
"manualChannelNumber": 6,
|
||||||
|
"backupChannelNumber": 11,
|
||||||
|
"manualBackupChannelNumber": 11,
|
||||||
|
"rxCellSizeDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"probeResponseThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"clientDisconnectThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"eirpTxPower": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": 18
|
||||||
|
},
|
||||||
|
"perimeterDetectionEnabled": true,
|
||||||
|
"bestAPSteerType": "both",
|
||||||
|
"deauthAttackDetection": null,
|
||||||
|
"allowedChannelsPowerLevels": [
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 1,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 2,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 3,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 4,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 5,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 6,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 7,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 8,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 9,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 10,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 11,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"is5GHzL": {
|
||||||
|
"model_type": "ElementRadioConfiguration",
|
||||||
|
"radioType": "is5GHzL",
|
||||||
|
"channelNumber": 36,
|
||||||
|
"manualChannelNumber": 36,
|
||||||
|
"backupChannelNumber": 44,
|
||||||
|
"manualBackupChannelNumber": 44,
|
||||||
|
"rxCellSizeDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"probeResponseThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"clientDisconnectThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"eirpTxPower": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": 18
|
||||||
|
},
|
||||||
|
"perimeterDetectionEnabled": true,
|
||||||
|
"bestAPSteerType": "both",
|
||||||
|
"deauthAttackDetection": null,
|
||||||
|
"allowedChannelsPowerLevels": [
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 52,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 36,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 56,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 40,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 60,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 44,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 64,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 48,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"probeResponseThresholdDb": {
|
"advancedRadioMap": {
|
||||||
"model_type": "SourceSelectionValue",
|
"is2dot4GHz": {
|
||||||
"source": "auto",
|
"model_type": "RadioConfiguration",
|
||||||
"value": -90
|
"radioType": "is2dot4GHz",
|
||||||
},
|
"radioAdminState": "enabled",
|
||||||
"clientDisconnectThresholdDb": {
|
"fragmentationThresholdBytes": 2346,
|
||||||
"model_type": "SourceSelectionValue",
|
"uapsdState": "enabled",
|
||||||
"source": "auto",
|
"stationIsolation": "disabled",
|
||||||
"value": -90
|
"multicastRate": {
|
||||||
},
|
"model_type": "SourceSelectionMulticast",
|
||||||
"eirpTxPower": {
|
"source": "profile",
|
||||||
"model_type": "SourceSelectionValue",
|
"value": "auto"
|
||||||
"source": "auto",
|
},
|
||||||
"value": 32
|
"managementRate": {
|
||||||
},
|
"model_type": "SourceSelectionManagement",
|
||||||
"perimeterDetectionEnabled": true,
|
"source": "profile",
|
||||||
"bestAPSteerType": "both",
|
"value": "auto"
|
||||||
"deauthAttackDetection": null,
|
},
|
||||||
"allowedChannelsPowerLevels": [],
|
"bestApSettings": {
|
||||||
"activeChannel": 6
|
"model_type": "SourceSelectionSteering",
|
||||||
},
|
"source": "manual",
|
||||||
"is5GHzU": {
|
"value": {
|
||||||
"model_type": "ElementRadioConfiguration",
|
"model_type": "RadioBestApSettings",
|
||||||
"radioType": "is5GHzU",
|
"mlComputed": true,
|
||||||
"channelNumber": 149,
|
"dropInSnrPercentage": 20,
|
||||||
"manualChannelNumber": 149,
|
"minLoadFactor": 50
|
||||||
"backupChannelNumber": 154,
|
}
|
||||||
"bannedChannels": [],
|
},
|
||||||
"allowedChannels": [],
|
"legacyBSSRate": "enabled",
|
||||||
"rxCellSizeDb": {
|
"dtimPeriod": 2,
|
||||||
"model_type": "SourceSelectionValue",
|
"deauthAttackDetection": null
|
||||||
"source": "auto",
|
},
|
||||||
"value": -90
|
"is5GHzU": {
|
||||||
},
|
"model_type": "RadioConfiguration",
|
||||||
"probeResponseThresholdDb": {
|
"radioType": "is5GHzU",
|
||||||
"model_type": "SourceSelectionValue",
|
"radioAdminState": "enabled",
|
||||||
"source": "auto",
|
"fragmentationThresholdBytes": 2346,
|
||||||
"value": -90
|
"uapsdState": "enabled",
|
||||||
},
|
"stationIsolation": "disabled",
|
||||||
"clientDisconnectThresholdDb": {
|
"multicastRate": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionMulticast",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"eirpTxPower": {
|
"managementRate": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionManagement",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": 32
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"perimeterDetectionEnabled": true,
|
"bestApSettings": {
|
||||||
"bestAPSteerType": "both",
|
"model_type": "SourceSelectionSteering",
|
||||||
"deauthAttackDetection": null,
|
"source": "manual",
|
||||||
"allowedChannelsPowerLevels": [],
|
"value": {
|
||||||
"activeChannel": 149
|
"model_type": "RadioBestApSettings",
|
||||||
},
|
"mlComputed": true,
|
||||||
"is5GHzL": {
|
"dropInSnrPercentage": 30,
|
||||||
"model_type": "ElementRadioConfiguration",
|
"minLoadFactor": 40
|
||||||
"radioType": "is5GHzL",
|
}
|
||||||
"channelNumber": 36,
|
},
|
||||||
"manualChannelNumber": 36,
|
"legacyBSSRate": "enabled",
|
||||||
"backupChannelNumber": 44,
|
"dtimPeriod": 2,
|
||||||
"bannedChannels": [],
|
"deauthAttackDetection": null
|
||||||
"allowedChannels": [],
|
},
|
||||||
"rxCellSizeDb": {
|
"is5GHzL": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "RadioConfiguration",
|
||||||
"source": "auto",
|
"radioType": "is5GHzL",
|
||||||
"value": -90
|
"radioAdminState": "enabled",
|
||||||
},
|
"fragmentationThresholdBytes": 2346,
|
||||||
"probeResponseThresholdDb": {
|
"uapsdState": "enabled",
|
||||||
"model_type": "SourceSelectionValue",
|
"stationIsolation": "disabled",
|
||||||
"source": "auto",
|
"multicastRate": {
|
||||||
"value": -90
|
"model_type": "SourceSelectionMulticast",
|
||||||
},
|
"source": "profile",
|
||||||
"clientDisconnectThresholdDb": {
|
"value": "auto"
|
||||||
"model_type": "SourceSelectionValue",
|
},
|
||||||
"source": "auto",
|
"managementRate": {
|
||||||
"value": -90
|
"model_type": "SourceSelectionManagement",
|
||||||
},
|
"source": "profile",
|
||||||
"eirpTxPower": {
|
"value": "auto"
|
||||||
"model_type": "SourceSelectionValue",
|
},
|
||||||
"source": "auto",
|
"bestApSettings": {
|
||||||
"value": 32
|
"model_type": "SourceSelectionSteering",
|
||||||
},
|
"source": "manual",
|
||||||
"perimeterDetectionEnabled": true,
|
"value": {
|
||||||
"bestAPSteerType": "both",
|
"model_type": "RadioBestApSettings",
|
||||||
"deauthAttackDetection": null,
|
"mlComputed": true,
|
||||||
"allowedChannelsPowerLevels": [],
|
"dropInSnrPercentage": 30,
|
||||||
"activeChannel": 36
|
"minLoadFactor": 40
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"legacyBSSRate": "enabled",
|
||||||
|
"dtimPeriod": 2,
|
||||||
|
"deauthAttackDetection": null
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"advancedRadioMap": {
|
"latitude": null,
|
||||||
"is2dot4GHz": {
|
"longitude": null,
|
||||||
"model_type": "RadioConfiguration",
|
"baseMacAddress": {
|
||||||
"radioType": "is2dot4GHz",
|
"model_type": "MacAddress",
|
||||||
"radioAdminState": "enabled",
|
"address": "JPWi7y5T",
|
||||||
"fragmentationThresholdBytes": 2346,
|
"addressAsString": "24:f5:a2:ef:2e:53"
|
||||||
"wmmState": "enabled",
|
},
|
||||||
"uapsdState": "enabled",
|
"serial": "21P10C68818122",
|
||||||
"stationIsolation": "disabled",
|
"createdTimestamp": 1612285288821,
|
||||||
"managementRate": {
|
"lastModifiedTimestamp": 1612285293922
|
||||||
"model_type": "SourceSelectionManagement",
|
|
||||||
"source": "auto",
|
|
||||||
"value": "auto"
|
|
||||||
},
|
|
||||||
"bestApSettings": {
|
|
||||||
"model_type": "SourceSelectionSteering",
|
|
||||||
"source": "auto",
|
|
||||||
"value": {
|
|
||||||
"model_type": "RadioBestApSettings",
|
|
||||||
"mlComputed": true,
|
|
||||||
"dropInSnrPercentage": 30,
|
|
||||||
"minLoadFactor": 40
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"legacyBSSRate": "enabled",
|
|
||||||
"deauthAttackDetection": null
|
|
||||||
},
|
|
||||||
"is5GHzU": {
|
|
||||||
"model_type": "RadioConfiguration",
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"radioAdminState": "enabled",
|
|
||||||
"fragmentationThresholdBytes": 2346,
|
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
|
||||||
"stationIsolation": "disabled",
|
|
||||||
"managementRate": {
|
|
||||||
"model_type": "SourceSelectionManagement",
|
|
||||||
"source": "auto",
|
|
||||||
"value": "auto"
|
|
||||||
},
|
|
||||||
"bestApSettings": {
|
|
||||||
"model_type": "SourceSelectionSteering",
|
|
||||||
"source": "auto",
|
|
||||||
"value": {
|
|
||||||
"model_type": "RadioBestApSettings",
|
|
||||||
"mlComputed": true,
|
|
||||||
"dropInSnrPercentage": 30,
|
|
||||||
"minLoadFactor": 40
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"legacyBSSRate": "enabled",
|
|
||||||
"deauthAttackDetection": null
|
|
||||||
},
|
|
||||||
"is5GHzL": {
|
|
||||||
"model_type": "RadioConfiguration",
|
|
||||||
"radioType": "is5GHzL",
|
|
||||||
"radioAdminState": "enabled",
|
|
||||||
"fragmentationThresholdBytes": 2346,
|
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
|
||||||
"stationIsolation": "disabled",
|
|
||||||
"managementRate": {
|
|
||||||
"model_type": "SourceSelectionManagement",
|
|
||||||
"source": "auto",
|
|
||||||
"value": "auto"
|
|
||||||
},
|
|
||||||
"bestApSettings": {
|
|
||||||
"model_type": "SourceSelectionSteering",
|
|
||||||
"source": "auto",
|
|
||||||
"value": {
|
|
||||||
"model_type": "RadioBestApSettings",
|
|
||||||
"mlComputed": true,
|
|
||||||
"dropInSnrPercentage": 30,
|
|
||||||
"minLoadFactor": 40
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"legacyBSSRate": "enabled",
|
|
||||||
"deauthAttackDetection": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"latitude": null,
|
|
||||||
"longitude": null,
|
|
||||||
"serial": "21P10C68818122",
|
|
||||||
"createdTimestamp": 1591653239821,
|
|
||||||
"lastModifiedTimestamp": 1591653241398
|
|
||||||
}
|
}
|
||||||
@@ -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",
|
"MONDAY": {
|
||||||
"lastBusySnapshot" : 0
|
"model_type": "LocationActivityDetails",
|
||||||
},
|
"busyTime": "13:30",
|
||||||
"MONDAY" : {
|
"quietTime": "3:00",
|
||||||
"model_type" : "LocationActivityDetails",
|
"timezone": "US/Eastern"
|
||||||
"busyTime" : "13:30",
|
},
|
||||||
"quietTime" : "3:30",
|
"TUESDAY": {
|
||||||
"timezone" : "US/Eastern",
|
"model_type": "LocationActivityDetails",
|
||||||
"lastBusySnapshot" : 0
|
"busyTime": "13:30",
|
||||||
},
|
"quietTime": "3:00",
|
||||||
"TUESDAY" : {
|
"timezone": "US/Eastern"
|
||||||
"model_type" : "LocationActivityDetails",
|
},
|
||||||
"busyTime" : "13:30",
|
"WEDNESDAY": {
|
||||||
"quietTime" : "3:30",
|
"model_type": "LocationActivityDetails",
|
||||||
"timezone" : "US/Eastern",
|
"busyTime": "13:30",
|
||||||
"lastBusySnapshot" : 0
|
"quietTime": "3:00",
|
||||||
},
|
"timezone": "US/Eastern"
|
||||||
"WEDNESDAY" : {
|
},
|
||||||
"model_type" : "LocationActivityDetails",
|
"THURSDAY": {
|
||||||
"busyTime" : "13:30",
|
"model_type": "LocationActivityDetails",
|
||||||
"quietTime" : "3:30",
|
"busyTime": "13:30",
|
||||||
"timezone" : "US/Eastern",
|
"quietTime": "3:00",
|
||||||
"lastBusySnapshot" : 0
|
"timezone": "US/Eastern"
|
||||||
},
|
},
|
||||||
"THURSDAY" : {
|
"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": {
|
||||||
"FRIDAY" : {
|
"model_type": "LocationActivityDetails",
|
||||||
"model_type" : "LocationActivityDetails",
|
"busyTime": "13:30",
|
||||||
"busyTime" : "13:30",
|
"quietTime": "3:00",
|
||||||
"quietTime" : "3:30",
|
"timezone": "US/Eastern"
|
||||||
"timezone" : "US/Eastern",
|
}
|
||||||
"lastBusySnapshot" : 0
|
},
|
||||||
},
|
"maintenanceWindow": null,
|
||||||
"SATURDAY" : {
|
"rrmEnabled": true,
|
||||||
"model_type" : "LocationActivityDetails",
|
"timezone": "US/Eastern"
|
||||||
"busyTime" : "13:30",
|
},
|
||||||
"quietTime" : "3:30",
|
"createdTimestamp": 1612285243534,
|
||||||
"timezone" : "US/Eastern",
|
"lastModifiedTimestamp": 1612285243534
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"createdTimestamp" : 1590607043540,
|
|
||||||
"lastModifiedTimestamp" : 1590607043540
|
|
||||||
}
|
}
|
||||||
@@ -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,
|
"model_type": "ManagedFileInfo",
|
||||||
"walledGardenAllowlist": [],
|
"md5checksum": null,
|
||||||
"usernamePasswordFile": {
|
"lastModifiedTimestamp": null,
|
||||||
"model_type": "ManagedFileInfo",
|
"apExportUrl": "/filestore/tip-logo-mobile",
|
||||||
"md5checksum": null,
|
"fileCategory": "CaptivePortalLogo",
|
||||||
"lastModifiedTimestamp": null,
|
"fileType": "PNG",
|
||||||
"apExportUrl": "userList",
|
"altSlot": false
|
||||||
"fileCategory": "UsernamePasswordList",
|
},
|
||||||
"fileType": "TEXT",
|
"backgroundFile": {
|
||||||
"altSlot": true
|
"model_type": "ManagedFileInfo",
|
||||||
},
|
"md5checksum": null,
|
||||||
"authenticationType": "guest",
|
"lastModifiedTimestamp": null,
|
||||||
"radiusAuthMethod": "CHAP",
|
"apExportUrl": "/filestore/tip-logo",
|
||||||
"maxUsersWithSameCredentials": 42,
|
"fileCategory": "CaptivePortalBackground",
|
||||||
"externalPolicyFile": null,
|
"fileType": "PNG",
|
||||||
"backgroundPosition": "left_top",
|
"altSlot": false
|
||||||
"backgroundRepeat": "no_repeat",
|
},
|
||||||
"radiusServiceName": null,
|
"walledGardenAllowlist": [
|
||||||
"expiryType": "unlimited",
|
],
|
||||||
"userList": [
|
"usernamePasswordFile": null,
|
||||||
{
|
"authenticationType": "guest",
|
||||||
"model_type": "TimedAccessUserRecord",
|
"radiusAuthMethod": "CHAP",
|
||||||
"username": "customer",
|
"maxUsersWithSameCredentials": 3,
|
||||||
"password": "testing123",
|
"externalPolicyFile": null,
|
||||||
"activationTime": 1602183994956,
|
"backgroundPosition": "left_top",
|
||||||
"expirationTime": 1602212794956,
|
"backgroundRepeat": "no_repeat",
|
||||||
"numDevices": 1,
|
"radiusServiceId": 0,
|
||||||
"userDetails": {
|
"expiryType": "time_limited",
|
||||||
"model_type": "TimedAccessUserDetails",
|
"userList": [
|
||||||
"firstName": "Pac",
|
],
|
||||||
"lastName": "Man",
|
"macAllowList": [
|
||||||
"passwordNeedsReset": false
|
],
|
||||||
},
|
"profileType": "captive_portal"
|
||||||
"userMacAddresses": [
|
|
||||||
{
|
|
||||||
"model_type": "MacAddress",
|
|
||||||
"address": "fKtg5upO",
|
|
||||||
"addressAsString": "7c:ab:60:e6:ea:4e"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lastModifiedTimestamp": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "TimedAccessUserRecord",
|
|
||||||
"username": "customer",
|
|
||||||
"password": "testing123",
|
|
||||||
"activationTime": 1602183994957,
|
|
||||||
"expirationTime": 1602187594957,
|
|
||||||
"numDevices": 0,
|
|
||||||
"userDetails": {
|
|
||||||
"model_type": "TimedAccessUserDetails",
|
|
||||||
"firstName": "Q",
|
|
||||||
"lastName": "Bert",
|
|
||||||
"passwordNeedsReset": false
|
|
||||||
},
|
|
||||||
"userMacAddresses": [
|
|
||||||
{
|
|
||||||
"model_type": "MacAddress",
|
|
||||||
"address": "wJrQdqho",
|
|
||||||
"addressAsString": "c0:9a:d0:76:a8:68"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lastModifiedTimestamp": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "TimedAccessUserRecord",
|
|
||||||
"username": "customer2",
|
|
||||||
"password": "testing1234",
|
|
||||||
"activationTime": 1602183994957,
|
|
||||||
"expirationTime": 1602788794957,
|
|
||||||
"numDevices": 1,
|
|
||||||
"userDetails": {
|
|
||||||
"model_type": "TimedAccessUserDetails",
|
|
||||||
"firstName": "Duke",
|
|
||||||
"lastName": "Nukem",
|
|
||||||
"passwordNeedsReset": false
|
|
||||||
},
|
|
||||||
"userMacAddresses": [
|
|
||||||
{
|
|
||||||
"model_type": "MacAddress",
|
|
||||||
"address": "fKtg5upN",
|
|
||||||
"addressAsString": "7c:ab:60:e6:ea:4d"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lastModifiedTimestamp": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "TimedAccessUserRecord",
|
|
||||||
"username": "customer2",
|
|
||||||
"password": "testing1234",
|
|
||||||
"activationTime": 1602183994957,
|
|
||||||
"expirationTime": 1602270394957,
|
|
||||||
"numDevices": 0,
|
|
||||||
"userDetails": {
|
|
||||||
"model_type": "TimedAccessUserDetails",
|
|
||||||
"firstName": "Missile",
|
|
||||||
"lastName": "Commander",
|
|
||||||
"passwordNeedsReset": false
|
|
||||||
},
|
|
||||||
"userMacAddresses": [
|
|
||||||
{
|
|
||||||
"model_type": "MacAddress",
|
|
||||||
"address": "wJrQdqhj",
|
|
||||||
"addressAsString": "c0:9a:d0:76:a8:63"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lastModifiedTimestamp": 0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"macAllowList": [],
|
|
||||||
"profileType": "captive_portal"
|
|
||||||
},
|
},
|
||||||
"createdTimestamp": 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,134 +1,75 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 5,
|
"id": 2,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "ssid",
|
"profileType": "ssid",
|
||||||
"name": "TipWlan-cloud-hotspot-access",
|
"name": "TipWlan-cloud-3-radios",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "SsidConfiguration",
|
"model_type": "SsidConfiguration",
|
||||||
"ssid": "TipWlan-cloud-hotspot-access",
|
"ssid": "TipWlan-cloud-3-radios",
|
||||||
"appliedRadios": [
|
"appliedRadios": [
|
||||||
"is5GHzU",
|
"is5GHzU",
|
||||||
"is5GHzL",
|
"is2dot4GHz",
|
||||||
"is2dot4GHz"
|
"is5GHzL"
|
||||||
],
|
],
|
||||||
"ssidAdminState": "enabled",
|
"ssidAdminState": "enabled",
|
||||||
"secureMode": "wpa2PSK",
|
"secureMode": "wpa2OnlyPSK",
|
||||||
"vlanId": 1,
|
"vlanId": 1,
|
||||||
"keyStr": "testing123",
|
"keyStr": "openwifi",
|
||||||
"broadcastSsid": "enabled",
|
"broadcastSsid": "enabled",
|
||||||
"keyRefresh": 0,
|
"keyRefresh": 0,
|
||||||
"noLocalSubnets": false,
|
"noLocalSubnets": false,
|
||||||
"radiusServiceName": null,
|
"radiusServiceId": 0,
|
||||||
"captivePortalId": null,
|
"radiusAcountingServiceInterval": 60,
|
||||||
"bandwidthLimitDown": 0,
|
"captivePortalId": null,
|
||||||
"bandwidthLimitUp": 0,
|
"bandwidthLimitDown": 0,
|
||||||
"clientBandwidthLimitDown": 0,
|
"bandwidthLimitUp": 0,
|
||||||
"clientBandwidthLimitUp": 0,
|
"clientBandwidthLimitDown": 0,
|
||||||
"videoTrafficOnly": false,
|
"clientBandwidthLimitUp": 0,
|
||||||
"radioBasedConfigs": {
|
"videoTrafficOnly": false,
|
||||||
"is5GHz": {
|
"radioBasedConfigs": {
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"is5GHzU": {
|
||||||
"enable80211r": null,
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211k": null,
|
"enable80211r": null,
|
||||||
"enable80211v": null
|
"enable80211k": null,
|
||||||
},
|
"enable80211v": null
|
||||||
"is2dot4GHz": {
|
},
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"is2dot4GHz": {
|
||||||
"enable80211r": null,
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211k": null,
|
"enable80211r": null,
|
||||||
"enable80211v": null
|
"enable80211k": null,
|
||||||
},
|
"enable80211v": null
|
||||||
"is5GHzU": {
|
},
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"is5GHz": {
|
||||||
"enable80211r": null,
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211k": null,
|
"enable80211r": null,
|
||||||
"enable80211v": null
|
"enable80211k": null,
|
||||||
},
|
"enable80211v": null
|
||||||
"is5GHzL": {
|
},
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"is5GHzL": {
|
||||||
"enable80211r": null,
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211k": null,
|
"enable80211r": null,
|
||||||
"enable80211v": null
|
"enable80211k": null,
|
||||||
}
|
"enable80211v": null
|
||||||
},
|
}
|
||||||
"bonjourGatewayProfileId": null,
|
},
|
||||||
"enable80211w": null,
|
"bonjourGatewayProfileId": null,
|
||||||
"wepConfig": null,
|
"enable80211w": null,
|
||||||
"forwardMode": null,
|
"wepConfig": null,
|
||||||
"profileType": "ssid"
|
"forwardMode": "BRIDGE",
|
||||||
},
|
"profileType": "ssid",
|
||||||
"createdTimestamp": 1602113058718,
|
"radiusClientConfiguration": {
|
||||||
"lastModifiedTimestamp": 1602113059547,
|
"model_type": "RadiusNasConfiguration",
|
||||||
"childProfileIds": [
|
"nasClientId": "DEFAULT",
|
||||||
10
|
"nasClientIp": "WAN_IP",
|
||||||
]
|
"userDefinedNasId": null,
|
||||||
},
|
"userDefinedNasIp": null,
|
||||||
{
|
"operatorId": null
|
||||||
"model_type": "Profile",
|
}
|
||||||
"id": 11,
|
},
|
||||||
"customerId": 2,
|
"createdTimestamp": 1612285248638,
|
||||||
"profileType": "ssid",
|
"lastModifiedTimestamp": 1612285248638,
|
||||||
"name": "TipWlan-cloud-3-radios",
|
"childProfileIds": []
|
||||||
"details": {
|
}
|
||||||
"model_type": "SsidConfiguration",
|
|
||||||
"ssid": "TipWlan-cloud-3-radios",
|
|
||||||
"appliedRadios": [
|
|
||||||
"is5GHzL",
|
|
||||||
"is2dot4GHz",
|
|
||||||
"is5GHzU"
|
|
||||||
],
|
|
||||||
"ssidAdminState": "enabled",
|
|
||||||
"secureMode": "open",
|
|
||||||
"vlanId": 1,
|
|
||||||
"keyStr": null,
|
|
||||||
"broadcastSsid": "enabled",
|
|
||||||
"keyRefresh": 0,
|
|
||||||
"noLocalSubnets": false,
|
|
||||||
"radiusServiceName": null,
|
|
||||||
"captivePortalId": null,
|
|
||||||
"bandwidthLimitDown": 0,
|
|
||||||
"bandwidthLimitUp": 0,
|
|
||||||
"clientBandwidthLimitDown": 0,
|
|
||||||
"clientBandwidthLimitUp": 0,
|
|
||||||
"videoTrafficOnly": false,
|
|
||||||
"radioBasedConfigs": {
|
|
||||||
"is5GHz": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is2dot4GHz": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is5GHzU": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is5GHzL": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bonjourGatewayProfileId": null,
|
|
||||||
"enable80211w": null,
|
|
||||||
"wepConfig": null,
|
|
||||||
"forwardMode": null,
|
|
||||||
"profileType": "ssid"
|
|
||||||
},
|
|
||||||
"createdTimestamp": 1602183994766,
|
|
||||||
"lastModifiedTimestamp": 1602183994766,
|
|
||||||
"childProfileIds": [
|
|
||||||
10
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -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,224 +1,472 @@
|
|||||||
{
|
{
|
||||||
"model_type": "Equipment",
|
"model_type": "Equipment",
|
||||||
"id": 51,
|
"id": 1,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileId": 5,
|
"profileId": 8,
|
||||||
"locationId": 8,
|
"locationId": 8,
|
||||||
"equipmentType": "AP",
|
|
||||||
"inventoryId": "Test_Client_21P10C68818122",
|
|
||||||
"name": "Test_Client_21P10C68818122",
|
|
||||||
"details": {
|
|
||||||
"model_type": "ApElementConfiguration",
|
|
||||||
"equipmentModel": "EA8300-CA",
|
|
||||||
"elementConfigVersion": "AP-V1",
|
|
||||||
"equipmentType": "AP",
|
"equipmentType": "AP",
|
||||||
"deviceMode": "standaloneAP",
|
"inventoryId": "Open_AP_21P10C68818122",
|
||||||
"gettingIP": "dhcp",
|
"name": "Open_AP_21P10C68818122",
|
||||||
"staticIP": null,
|
"details": {
|
||||||
"staticIpMaskCidr": null,
|
"model_type": "ApElementConfiguration",
|
||||||
"staticIpGw": null,
|
"equipmentModel": "EA8300-CA",
|
||||||
"gettingDNS": "dhcp",
|
"elementConfigVersion": "AP-V1",
|
||||||
"staticDnsIp1": null,
|
"equipmentType": "AP",
|
||||||
"staticDnsIp2": null,
|
"deviceMode": "standaloneAP",
|
||||||
"peerInfoList": [],
|
"gettingIP": "dhcp",
|
||||||
"deviceName": "Default Device Name",
|
"staticIP": null,
|
||||||
"locationData": null,
|
"staticIpMaskCidr": null,
|
||||||
"locallyConfiguredMgmtVlan": 0,
|
"staticIpGw": null,
|
||||||
"locallyConfigured": false,
|
"gettingDNS": "dhcp",
|
||||||
"deploymentType": "CEILING",
|
"staticDnsIp1": null,
|
||||||
"syntheticClientEnabled": null,
|
"staticDnsIp2": null,
|
||||||
"frameReportThrottleEnabled": true,
|
"peerInfoList": [],
|
||||||
"antennaType": "OMNI",
|
"deviceName": "Open_AP_21P10C68818122",
|
||||||
"costSavingEventsEnabled": true,
|
"locationData": null,
|
||||||
"forwardMode": "BRIDGE",
|
"locallyConfiguredMgmtVlan": 0,
|
||||||
"radioMap": {
|
"locallyConfigured": false,
|
||||||
"is2dot4GHz": {
|
"deploymentType": "CEILING",
|
||||||
"model_type": "ElementRadioConfiguration",
|
"syntheticClientEnabled": null,
|
||||||
"radioType": "is2dot4GHz",
|
"frameReportThrottleEnabled": true,
|
||||||
"channelNumber": 6,
|
"antennaType": "OMNI",
|
||||||
"manualChannelNumber": 6,
|
"costSavingEventsEnabled": true,
|
||||||
"backupChannelNumber": 11,
|
"forwardMode": "BRIDGE",
|
||||||
"bannedChannels": [],
|
"radioMap": {
|
||||||
"allowedChannels": [],
|
"is5GHzU": {
|
||||||
"rxCellSizeDb": {
|
"model_type": "ElementRadioConfiguration",
|
||||||
"model_type": "SourceSelectionValue",
|
"radioType": "is5GHzU",
|
||||||
"source": "auto",
|
"channelNumber": 149,
|
||||||
"value": -90
|
"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": {
|
||||||
|
"model_type": "ElementRadioConfiguration",
|
||||||
|
"radioType": "is2dot4GHz",
|
||||||
|
"channelNumber": 6,
|
||||||
|
"manualChannelNumber": 6,
|
||||||
|
"backupChannelNumber": 11,
|
||||||
|
"manualBackupChannelNumber": 11,
|
||||||
|
"rxCellSizeDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"probeResponseThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"clientDisconnectThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"eirpTxPower": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": 18
|
||||||
|
},
|
||||||
|
"perimeterDetectionEnabled": true,
|
||||||
|
"bestAPSteerType": "both",
|
||||||
|
"deauthAttackDetection": null,
|
||||||
|
"allowedChannelsPowerLevels": [
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 1,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 2,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 3,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 4,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 5,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 6,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 7,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 8,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 9,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 10,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 11,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"is5GHzL": {
|
||||||
|
"model_type": "ElementRadioConfiguration",
|
||||||
|
"radioType": "is5GHzL",
|
||||||
|
"channelNumber": 36,
|
||||||
|
"manualChannelNumber": 36,
|
||||||
|
"backupChannelNumber": 44,
|
||||||
|
"manualBackupChannelNumber": 44,
|
||||||
|
"rxCellSizeDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"probeResponseThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"clientDisconnectThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"eirpTxPower": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": 18
|
||||||
|
},
|
||||||
|
"perimeterDetectionEnabled": true,
|
||||||
|
"bestAPSteerType": "both",
|
||||||
|
"deauthAttackDetection": null,
|
||||||
|
"allowedChannelsPowerLevels": [
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 52,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 36,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 56,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 40,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 60,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 44,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 64,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 48,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"probeResponseThresholdDb": {
|
"advancedRadioMap": {
|
||||||
"model_type": "SourceSelectionValue",
|
"is2dot4GHz": {
|
||||||
"source": "auto",
|
"model_type": "RadioConfiguration",
|
||||||
"value": -90
|
"radioType": "is2dot4GHz",
|
||||||
},
|
"radioAdminState": "enabled",
|
||||||
"clientDisconnectThresholdDb": {
|
"fragmentationThresholdBytes": 2346,
|
||||||
"model_type": "SourceSelectionValue",
|
"uapsdState": "enabled",
|
||||||
"source": "auto",
|
"stationIsolation": "disabled",
|
||||||
"value": -90
|
"multicastRate": {
|
||||||
},
|
"model_type": "SourceSelectionMulticast",
|
||||||
"eirpTxPower": {
|
"source": "profile",
|
||||||
"model_type": "SourceSelectionValue",
|
"value": "auto"
|
||||||
"source": "auto",
|
},
|
||||||
"value": 32
|
"managementRate": {
|
||||||
},
|
"model_type": "SourceSelectionManagement",
|
||||||
"perimeterDetectionEnabled": true,
|
"source": "profile",
|
||||||
"bestAPSteerType": "both",
|
"value": "auto"
|
||||||
"deauthAttackDetection": null,
|
},
|
||||||
"allowedChannelsPowerLevels": [],
|
"bestApSettings": {
|
||||||
"activeChannel": 6
|
"model_type": "SourceSelectionSteering",
|
||||||
},
|
"source": "manual",
|
||||||
"is5GHzU": {
|
"value": {
|
||||||
"model_type": "ElementRadioConfiguration",
|
"model_type": "RadioBestApSettings",
|
||||||
"radioType": "is5GHzU",
|
"mlComputed": true,
|
||||||
"channelNumber": 149,
|
"dropInSnrPercentage": 20,
|
||||||
"manualChannelNumber": 149,
|
"minLoadFactor": 50
|
||||||
"backupChannelNumber": 154,
|
}
|
||||||
"bannedChannels": [],
|
},
|
||||||
"allowedChannels": [],
|
"legacyBSSRate": "enabled",
|
||||||
"rxCellSizeDb": {
|
"dtimPeriod": 2,
|
||||||
"model_type": "SourceSelectionValue",
|
"deauthAttackDetection": null
|
||||||
"source": "auto",
|
},
|
||||||
"value": -90
|
"is5GHzU": {
|
||||||
},
|
"model_type": "RadioConfiguration",
|
||||||
"probeResponseThresholdDb": {
|
"radioType": "is5GHzU",
|
||||||
"model_type": "SourceSelectionValue",
|
"radioAdminState": "enabled",
|
||||||
"source": "auto",
|
"fragmentationThresholdBytes": 2346,
|
||||||
"value": -90
|
"uapsdState": "enabled",
|
||||||
},
|
"stationIsolation": "disabled",
|
||||||
"clientDisconnectThresholdDb": {
|
"multicastRate": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionMulticast",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"eirpTxPower": {
|
"managementRate": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionManagement",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": 32
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"perimeterDetectionEnabled": true,
|
"bestApSettings": {
|
||||||
"bestAPSteerType": "both",
|
"model_type": "SourceSelectionSteering",
|
||||||
"deauthAttackDetection": null,
|
"source": "manual",
|
||||||
"allowedChannelsPowerLevels": [],
|
"value": {
|
||||||
"activeChannel": 149
|
"model_type": "RadioBestApSettings",
|
||||||
},
|
"mlComputed": true,
|
||||||
"is5GHzL": {
|
"dropInSnrPercentage": 30,
|
||||||
"model_type": "ElementRadioConfiguration",
|
"minLoadFactor": 40
|
||||||
"radioType": "is5GHzL",
|
}
|
||||||
"channelNumber": 36,
|
},
|
||||||
"manualChannelNumber": 36,
|
"legacyBSSRate": "enabled",
|
||||||
"backupChannelNumber": 44,
|
"dtimPeriod": 2,
|
||||||
"bannedChannels": [],
|
"deauthAttackDetection": null
|
||||||
"allowedChannels": [],
|
},
|
||||||
"rxCellSizeDb": {
|
"is5GHzL": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "RadioConfiguration",
|
||||||
"source": "auto",
|
"radioType": "is5GHzL",
|
||||||
"value": -90
|
"radioAdminState": "enabled",
|
||||||
},
|
"fragmentationThresholdBytes": 2346,
|
||||||
"probeResponseThresholdDb": {
|
"uapsdState": "enabled",
|
||||||
"model_type": "SourceSelectionValue",
|
"stationIsolation": "disabled",
|
||||||
"source": "auto",
|
"multicastRate": {
|
||||||
"value": -90
|
"model_type": "SourceSelectionMulticast",
|
||||||
},
|
"source": "profile",
|
||||||
"clientDisconnectThresholdDb": {
|
"value": "auto"
|
||||||
"model_type": "SourceSelectionValue",
|
},
|
||||||
"source": "auto",
|
"managementRate": {
|
||||||
"value": -90
|
"model_type": "SourceSelectionManagement",
|
||||||
},
|
"source": "profile",
|
||||||
"eirpTxPower": {
|
"value": "auto"
|
||||||
"model_type": "SourceSelectionValue",
|
},
|
||||||
"source": "auto",
|
"bestApSettings": {
|
||||||
"value": 32
|
"model_type": "SourceSelectionSteering",
|
||||||
},
|
"source": "manual",
|
||||||
"perimeterDetectionEnabled": true,
|
"value": {
|
||||||
"bestAPSteerType": "both",
|
"model_type": "RadioBestApSettings",
|
||||||
"deauthAttackDetection": null,
|
"mlComputed": true,
|
||||||
"allowedChannelsPowerLevels": [],
|
"dropInSnrPercentage": 30,
|
||||||
"activeChannel": 36
|
"minLoadFactor": 40
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"legacyBSSRate": "enabled",
|
||||||
|
"dtimPeriod": 2,
|
||||||
|
"deauthAttackDetection": null
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"advancedRadioMap": {
|
"latitude": null,
|
||||||
"is2dot4GHz": {
|
"longitude": null,
|
||||||
"model_type": "RadioConfiguration",
|
"baseMacAddress": {
|
||||||
"radioType": "is2dot4GHz",
|
"model_type": "MacAddress",
|
||||||
"radioAdminState": "enabled",
|
"address": "JPWi7y5T",
|
||||||
"fragmentationThresholdBytes": 2346,
|
"addressAsString": "24:f5:a2:ef:2e:53"
|
||||||
"wmmState": "enabled",
|
},
|
||||||
"uapsdState": "enabled",
|
"serial": "21P10C68818122",
|
||||||
"stationIsolation": "disabled",
|
"createdTimestamp": 1612285288821,
|
||||||
"managementRate": {
|
"lastModifiedTimestamp": 1612285293922
|
||||||
"model_type": "SourceSelectionManagement",
|
|
||||||
"source": "auto",
|
|
||||||
"value": "auto"
|
|
||||||
},
|
|
||||||
"bestApSettings": {
|
|
||||||
"model_type": "SourceSelectionSteering",
|
|
||||||
"source": "auto",
|
|
||||||
"value": {
|
|
||||||
"model_type": "RadioBestApSettings",
|
|
||||||
"mlComputed": true,
|
|
||||||
"dropInSnrPercentage": 30,
|
|
||||||
"minLoadFactor": 40
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"legacyBSSRate": "enabled",
|
|
||||||
"deauthAttackDetection": null
|
|
||||||
},
|
|
||||||
"is5GHzU": {
|
|
||||||
"model_type": "RadioConfiguration",
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"radioAdminState": "enabled",
|
|
||||||
"fragmentationThresholdBytes": 2346,
|
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
|
||||||
"stationIsolation": "disabled",
|
|
||||||
"managementRate": {
|
|
||||||
"model_type": "SourceSelectionManagement",
|
|
||||||
"source": "auto",
|
|
||||||
"value": "auto"
|
|
||||||
},
|
|
||||||
"bestApSettings": {
|
|
||||||
"model_type": "SourceSelectionSteering",
|
|
||||||
"source": "auto",
|
|
||||||
"value": {
|
|
||||||
"model_type": "RadioBestApSettings",
|
|
||||||
"mlComputed": true,
|
|
||||||
"dropInSnrPercentage": 30,
|
|
||||||
"minLoadFactor": 40
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"legacyBSSRate": "enabled",
|
|
||||||
"deauthAttackDetection": null
|
|
||||||
},
|
|
||||||
"is5GHzL": {
|
|
||||||
"model_type": "RadioConfiguration",
|
|
||||||
"radioType": "is5GHzL",
|
|
||||||
"radioAdminState": "enabled",
|
|
||||||
"fragmentationThresholdBytes": 2346,
|
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
|
||||||
"stationIsolation": "disabled",
|
|
||||||
"managementRate": {
|
|
||||||
"model_type": "SourceSelectionManagement",
|
|
||||||
"source": "auto",
|
|
||||||
"value": "auto"
|
|
||||||
},
|
|
||||||
"bestApSettings": {
|
|
||||||
"model_type": "SourceSelectionSteering",
|
|
||||||
"source": "auto",
|
|
||||||
"value": {
|
|
||||||
"model_type": "RadioBestApSettings",
|
|
||||||
"mlComputed": true,
|
|
||||||
"dropInSnrPercentage": 30,
|
|
||||||
"minLoadFactor": 40
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"legacyBSSRate": "enabled",
|
|
||||||
"deauthAttackDetection": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"latitude": null,
|
|
||||||
"longitude": null,
|
|
||||||
"serial": "21P10C68818122",
|
|
||||||
"createdTimestamp": 1591653239821,
|
|
||||||
"lastModifiedTimestamp": 1591653241398
|
|
||||||
}
|
}
|
||||||
@@ -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",
|
"MONDAY": {
|
||||||
"lastBusySnapshot" : 0
|
"model_type": "LocationActivityDetails",
|
||||||
},
|
"busyTime": "13:30",
|
||||||
"MONDAY" : {
|
"quietTime": "3:00",
|
||||||
"model_type" : "LocationActivityDetails",
|
"timezone": "US/Eastern"
|
||||||
"busyTime" : "13:30",
|
},
|
||||||
"quietTime" : "3:30",
|
"TUESDAY": {
|
||||||
"timezone" : "US/Eastern",
|
"model_type": "LocationActivityDetails",
|
||||||
"lastBusySnapshot" : 0
|
"busyTime": "13:30",
|
||||||
},
|
"quietTime": "3:00",
|
||||||
"TUESDAY" : {
|
"timezone": "US/Eastern"
|
||||||
"model_type" : "LocationActivityDetails",
|
},
|
||||||
"busyTime" : "13:30",
|
"WEDNESDAY": {
|
||||||
"quietTime" : "3:30",
|
"model_type": "LocationActivityDetails",
|
||||||
"timezone" : "US/Eastern",
|
"busyTime": "13:30",
|
||||||
"lastBusySnapshot" : 0
|
"quietTime": "3:00",
|
||||||
},
|
"timezone": "US/Eastern"
|
||||||
"WEDNESDAY" : {
|
},
|
||||||
"model_type" : "LocationActivityDetails",
|
"THURSDAY": {
|
||||||
"busyTime" : "13:30",
|
"model_type": "LocationActivityDetails",
|
||||||
"quietTime" : "3:30",
|
"busyTime": "13:30",
|
||||||
"timezone" : "US/Eastern",
|
"quietTime": "3:00",
|
||||||
"lastBusySnapshot" : 0
|
"timezone": "US/Eastern"
|
||||||
},
|
},
|
||||||
"THURSDAY" : {
|
"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": {
|
||||||
"FRIDAY" : {
|
"model_type": "LocationActivityDetails",
|
||||||
"model_type" : "LocationActivityDetails",
|
"busyTime": "13:30",
|
||||||
"busyTime" : "13:30",
|
"quietTime": "3:00",
|
||||||
"quietTime" : "3:30",
|
"timezone": "US/Eastern"
|
||||||
"timezone" : "US/Eastern",
|
}
|
||||||
"lastBusySnapshot" : 0
|
},
|
||||||
},
|
"maintenanceWindow": null,
|
||||||
"SATURDAY" : {
|
"rrmEnabled": true,
|
||||||
"model_type" : "LocationActivityDetails",
|
"timezone": "US/Eastern"
|
||||||
"busyTime" : "13:30",
|
},
|
||||||
"quietTime" : "3:30",
|
"createdTimestamp": 1612285243534,
|
||||||
"timezone" : "US/Eastern",
|
"lastModifiedTimestamp": 1612285243534
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"createdTimestamp" : 1590607043540,
|
|
||||||
"lastModifiedTimestamp" : 1590607043540
|
|
||||||
}
|
}
|
||||||
@@ -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,
|
"model_type": "ManagedFileInfo",
|
||||||
"walledGardenAllowlist": [],
|
"md5checksum": null,
|
||||||
"usernamePasswordFile": {
|
"lastModifiedTimestamp": null,
|
||||||
"model_type": "ManagedFileInfo",
|
"apExportUrl": "/filestore/tip-logo-mobile",
|
||||||
"md5checksum": null,
|
"fileCategory": "CaptivePortalLogo",
|
||||||
"lastModifiedTimestamp": null,
|
"fileType": "PNG",
|
||||||
"apExportUrl": "userList",
|
"altSlot": false
|
||||||
"fileCategory": "UsernamePasswordList",
|
},
|
||||||
"fileType": "TEXT",
|
"backgroundFile": {
|
||||||
"altSlot": true
|
"model_type": "ManagedFileInfo",
|
||||||
},
|
"md5checksum": null,
|
||||||
"authenticationType": "guest",
|
"lastModifiedTimestamp": null,
|
||||||
"radiusAuthMethod": "CHAP",
|
"apExportUrl": "/filestore/tip-logo",
|
||||||
"maxUsersWithSameCredentials": 42,
|
"fileCategory": "CaptivePortalBackground",
|
||||||
"externalPolicyFile": null,
|
"fileType": "PNG",
|
||||||
"backgroundPosition": "left_top",
|
"altSlot": false
|
||||||
"backgroundRepeat": "no_repeat",
|
},
|
||||||
"radiusServiceName": null,
|
"walledGardenAllowlist": [
|
||||||
"expiryType": "unlimited",
|
],
|
||||||
"userList": [
|
"usernamePasswordFile": null,
|
||||||
{
|
"authenticationType": "guest",
|
||||||
"model_type": "TimedAccessUserRecord",
|
"radiusAuthMethod": "CHAP",
|
||||||
"username": "customer",
|
"maxUsersWithSameCredentials": 3,
|
||||||
"password": "testing123",
|
"externalPolicyFile": null,
|
||||||
"activationTime": 1602183994956,
|
"backgroundPosition": "left_top",
|
||||||
"expirationTime": 1602212794956,
|
"backgroundRepeat": "no_repeat",
|
||||||
"numDevices": 1,
|
"radiusServiceId": 0,
|
||||||
"userDetails": {
|
"expiryType": "time_limited",
|
||||||
"model_type": "TimedAccessUserDetails",
|
"userList": [
|
||||||
"firstName": "Pac",
|
],
|
||||||
"lastName": "Man",
|
"macAllowList": [
|
||||||
"passwordNeedsReset": false
|
],
|
||||||
},
|
"profileType": "captive_portal"
|
||||||
"userMacAddresses": [
|
|
||||||
{
|
|
||||||
"model_type": "MacAddress",
|
|
||||||
"address": "fKtg5upO",
|
|
||||||
"addressAsString": "7c:ab:60:e6:ea:4e"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lastModifiedTimestamp": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "TimedAccessUserRecord",
|
|
||||||
"username": "customer",
|
|
||||||
"password": "testing123",
|
|
||||||
"activationTime": 1602183994957,
|
|
||||||
"expirationTime": 1602187594957,
|
|
||||||
"numDevices": 0,
|
|
||||||
"userDetails": {
|
|
||||||
"model_type": "TimedAccessUserDetails",
|
|
||||||
"firstName": "Q",
|
|
||||||
"lastName": "Bert",
|
|
||||||
"passwordNeedsReset": false
|
|
||||||
},
|
|
||||||
"userMacAddresses": [
|
|
||||||
{
|
|
||||||
"model_type": "MacAddress",
|
|
||||||
"address": "wJrQdqho",
|
|
||||||
"addressAsString": "c0:9a:d0:76:a8:68"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lastModifiedTimestamp": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "TimedAccessUserRecord",
|
|
||||||
"username": "customer2",
|
|
||||||
"password": "testing1234",
|
|
||||||
"activationTime": 1602183994957,
|
|
||||||
"expirationTime": 1602788794957,
|
|
||||||
"numDevices": 1,
|
|
||||||
"userDetails": {
|
|
||||||
"model_type": "TimedAccessUserDetails",
|
|
||||||
"firstName": "Duke",
|
|
||||||
"lastName": "Nukem",
|
|
||||||
"passwordNeedsReset": false
|
|
||||||
},
|
|
||||||
"userMacAddresses": [
|
|
||||||
{
|
|
||||||
"model_type": "MacAddress",
|
|
||||||
"address": "fKtg5upN",
|
|
||||||
"addressAsString": "7c:ab:60:e6:ea:4d"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lastModifiedTimestamp": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "TimedAccessUserRecord",
|
|
||||||
"username": "customer2",
|
|
||||||
"password": "testing1234",
|
|
||||||
"activationTime": 1602183994957,
|
|
||||||
"expirationTime": 1602270394957,
|
|
||||||
"numDevices": 0,
|
|
||||||
"userDetails": {
|
|
||||||
"model_type": "TimedAccessUserDetails",
|
|
||||||
"firstName": "Missile",
|
|
||||||
"lastName": "Commander",
|
|
||||||
"passwordNeedsReset": false
|
|
||||||
},
|
|
||||||
"userMacAddresses": [
|
|
||||||
{
|
|
||||||
"model_type": "MacAddress",
|
|
||||||
"address": "wJrQdqhj",
|
|
||||||
"addressAsString": "c0:9a:d0:76:a8:63"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lastModifiedTimestamp": 0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"macAllowList": [],
|
|
||||||
"profileType": "captive_portal"
|
|
||||||
},
|
},
|
||||||
"createdTimestamp": 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,256 +1,263 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"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": "PasspointMccMnc",
|
||||||
"model_type": "MccMnc",
|
"mcc": 302,
|
||||||
"mcc": 302,
|
"mnc": 720,
|
||||||
"mnc": 720,
|
"iso": "ca",
|
||||||
"iso": "ca",
|
"country": "Canada",
|
||||||
"country": "Canada",
|
"countryCode": 1,
|
||||||
"countryCode": 1,
|
"network": "Rogers AT&T Wireless",
|
||||||
"network": "Rogers AT&T Wireless",
|
"mccMncPairing": "302,720"
|
||||||
"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"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
],
|
||||||
],
|
"naiRealmList": [
|
||||||
"osuIconList": [
|
{
|
||||||
{
|
"model_type": "PasspointNaiRealmInformation",
|
||||||
"model_type": "OsuIcon",
|
"naiRealms": [
|
||||||
"iconWidth": 32,
|
"rogers.com"
|
||||||
"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": [
|
"encoding": 0,
|
||||||
"Credential Type:Certificate"
|
"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": [
|
||||||
"osuIconList": [
|
{
|
||||||
{
|
"model_type": "PasspointOsuIcon",
|
||||||
"model_type": "OsuIcon",
|
"iconWidth": 32,
|
||||||
"iconWidth": 32,
|
"iconHeight": 32,
|
||||||
"iconHeight": 32,
|
"languageCode": "eng",
|
||||||
"languageCode": "eng",
|
"iconLocale": "en_CA",
|
||||||
"iconLocale": "en_CA",
|
"iconName": "icon32eng",
|
||||||
"iconName": "icon32eng",
|
"filePath": "/tmp/icon32eng.png",
|
||||||
"filePath": "/tmp/icon32eng.png",
|
"imageUrl": "https://localhost:9096/icon32eng.png",
|
||||||
"imageUrl": "https://localhost:9096/icon32eng.png",
|
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
||||||
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
},
|
||||||
},
|
{
|
||||||
{
|
"model_type": "PasspointOsuIcon",
|
||||||
"model_type": "OsuIcon",
|
"iconWidth": 32,
|
||||||
"iconWidth": 32,
|
"iconHeight": 32,
|
||||||
"iconHeight": 32,
|
"languageCode": "fra",
|
||||||
"languageCode": "fra",
|
"iconLocale": "fr_CA",
|
||||||
"iconLocale": "fr_CA",
|
"iconName": "icon32fra",
|
||||||
"iconName": "icon32fra",
|
"filePath": "/tmp/icon32fra.png",
|
||||||
"filePath": "/tmp/icon32fra.png",
|
"imageUrl": "https://localhost:9096/icon32fra.png",
|
||||||
"imageUrl": "https://localhost:9096/icon32fra.png",
|
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
||||||
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
},
|
||||||
},
|
{
|
||||||
{
|
"model_type": "PasspointOsuIcon",
|
||||||
"model_type": "OsuIcon",
|
"iconWidth": 32,
|
||||||
"iconWidth": 32,
|
"iconHeight": 32,
|
||||||
"iconHeight": 32,
|
"languageCode": "eng",
|
||||||
"languageCode": "eng",
|
"iconLocale": "en_US",
|
||||||
"iconLocale": "en_US",
|
"iconName": "icon32usa",
|
||||||
"iconName": "icon32usa",
|
"filePath": "/tmp/icon32usa.png",
|
||||||
"filePath": "/tmp/icon32usa.png",
|
"imageUrl": "https://localhost:9096/icon32usa.png",
|
||||||
"imageUrl": "https://localhost:9096/icon32usa.png",
|
"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/telus/",
|
"osuFriendlyName": [
|
||||||
"osuFriendlyName": [
|
{
|
||||||
{
|
"model_type": "PasspointDuple",
|
||||||
"model_type": "Hotspot20Duple",
|
"locale": "eng",
|
||||||
"locale": "en_CA",
|
"dupleIso3Language": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleName": "Example provider rogers",
|
||||||
"dupleName": "Example provider telus",
|
"defaultDupleSeparator": ":",
|
||||||
"defaultDupleSeparator": ":",
|
"asDuple": "eng:Example provider rogers"
|
||||||
"asDuple": "eng:Example provider telus"
|
},
|
||||||
},
|
{
|
||||||
{
|
"model_type": "PasspointDuple",
|
||||||
"model_type": "Hotspot20Duple",
|
"locale": "fra",
|
||||||
"locale": "fr_CA",
|
"dupleIso3Language": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleName": "Exemple de fournisseur rogers",
|
||||||
"dupleName": "Exemple de fournisseur telus",
|
"defaultDupleSeparator": ":",
|
||||||
"defaultDupleSeparator": ":",
|
"asDuple": "fra:Exemple de fournisseur rogers"
|
||||||
"asDuple": "fra:Exemple de fournisseur telus"
|
}
|
||||||
}
|
],
|
||||||
],
|
"osuNaiStandalone": "anonymous@rogers.com",
|
||||||
"osuNaiStandalone": "anonymous@telus.com",
|
"osuNaiShared": "anonymous@rogers.com",
|
||||||
"osuNaiShared": "anonymous@telus.com",
|
"osuMethodList": [
|
||||||
"osuMethodList": [
|
1,
|
||||||
1,
|
0
|
||||||
0
|
],
|
||||||
],
|
"osuServiceDescription": [
|
||||||
"osuServiceDescription": [
|
{
|
||||||
{
|
"model_type": "PasspointDuple",
|
||||||
"model_type": "Hotspot20Duple",
|
"locale": "eng",
|
||||||
"locale": "en_CA",
|
"dupleIso3Language": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleName": "Example services rogers",
|
||||||
"dupleName": "Example services telus",
|
"defaultDupleSeparator": ":",
|
||||||
"defaultDupleSeparator": ":",
|
"asDuple": "eng:Example services rogers"
|
||||||
"asDuple": "eng:Example services telus"
|
},
|
||||||
},
|
{
|
||||||
{
|
"model_type": "PasspointDuple",
|
||||||
"model_type": "Hotspot20Duple",
|
"locale": "fra",
|
||||||
"locale": "fr_CA",
|
"dupleIso3Language": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleName": "Exemples de services rogers",
|
||||||
"dupleName": "Exemples de services telus",
|
"defaultDupleSeparator": ":",
|
||||||
"defaultDupleSeparator": ":",
|
"asDuple": "fra:Exemples de services rogers"
|
||||||
"asDuple": "fra:Exemples de services telus"
|
}
|
||||||
}
|
],
|
||||||
],
|
"roamingOi": [
|
||||||
"profileType": "id_provider"
|
"BAA2D00100",
|
||||||
|
"BAA2D00000"
|
||||||
|
],
|
||||||
|
"profileType": "passpoint_osu_id_provider"
|
||||||
|
},
|
||||||
|
"createdTimestamp": 1611264539070,
|
||||||
|
"lastModifiedTimestamp": 1611264539070,
|
||||||
|
"childProfileIds": []
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182805660,
|
{
|
||||||
"lastModifiedTimestamp": 1602182805660,
|
"model_type": "Profile",
|
||||||
"childProfileIds": []
|
"id": 36,
|
||||||
}
|
"customerId": 2,
|
||||||
]
|
"profileType": "passpoint_osu_id_provider",
|
||||||
|
"name": "provider2-profile-2021-01-21T21:28:59.118Z",
|
||||||
|
"details": {
|
||||||
|
"model_type": "PasspointOsuProviderProfile",
|
||||||
|
"mccMncList": [
|
||||||
|
{
|
||||||
|
"model_type": "PasspointMccMnc",
|
||||||
|
"mcc": 302,
|
||||||
|
"mnc": 220,
|
||||||
|
"iso": "ca",
|
||||||
|
"country": "Canada",
|
||||||
|
"countryCode": 1,
|
||||||
|
"network": "Telus Mobility",
|
||||||
|
"mccMncPairing": "302,220"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"naiRealmList": [
|
||||||
|
{
|
||||||
|
"model_type": "PasspointNaiRealmInformation",
|
||||||
|
"naiRealms": [
|
||||||
|
"telus.com"
|
||||||
|
],
|
||||||
|
"encoding": 0,
|
||||||
|
"eapMethods": [
|
||||||
|
"EAP-TTLS with username/password",
|
||||||
|
"EAP-TLS with certificate"
|
||||||
|
],
|
||||||
|
"eapMap": {
|
||||||
|
"EAP-TTLS with username/password": [
|
||||||
|
"Credential Type:username/password",
|
||||||
|
"Non-EAP Inner Authentication Type:MSCHAPV2"
|
||||||
|
],
|
||||||
|
"EAP-TLS with certificate": [
|
||||||
|
"Credential Type:Certificate"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"osuIconList": [
|
||||||
|
{
|
||||||
|
"model_type": "PasspointOsuIcon",
|
||||||
|
"iconWidth": 32,
|
||||||
|
"iconHeight": 32,
|
||||||
|
"languageCode": "eng",
|
||||||
|
"iconLocale": "en_CA",
|
||||||
|
"iconName": "icon32eng",
|
||||||
|
"filePath": "/tmp/icon32eng.png",
|
||||||
|
"imageUrl": "https://localhost:9096/icon32eng.png",
|
||||||
|
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "PasspointOsuIcon",
|
||||||
|
"iconWidth": 32,
|
||||||
|
"iconHeight": 32,
|
||||||
|
"languageCode": "fra",
|
||||||
|
"iconLocale": "fr_CA",
|
||||||
|
"iconName": "icon32fra",
|
||||||
|
"filePath": "/tmp/icon32fra.png",
|
||||||
|
"imageUrl": "https://localhost:9096/icon32fra.png",
|
||||||
|
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "PasspointOsuIcon",
|
||||||
|
"iconWidth": 32,
|
||||||
|
"iconHeight": 32,
|
||||||
|
"languageCode": "eng",
|
||||||
|
"iconLocale": "en_US",
|
||||||
|
"iconName": "icon32usa",
|
||||||
|
"filePath": "/tmp/icon32usa.png",
|
||||||
|
"imageUrl": "https://localhost:9096/icon32usa.png",
|
||||||
|
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"osuServerUri": "https://example.com/osu/telus",
|
||||||
|
"osuFriendlyName": [
|
||||||
|
{
|
||||||
|
"model_type": "PasspointDuple",
|
||||||
|
"locale": "eng",
|
||||||
|
"dupleIso3Language": "eng",
|
||||||
|
"dupleName": "Example provider telus",
|
||||||
|
"defaultDupleSeparator": ":",
|
||||||
|
"asDuple": "eng:Example provider telus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "PasspointDuple",
|
||||||
|
"locale": "fra",
|
||||||
|
"dupleIso3Language": "fra",
|
||||||
|
"dupleName": "Exemple de fournisseur telus",
|
||||||
|
"defaultDupleSeparator": ":",
|
||||||
|
"asDuple": "fra:Exemple de fournisseur telus"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"osuNaiStandalone": "anonymous@telus.com",
|
||||||
|
"osuNaiShared": "anonymous@telus.com",
|
||||||
|
"osuMethodList": [
|
||||||
|
1,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"osuServiceDescription": [
|
||||||
|
{
|
||||||
|
"model_type": "PasspointDuple",
|
||||||
|
"locale": "eng",
|
||||||
|
"dupleIso3Language": "eng",
|
||||||
|
"dupleName": "Example services telus",
|
||||||
|
"defaultDupleSeparator": ":",
|
||||||
|
"asDuple": "eng:Example services telus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "PasspointDuple",
|
||||||
|
"locale": "fra",
|
||||||
|
"dupleIso3Language": "fra",
|
||||||
|
"dupleName": "Exemples de services telus",
|
||||||
|
"defaultDupleSeparator": ":",
|
||||||
|
"asDuple": "fra:Exemples de services telus"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"roamingOi": [
|
||||||
|
"004096",
|
||||||
|
"005014",
|
||||||
|
"F4F5E8F5F4"
|
||||||
|
],
|
||||||
|
"profileType": "passpoint_osu_id_provider"
|
||||||
|
},
|
||||||
|
"createdTimestamp": 1611264539131,
|
||||||
|
"lastModifiedTimestamp": 1611264539131,
|
||||||
|
"childProfileIds": []
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -1,298 +1,299 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"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",
|
||||||
"ApSsid",
|
"ApSsid",
|
||||||
"Client",
|
"Client",
|
||||||
"Channel",
|
"Channel",
|
||||||
"Neighbour"
|
"Neighbour"
|
||||||
],
|
],
|
||||||
"metricConfigParameterMap": {
|
"metricConfigParameterMap": {
|
||||||
"ApNode": [
|
"ApNode": [
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 120,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzL",
|
||||||
"radioType": "is5GHzU",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 120,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzU",
|
||||||
"radioType": "is5GHzL",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 120,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is2dot4GHz",
|
||||||
"radioType": "is2dot4GHz",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzU",
|
||||||
"radioType": "is5GHzL",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is2dot4GHz",
|
||||||
"radioType": "is2dot4GHz",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzL",
|
||||||
"radioType": "is5GHzU",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"ApSsid": [
|
"ApSsid": [
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is5GHzU",
|
||||||
"serviceMetricDataType": "ApSsid"
|
"serviceMetricDataType": "ApSsid"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"serviceMetricDataType": "ApSsid"
|
"serviceMetricDataType": "ApSsid"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is2dot4GHz",
|
||||||
"serviceMetricDataType": "ApSsid"
|
"serviceMetricDataType": "ApSsid"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"Client": [
|
"Client": [
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is5GHzU",
|
||||||
"serviceMetricDataType": "Client"
|
"serviceMetricDataType": "Client"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"serviceMetricDataType": "Client"
|
"serviceMetricDataType": "Client"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is2dot4GHz",
|
||||||
"serviceMetricDataType": "Client"
|
"serviceMetricDataType": "Client"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"Channel": [
|
"Channel": [
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzL",
|
||||||
"radioType": "is5GHzL",
|
"serviceMetricDataType": "Channel",
|
||||||
"serviceMetricDataType": "Channel"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"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": "is5GHzU",
|
||||||
"radioType": "is2dot4GHz",
|
"serviceMetricDataType": "Channel",
|
||||||
"serviceMetricDataType": "Channel"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"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": "is2dot4GHz",
|
||||||
"radioType": "is5GHzU",
|
"serviceMetricDataType": "Channel",
|
||||||
"serviceMetricDataType": "Channel"
|
"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",
|
||||||
"radioType": "is5GHzL",
|
"serviceMetricDataType": "Channel",
|
||||||
"serviceMetricDataType": "Channel"
|
"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": "is2dot4GHz",
|
||||||
"radioType": "is2dot4GHz",
|
"serviceMetricDataType": "Channel",
|
||||||
"serviceMetricDataType": "Channel"
|
"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": "is5GHzL",
|
||||||
"radioType": "is5GHzU",
|
"serviceMetricDataType": "Channel",
|
||||||
"serviceMetricDataType": "Channel"
|
"statsReportFormat": "RAW"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"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": "is5GHzU",
|
||||||
"radioType": "is5GHzL",
|
"serviceMetricDataType": "Neighbour",
|
||||||
"serviceMetricDataType": "Neighbour"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzL",
|
||||||
"radioType": "is2dot4GHz",
|
"serviceMetricDataType": "Neighbour",
|
||||||
"serviceMetricDataType": "Neighbour"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"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": "is2dot4GHz",
|
||||||
"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",
|
||||||
"radioType": "is5GHzU",
|
"serviceMetricDataType": "Neighbour",
|
||||||
"serviceMetricDataType": "Neighbour"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 120,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzL",
|
||||||
"radioType": "is5GHzL",
|
"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": "is2dot4GHz",
|
||||||
"radioType": "is2dot4GHz",
|
"serviceMetricDataType": "Neighbour",
|
||||||
"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": "PasspointDuple",
|
||||||
"model_type": "Hotspot20Duple",
|
"locale": "fra",
|
||||||
"locale": "en_CA",
|
"dupleIso3Language": "fra",
|
||||||
"dupleIso3Language": "eng",
|
"dupleName": "Nom de l'opérateur convivial par défaut",
|
||||||
"dupleName": "Default friendly operator name",
|
"defaultDupleSeparator": ":",
|
||||||
"defaultDupleSeparator": ":",
|
"asDuple": "fra:Nom de l'opérateur convivial par défaut"
|
||||||
"asDuple": "eng:Default friendly operator name"
|
},
|
||||||
},
|
{
|
||||||
{
|
"model_type": "PasspointDuple",
|
||||||
"model_type": "Hotspot20Duple",
|
"locale": "eng",
|
||||||
"locale": "fr_CA",
|
"dupleIso3Language": "eng",
|
||||||
"dupleIso3Language": "fra",
|
"dupleName": "Default friendly passpoint_operator name",
|
||||||
"dupleName": "Nom de l'opérateur convivial par défaut",
|
"defaultDupleSeparator": ":",
|
||||||
"defaultDupleSeparator": ":",
|
"asDuple": "eng:Default friendly passpoint_operator name"
|
||||||
"asDuple": "fra:Nom de l'opérateur convivial par défaut"
|
}
|
||||||
}
|
],
|
||||||
],
|
"domainNameList": [
|
||||||
"profileType": "operator"
|
"bell.ca",
|
||||||
},
|
"telus.com",
|
||||||
"createdTimestamp": 1602113058719,
|
"rogers.com"
|
||||||
"lastModifiedTimestamp": 1602113058719,
|
],
|
||||||
"childProfileIds": []
|
"profileType": "passpoint_operator"
|
||||||
}
|
},
|
||||||
]
|
"createdTimestamp": 1611264539004,
|
||||||
|
"lastModifiedTimestamp": 1611264539004,
|
||||||
|
"childProfileIds": []
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -1,34 +1,24 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "radius",
|
"profileType": "radius",
|
||||||
"name": "Radius-Profile",
|
"name": "Radius-Profile",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "RadiusProfile",
|
"model_type": "RadiusProfile",
|
||||||
"subnetConfiguration": null,
|
"primaryRadiusAuthServer": {
|
||||||
"serviceRegionMap": {
|
"model_type": "RadiusServer",
|
||||||
"Ottawa": {
|
"ipAddress": "192.168.0.1",
|
||||||
"model_type": "RadiusServiceRegion",
|
"secret": "testing123",
|
||||||
"serverMap": {
|
"port": 1812,
|
||||||
"Radius-Profile": [
|
"timeout": null
|
||||||
{
|
},
|
||||||
"model_type": "RadiusServer",
|
"profileType": "radius"
|
||||||
"ipAddress": "192.168.0.1",
|
},
|
||||||
"secret": "testing123",
|
"createdTimestamp": 1611262628767,
|
||||||
"authPort": 1812,
|
"lastModifiedTimestamp": 1611262628767,
|
||||||
"timeout": null
|
"childProfileIds": [
|
||||||
}
|
]
|
||||||
]
|
}
|
||||||
},
|
]
|
||||||
"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,134 +1,75 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 5,
|
"id": 2,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "ssid",
|
"profileType": "ssid",
|
||||||
"name": "TipWlan-cloud-hotspot-access",
|
"name": "TipWlan-cloud-3-radios",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "SsidConfiguration",
|
"model_type": "SsidConfiguration",
|
||||||
"ssid": "TipWlan-cloud-hotspot-access",
|
"ssid": "TipWlan-cloud-3-radios",
|
||||||
"appliedRadios": [
|
"appliedRadios": [
|
||||||
"is5GHzU",
|
"is5GHzU",
|
||||||
"is5GHzL",
|
"is2dot4GHz",
|
||||||
"is2dot4GHz"
|
"is5GHzL"
|
||||||
],
|
],
|
||||||
"ssidAdminState": "enabled",
|
"ssidAdminState": "enabled",
|
||||||
"secureMode": "wpa2PSK",
|
"secureMode": "wpa2OnlyPSK",
|
||||||
"vlanId": 1,
|
"vlanId": 1,
|
||||||
"keyStr": "testing123",
|
"keyStr": "openwifi",
|
||||||
"broadcastSsid": "enabled",
|
"broadcastSsid": "enabled",
|
||||||
"keyRefresh": 0,
|
"keyRefresh": 0,
|
||||||
"noLocalSubnets": false,
|
"noLocalSubnets": false,
|
||||||
"radiusServiceName": null,
|
"radiusServiceId": 0,
|
||||||
"captivePortalId": null,
|
"radiusAcountingServiceInterval": 60,
|
||||||
"bandwidthLimitDown": 0,
|
"captivePortalId": null,
|
||||||
"bandwidthLimitUp": 0,
|
"bandwidthLimitDown": 0,
|
||||||
"clientBandwidthLimitDown": 0,
|
"bandwidthLimitUp": 0,
|
||||||
"clientBandwidthLimitUp": 0,
|
"clientBandwidthLimitDown": 0,
|
||||||
"videoTrafficOnly": false,
|
"clientBandwidthLimitUp": 0,
|
||||||
"radioBasedConfigs": {
|
"videoTrafficOnly": false,
|
||||||
"is5GHz": {
|
"radioBasedConfigs": {
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"is5GHzU": {
|
||||||
"enable80211r": null,
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211k": null,
|
"enable80211r": null,
|
||||||
"enable80211v": null
|
"enable80211k": null,
|
||||||
},
|
"enable80211v": null
|
||||||
"is2dot4GHz": {
|
},
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"is2dot4GHz": {
|
||||||
"enable80211r": null,
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211k": null,
|
"enable80211r": null,
|
||||||
"enable80211v": null
|
"enable80211k": null,
|
||||||
},
|
"enable80211v": null
|
||||||
"is5GHzU": {
|
},
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"is5GHz": {
|
||||||
"enable80211r": null,
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211k": null,
|
"enable80211r": null,
|
||||||
"enable80211v": null
|
"enable80211k": null,
|
||||||
},
|
"enable80211v": null
|
||||||
"is5GHzL": {
|
},
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"is5GHzL": {
|
||||||
"enable80211r": null,
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211k": null,
|
"enable80211r": null,
|
||||||
"enable80211v": null
|
"enable80211k": null,
|
||||||
}
|
"enable80211v": null
|
||||||
},
|
}
|
||||||
"bonjourGatewayProfileId": null,
|
},
|
||||||
"enable80211w": null,
|
"bonjourGatewayProfileId": null,
|
||||||
"wepConfig": null,
|
"enable80211w": null,
|
||||||
"forwardMode": null,
|
"wepConfig": null,
|
||||||
"profileType": "ssid"
|
"forwardMode": "BRIDGE",
|
||||||
},
|
"profileType": "ssid",
|
||||||
"createdTimestamp": 1602113058718,
|
"radiusClientConfiguration": {
|
||||||
"lastModifiedTimestamp": 1602113059547,
|
"model_type": "RadiusNasConfiguration",
|
||||||
"childProfileIds": [
|
"nasClientId": "DEFAULT",
|
||||||
10
|
"nasClientIp": "WAN_IP",
|
||||||
]
|
"userDefinedNasId": null,
|
||||||
},
|
"userDefinedNasIp": null,
|
||||||
{
|
"operatorId": null
|
||||||
"model_type": "Profile",
|
}
|
||||||
"id": 11,
|
},
|
||||||
"customerId": 2,
|
"createdTimestamp": 1612285248638,
|
||||||
"profileType": "ssid",
|
"lastModifiedTimestamp": 1612285248638,
|
||||||
"name": "TipWlan-cloud-3-radios",
|
"childProfileIds": []
|
||||||
"details": {
|
}
|
||||||
"model_type": "SsidConfiguration",
|
|
||||||
"ssid": "TipWlan-cloud-3-radios",
|
|
||||||
"appliedRadios": [
|
|
||||||
"is5GHzL",
|
|
||||||
"is2dot4GHz",
|
|
||||||
"is5GHzU"
|
|
||||||
],
|
|
||||||
"ssidAdminState": "enabled",
|
|
||||||
"secureMode": "open",
|
|
||||||
"vlanId": 1,
|
|
||||||
"keyStr": null,
|
|
||||||
"broadcastSsid": "enabled",
|
|
||||||
"keyRefresh": 0,
|
|
||||||
"noLocalSubnets": false,
|
|
||||||
"radiusServiceName": null,
|
|
||||||
"captivePortalId": null,
|
|
||||||
"bandwidthLimitDown": 0,
|
|
||||||
"bandwidthLimitUp": 0,
|
|
||||||
"clientBandwidthLimitDown": 0,
|
|
||||||
"clientBandwidthLimitUp": 0,
|
|
||||||
"videoTrafficOnly": false,
|
|
||||||
"radioBasedConfigs": {
|
|
||||||
"is5GHz": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is2dot4GHz": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is5GHzU": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is5GHzL": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bonjourGatewayProfileId": null,
|
|
||||||
"enable80211w": null,
|
|
||||||
"wepConfig": null,
|
|
||||||
"forwardMode": null,
|
|
||||||
"profileType": "ssid"
|
|
||||||
},
|
|
||||||
"createdTimestamp": 1602183994766,
|
|
||||||
"lastModifiedTimestamp": 1602183994766,
|
|
||||||
"childProfileIds": [
|
|
||||||
10
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,42 +1,42 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"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": ":",
|
||||||
"venueUrl": "http://www.example.com/info-fra",
|
"venueUrl": "http://www.example.com/info-fra",
|
||||||
"asDuple": "fra:Exemple de lieu"
|
"asDuple": "fra:Exemple de lieu"
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "VenueName",
|
|
||||||
"locale": "en_CA",
|
|
||||||
"dupleIso3Language": "eng",
|
|
||||||
"dupleName": "Example venue",
|
|
||||||
"defaultDupleSeparator": ":",
|
|
||||||
"venueUrl": "http://www.example.com/info-eng",
|
|
||||||
"asDuple": "eng:Example venue"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"venueTypeAssignment": {
|
|
||||||
"model_type": "VenueTypeAssignment",
|
|
||||||
"venueDescription": "Research and Development Facility",
|
|
||||||
"venueGroupId": 2,
|
|
||||||
"venueTypeId": 8
|
|
||||||
},
|
},
|
||||||
"profileType": "venue"
|
{
|
||||||
|
"model_type": "PasspointVenueName",
|
||||||
|
"locale": "eng",
|
||||||
|
"dupleIso3Language": "eng",
|
||||||
|
"dupleName": "Example passpoint_venue",
|
||||||
|
"defaultDupleSeparator": ":",
|
||||||
|
"venueUrl": "http://www.example.com/info-eng",
|
||||||
|
"asDuple": "eng:Example passpoint_venue"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"venueTypeAssignment": {
|
||||||
|
"model_type": "PasspointVenueTypeAssignment",
|
||||||
|
"venueDescription": "Research and Development Facility",
|
||||||
|
"venueGroupId": 2,
|
||||||
|
"venueTypeId": 8
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602113058725,
|
"profileType": "passpoint_venue"
|
||||||
"lastModifiedTimestamp": 1602113058725,
|
},
|
||||||
"childProfileIds": []
|
"createdTimestamp": 1611264538947,
|
||||||
}
|
"lastModifiedTimestamp": 1611264538947,
|
||||||
|
"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,224 +1,472 @@
|
|||||||
{
|
{
|
||||||
"model_type": "Equipment",
|
"model_type": "Equipment",
|
||||||
"id": 51,
|
"id": 1,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileId": 5,
|
"profileId": 8,
|
||||||
"locationId": 8,
|
"locationId": 8,
|
||||||
"equipmentType": "AP",
|
|
||||||
"inventoryId": "Test_Client_21P10C68818122",
|
|
||||||
"name": "Test_Client_21P10C68818122",
|
|
||||||
"details": {
|
|
||||||
"model_type": "ApElementConfiguration",
|
|
||||||
"equipmentModel": "EA8300-CA",
|
|
||||||
"elementConfigVersion": "AP-V1",
|
|
||||||
"equipmentType": "AP",
|
"equipmentType": "AP",
|
||||||
"deviceMode": "standaloneAP",
|
"inventoryId": "Open_AP_21P10C68818122",
|
||||||
"gettingIP": "dhcp",
|
"name": "Open_AP_21P10C68818122",
|
||||||
"staticIP": null,
|
"details": {
|
||||||
"staticIpMaskCidr": null,
|
"model_type": "ApElementConfiguration",
|
||||||
"staticIpGw": null,
|
"equipmentModel": "EA8300-CA",
|
||||||
"gettingDNS": "dhcp",
|
"elementConfigVersion": "AP-V1",
|
||||||
"staticDnsIp1": null,
|
"equipmentType": "AP",
|
||||||
"staticDnsIp2": null,
|
"deviceMode": "standaloneAP",
|
||||||
"peerInfoList": [],
|
"gettingIP": "dhcp",
|
||||||
"deviceName": "Default Device Name",
|
"staticIP": null,
|
||||||
"locationData": null,
|
"staticIpMaskCidr": null,
|
||||||
"locallyConfiguredMgmtVlan": 0,
|
"staticIpGw": null,
|
||||||
"locallyConfigured": false,
|
"gettingDNS": "dhcp",
|
||||||
"deploymentType": "CEILING",
|
"staticDnsIp1": null,
|
||||||
"syntheticClientEnabled": null,
|
"staticDnsIp2": null,
|
||||||
"frameReportThrottleEnabled": true,
|
"peerInfoList": [],
|
||||||
"antennaType": "OMNI",
|
"deviceName": "Open_AP_21P10C68818122",
|
||||||
"costSavingEventsEnabled": true,
|
"locationData": null,
|
||||||
"forwardMode": "BRIDGE",
|
"locallyConfiguredMgmtVlan": 0,
|
||||||
"radioMap": {
|
"locallyConfigured": false,
|
||||||
"is2dot4GHz": {
|
"deploymentType": "CEILING",
|
||||||
"model_type": "ElementRadioConfiguration",
|
"syntheticClientEnabled": null,
|
||||||
"radioType": "is2dot4GHz",
|
"frameReportThrottleEnabled": true,
|
||||||
"channelNumber": 6,
|
"antennaType": "OMNI",
|
||||||
"manualChannelNumber": 6,
|
"costSavingEventsEnabled": true,
|
||||||
"backupChannelNumber": 11,
|
"forwardMode": "BRIDGE",
|
||||||
"bannedChannels": [],
|
"radioMap": {
|
||||||
"allowedChannels": [],
|
"is5GHzU": {
|
||||||
"rxCellSizeDb": {
|
"model_type": "ElementRadioConfiguration",
|
||||||
"model_type": "SourceSelectionValue",
|
"radioType": "is5GHzU",
|
||||||
"source": "auto",
|
"channelNumber": 149,
|
||||||
"value": -90
|
"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": {
|
||||||
|
"model_type": "ElementRadioConfiguration",
|
||||||
|
"radioType": "is2dot4GHz",
|
||||||
|
"channelNumber": 6,
|
||||||
|
"manualChannelNumber": 6,
|
||||||
|
"backupChannelNumber": 11,
|
||||||
|
"manualBackupChannelNumber": 11,
|
||||||
|
"rxCellSizeDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"probeResponseThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"clientDisconnectThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"eirpTxPower": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": 18
|
||||||
|
},
|
||||||
|
"perimeterDetectionEnabled": true,
|
||||||
|
"bestAPSteerType": "both",
|
||||||
|
"deauthAttackDetection": null,
|
||||||
|
"allowedChannelsPowerLevels": [
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 1,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 2,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 3,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 4,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 5,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 6,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 7,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 8,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 9,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 10,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 11,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"is5GHzL": {
|
||||||
|
"model_type": "ElementRadioConfiguration",
|
||||||
|
"radioType": "is5GHzL",
|
||||||
|
"channelNumber": 36,
|
||||||
|
"manualChannelNumber": 36,
|
||||||
|
"backupChannelNumber": 44,
|
||||||
|
"manualBackupChannelNumber": 44,
|
||||||
|
"rxCellSizeDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"probeResponseThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"clientDisconnectThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"eirpTxPower": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": 18
|
||||||
|
},
|
||||||
|
"perimeterDetectionEnabled": true,
|
||||||
|
"bestAPSteerType": "both",
|
||||||
|
"deauthAttackDetection": null,
|
||||||
|
"allowedChannelsPowerLevels": [
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 52,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 36,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 56,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 40,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 60,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 44,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 64,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 48,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"probeResponseThresholdDb": {
|
"advancedRadioMap": {
|
||||||
"model_type": "SourceSelectionValue",
|
"is2dot4GHz": {
|
||||||
"source": "auto",
|
"model_type": "RadioConfiguration",
|
||||||
"value": -90
|
"radioType": "is2dot4GHz",
|
||||||
},
|
"radioAdminState": "enabled",
|
||||||
"clientDisconnectThresholdDb": {
|
"fragmentationThresholdBytes": 2346,
|
||||||
"model_type": "SourceSelectionValue",
|
"uapsdState": "enabled",
|
||||||
"source": "auto",
|
"stationIsolation": "disabled",
|
||||||
"value": -90
|
"multicastRate": {
|
||||||
},
|
"model_type": "SourceSelectionMulticast",
|
||||||
"eirpTxPower": {
|
"source": "profile",
|
||||||
"model_type": "SourceSelectionValue",
|
"value": "auto"
|
||||||
"source": "auto",
|
},
|
||||||
"value": 32
|
"managementRate": {
|
||||||
},
|
"model_type": "SourceSelectionManagement",
|
||||||
"perimeterDetectionEnabled": true,
|
"source": "profile",
|
||||||
"bestAPSteerType": "both",
|
"value": "auto"
|
||||||
"deauthAttackDetection": null,
|
},
|
||||||
"allowedChannelsPowerLevels": [],
|
"bestApSettings": {
|
||||||
"activeChannel": 6
|
"model_type": "SourceSelectionSteering",
|
||||||
},
|
"source": "manual",
|
||||||
"is5GHzU": {
|
"value": {
|
||||||
"model_type": "ElementRadioConfiguration",
|
"model_type": "RadioBestApSettings",
|
||||||
"radioType": "is5GHzU",
|
"mlComputed": true,
|
||||||
"channelNumber": 149,
|
"dropInSnrPercentage": 20,
|
||||||
"manualChannelNumber": 149,
|
"minLoadFactor": 50
|
||||||
"backupChannelNumber": 154,
|
}
|
||||||
"bannedChannels": [],
|
},
|
||||||
"allowedChannels": [],
|
"legacyBSSRate": "enabled",
|
||||||
"rxCellSizeDb": {
|
"dtimPeriod": 2,
|
||||||
"model_type": "SourceSelectionValue",
|
"deauthAttackDetection": null
|
||||||
"source": "auto",
|
},
|
||||||
"value": -90
|
"is5GHzU": {
|
||||||
},
|
"model_type": "RadioConfiguration",
|
||||||
"probeResponseThresholdDb": {
|
"radioType": "is5GHzU",
|
||||||
"model_type": "SourceSelectionValue",
|
"radioAdminState": "enabled",
|
||||||
"source": "auto",
|
"fragmentationThresholdBytes": 2346,
|
||||||
"value": -90
|
"uapsdState": "enabled",
|
||||||
},
|
"stationIsolation": "disabled",
|
||||||
"clientDisconnectThresholdDb": {
|
"multicastRate": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionMulticast",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"eirpTxPower": {
|
"managementRate": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionManagement",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": 32
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"perimeterDetectionEnabled": true,
|
"bestApSettings": {
|
||||||
"bestAPSteerType": "both",
|
"model_type": "SourceSelectionSteering",
|
||||||
"deauthAttackDetection": null,
|
"source": "manual",
|
||||||
"allowedChannelsPowerLevels": [],
|
"value": {
|
||||||
"activeChannel": 149
|
"model_type": "RadioBestApSettings",
|
||||||
},
|
"mlComputed": true,
|
||||||
"is5GHzL": {
|
"dropInSnrPercentage": 30,
|
||||||
"model_type": "ElementRadioConfiguration",
|
"minLoadFactor": 40
|
||||||
"radioType": "is5GHzL",
|
}
|
||||||
"channelNumber": 36,
|
},
|
||||||
"manualChannelNumber": 36,
|
"legacyBSSRate": "enabled",
|
||||||
"backupChannelNumber": 44,
|
"dtimPeriod": 2,
|
||||||
"bannedChannels": [],
|
"deauthAttackDetection": null
|
||||||
"allowedChannels": [],
|
},
|
||||||
"rxCellSizeDb": {
|
"is5GHzL": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "RadioConfiguration",
|
||||||
"source": "auto",
|
"radioType": "is5GHzL",
|
||||||
"value": -90
|
"radioAdminState": "enabled",
|
||||||
},
|
"fragmentationThresholdBytes": 2346,
|
||||||
"probeResponseThresholdDb": {
|
"uapsdState": "enabled",
|
||||||
"model_type": "SourceSelectionValue",
|
"stationIsolation": "disabled",
|
||||||
"source": "auto",
|
"multicastRate": {
|
||||||
"value": -90
|
"model_type": "SourceSelectionMulticast",
|
||||||
},
|
"source": "profile",
|
||||||
"clientDisconnectThresholdDb": {
|
"value": "auto"
|
||||||
"model_type": "SourceSelectionValue",
|
},
|
||||||
"source": "auto",
|
"managementRate": {
|
||||||
"value": -90
|
"model_type": "SourceSelectionManagement",
|
||||||
},
|
"source": "profile",
|
||||||
"eirpTxPower": {
|
"value": "auto"
|
||||||
"model_type": "SourceSelectionValue",
|
},
|
||||||
"source": "auto",
|
"bestApSettings": {
|
||||||
"value": 32
|
"model_type": "SourceSelectionSteering",
|
||||||
},
|
"source": "manual",
|
||||||
"perimeterDetectionEnabled": true,
|
"value": {
|
||||||
"bestAPSteerType": "both",
|
"model_type": "RadioBestApSettings",
|
||||||
"deauthAttackDetection": null,
|
"mlComputed": true,
|
||||||
"allowedChannelsPowerLevels": [],
|
"dropInSnrPercentage": 30,
|
||||||
"activeChannel": 36
|
"minLoadFactor": 40
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"legacyBSSRate": "enabled",
|
||||||
|
"dtimPeriod": 2,
|
||||||
|
"deauthAttackDetection": null
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"advancedRadioMap": {
|
"latitude": null,
|
||||||
"is2dot4GHz": {
|
"longitude": null,
|
||||||
"model_type": "RadioConfiguration",
|
"baseMacAddress": {
|
||||||
"radioType": "is2dot4GHz",
|
"model_type": "MacAddress",
|
||||||
"radioAdminState": "enabled",
|
"address": "JPWi7y5T",
|
||||||
"fragmentationThresholdBytes": 2346,
|
"addressAsString": "24:f5:a2:ef:2e:53"
|
||||||
"wmmState": "enabled",
|
},
|
||||||
"uapsdState": "enabled",
|
"serial": "21P10C68818122",
|
||||||
"stationIsolation": "disabled",
|
"createdTimestamp": 1612285288821,
|
||||||
"managementRate": {
|
"lastModifiedTimestamp": 1612285293922
|
||||||
"model_type": "SourceSelectionManagement",
|
|
||||||
"source": "auto",
|
|
||||||
"value": "auto"
|
|
||||||
},
|
|
||||||
"bestApSettings": {
|
|
||||||
"model_type": "SourceSelectionSteering",
|
|
||||||
"source": "auto",
|
|
||||||
"value": {
|
|
||||||
"model_type": "RadioBestApSettings",
|
|
||||||
"mlComputed": true,
|
|
||||||
"dropInSnrPercentage": 30,
|
|
||||||
"minLoadFactor": 40
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"legacyBSSRate": "enabled",
|
|
||||||
"deauthAttackDetection": null
|
|
||||||
},
|
|
||||||
"is5GHzU": {
|
|
||||||
"model_type": "RadioConfiguration",
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"radioAdminState": "enabled",
|
|
||||||
"fragmentationThresholdBytes": 2346,
|
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
|
||||||
"stationIsolation": "disabled",
|
|
||||||
"managementRate": {
|
|
||||||
"model_type": "SourceSelectionManagement",
|
|
||||||
"source": "auto",
|
|
||||||
"value": "auto"
|
|
||||||
},
|
|
||||||
"bestApSettings": {
|
|
||||||
"model_type": "SourceSelectionSteering",
|
|
||||||
"source": "auto",
|
|
||||||
"value": {
|
|
||||||
"model_type": "RadioBestApSettings",
|
|
||||||
"mlComputed": true,
|
|
||||||
"dropInSnrPercentage": 30,
|
|
||||||
"minLoadFactor": 40
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"legacyBSSRate": "enabled",
|
|
||||||
"deauthAttackDetection": null
|
|
||||||
},
|
|
||||||
"is5GHzL": {
|
|
||||||
"model_type": "RadioConfiguration",
|
|
||||||
"radioType": "is5GHzL",
|
|
||||||
"radioAdminState": "enabled",
|
|
||||||
"fragmentationThresholdBytes": 2346,
|
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
|
||||||
"stationIsolation": "disabled",
|
|
||||||
"managementRate": {
|
|
||||||
"model_type": "SourceSelectionManagement",
|
|
||||||
"source": "auto",
|
|
||||||
"value": "auto"
|
|
||||||
},
|
|
||||||
"bestApSettings": {
|
|
||||||
"model_type": "SourceSelectionSteering",
|
|
||||||
"source": "auto",
|
|
||||||
"value": {
|
|
||||||
"model_type": "RadioBestApSettings",
|
|
||||||
"mlComputed": true,
|
|
||||||
"dropInSnrPercentage": 30,
|
|
||||||
"minLoadFactor": 40
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"legacyBSSRate": "enabled",
|
|
||||||
"deauthAttackDetection": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"latitude": null,
|
|
||||||
"longitude": null,
|
|
||||||
"serial": "21P10C68818122",
|
|
||||||
"createdTimestamp": 1591653239821,
|
|
||||||
"lastModifiedTimestamp": 1591653241398
|
|
||||||
}
|
}
|
||||||
@@ -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",
|
"MONDAY": {
|
||||||
"lastBusySnapshot" : 0
|
"model_type": "LocationActivityDetails",
|
||||||
},
|
"busyTime": "13:30",
|
||||||
"MONDAY" : {
|
"quietTime": "3:00",
|
||||||
"model_type" : "LocationActivityDetails",
|
"timezone": "US/Eastern"
|
||||||
"busyTime" : "13:30",
|
},
|
||||||
"quietTime" : "3:30",
|
"TUESDAY": {
|
||||||
"timezone" : "US/Eastern",
|
"model_type": "LocationActivityDetails",
|
||||||
"lastBusySnapshot" : 0
|
"busyTime": "13:30",
|
||||||
},
|
"quietTime": "3:00",
|
||||||
"TUESDAY" : {
|
"timezone": "US/Eastern"
|
||||||
"model_type" : "LocationActivityDetails",
|
},
|
||||||
"busyTime" : "13:30",
|
"WEDNESDAY": {
|
||||||
"quietTime" : "3:30",
|
"model_type": "LocationActivityDetails",
|
||||||
"timezone" : "US/Eastern",
|
"busyTime": "13:30",
|
||||||
"lastBusySnapshot" : 0
|
"quietTime": "3:00",
|
||||||
},
|
"timezone": "US/Eastern"
|
||||||
"WEDNESDAY" : {
|
},
|
||||||
"model_type" : "LocationActivityDetails",
|
"THURSDAY": {
|
||||||
"busyTime" : "13:30",
|
"model_type": "LocationActivityDetails",
|
||||||
"quietTime" : "3:30",
|
"busyTime": "13:30",
|
||||||
"timezone" : "US/Eastern",
|
"quietTime": "3:00",
|
||||||
"lastBusySnapshot" : 0
|
"timezone": "US/Eastern"
|
||||||
},
|
},
|
||||||
"THURSDAY" : {
|
"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": {
|
||||||
"FRIDAY" : {
|
"model_type": "LocationActivityDetails",
|
||||||
"model_type" : "LocationActivityDetails",
|
"busyTime": "13:30",
|
||||||
"busyTime" : "13:30",
|
"quietTime": "3:00",
|
||||||
"quietTime" : "3:30",
|
"timezone": "US/Eastern"
|
||||||
"timezone" : "US/Eastern",
|
}
|
||||||
"lastBusySnapshot" : 0
|
},
|
||||||
},
|
"maintenanceWindow": null,
|
||||||
"SATURDAY" : {
|
"rrmEnabled": true,
|
||||||
"model_type" : "LocationActivityDetails",
|
"timezone": "US/Eastern"
|
||||||
"busyTime" : "13:30",
|
},
|
||||||
"quietTime" : "3:30",
|
"createdTimestamp": 1612285243534,
|
||||||
"timezone" : "US/Eastern",
|
"lastModifiedTimestamp": 1612285243534
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"createdTimestamp" : 1590607043540,
|
|
||||||
"lastModifiedTimestamp" : 1590607043540
|
|
||||||
}
|
}
|
||||||
@@ -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,
|
"model_type": "ManagedFileInfo",
|
||||||
"walledGardenAllowlist": [],
|
"md5checksum": null,
|
||||||
"usernamePasswordFile": {
|
"lastModifiedTimestamp": null,
|
||||||
"model_type": "ManagedFileInfo",
|
"apExportUrl": "/filestore/tip-logo-mobile",
|
||||||
"md5checksum": null,
|
"fileCategory": "CaptivePortalLogo",
|
||||||
"lastModifiedTimestamp": null,
|
"fileType": "PNG",
|
||||||
"apExportUrl": "userList",
|
"altSlot": false
|
||||||
"fileCategory": "UsernamePasswordList",
|
},
|
||||||
"fileType": "TEXT",
|
"backgroundFile": {
|
||||||
"altSlot": true
|
"model_type": "ManagedFileInfo",
|
||||||
},
|
"md5checksum": null,
|
||||||
"authenticationType": "guest",
|
"lastModifiedTimestamp": null,
|
||||||
"radiusAuthMethod": "CHAP",
|
"apExportUrl": "/filestore/tip-logo",
|
||||||
"maxUsersWithSameCredentials": 42,
|
"fileCategory": "CaptivePortalBackground",
|
||||||
"externalPolicyFile": null,
|
"fileType": "PNG",
|
||||||
"backgroundPosition": "left_top",
|
"altSlot": false
|
||||||
"backgroundRepeat": "no_repeat",
|
},
|
||||||
"radiusServiceName": null,
|
"walledGardenAllowlist": [
|
||||||
"expiryType": "unlimited",
|
],
|
||||||
"userList": [
|
"usernamePasswordFile": null,
|
||||||
{
|
"authenticationType": "guest",
|
||||||
"model_type": "TimedAccessUserRecord",
|
"radiusAuthMethod": "CHAP",
|
||||||
"username": "customer",
|
"maxUsersWithSameCredentials": 3,
|
||||||
"password": "testing123",
|
"externalPolicyFile": null,
|
||||||
"activationTime": 1602183994956,
|
"backgroundPosition": "left_top",
|
||||||
"expirationTime": 1602212794956,
|
"backgroundRepeat": "no_repeat",
|
||||||
"numDevices": 1,
|
"radiusServiceId": 0,
|
||||||
"userDetails": {
|
"expiryType": "time_limited",
|
||||||
"model_type": "TimedAccessUserDetails",
|
"userList": [
|
||||||
"firstName": "Pac",
|
],
|
||||||
"lastName": "Man",
|
"macAllowList": [
|
||||||
"passwordNeedsReset": false
|
],
|
||||||
},
|
"profileType": "captive_portal"
|
||||||
"userMacAddresses": [
|
|
||||||
{
|
|
||||||
"model_type": "MacAddress",
|
|
||||||
"address": "fKtg5upO",
|
|
||||||
"addressAsString": "7c:ab:60:e6:ea:4e"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lastModifiedTimestamp": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "TimedAccessUserRecord",
|
|
||||||
"username": "customer",
|
|
||||||
"password": "testing123",
|
|
||||||
"activationTime": 1602183994957,
|
|
||||||
"expirationTime": 1602187594957,
|
|
||||||
"numDevices": 0,
|
|
||||||
"userDetails": {
|
|
||||||
"model_type": "TimedAccessUserDetails",
|
|
||||||
"firstName": "Q",
|
|
||||||
"lastName": "Bert",
|
|
||||||
"passwordNeedsReset": false
|
|
||||||
},
|
|
||||||
"userMacAddresses": [
|
|
||||||
{
|
|
||||||
"model_type": "MacAddress",
|
|
||||||
"address": "wJrQdqho",
|
|
||||||
"addressAsString": "c0:9a:d0:76:a8:68"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lastModifiedTimestamp": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "TimedAccessUserRecord",
|
|
||||||
"username": "customer2",
|
|
||||||
"password": "testing1234",
|
|
||||||
"activationTime": 1602183994957,
|
|
||||||
"expirationTime": 1602788794957,
|
|
||||||
"numDevices": 1,
|
|
||||||
"userDetails": {
|
|
||||||
"model_type": "TimedAccessUserDetails",
|
|
||||||
"firstName": "Duke",
|
|
||||||
"lastName": "Nukem",
|
|
||||||
"passwordNeedsReset": false
|
|
||||||
},
|
|
||||||
"userMacAddresses": [
|
|
||||||
{
|
|
||||||
"model_type": "MacAddress",
|
|
||||||
"address": "fKtg5upN",
|
|
||||||
"addressAsString": "7c:ab:60:e6:ea:4d"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lastModifiedTimestamp": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "TimedAccessUserRecord",
|
|
||||||
"username": "customer2",
|
|
||||||
"password": "testing1234",
|
|
||||||
"activationTime": 1602183994957,
|
|
||||||
"expirationTime": 1602270394957,
|
|
||||||
"numDevices": 0,
|
|
||||||
"userDetails": {
|
|
||||||
"model_type": "TimedAccessUserDetails",
|
|
||||||
"firstName": "Missile",
|
|
||||||
"lastName": "Commander",
|
|
||||||
"passwordNeedsReset": false
|
|
||||||
},
|
|
||||||
"userMacAddresses": [
|
|
||||||
{
|
|
||||||
"model_type": "MacAddress",
|
|
||||||
"address": "wJrQdqhj",
|
|
||||||
"addressAsString": "c0:9a:d0:76:a8:63"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lastModifiedTimestamp": 0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"macAllowList": [],
|
|
||||||
"profileType": "captive_portal"
|
|
||||||
},
|
},
|
||||||
"createdTimestamp": 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,256 +1,263 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"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": "PasspointMccMnc",
|
||||||
"model_type": "MccMnc",
|
"mcc": 302,
|
||||||
"mcc": 302,
|
"mnc": 720,
|
||||||
"mnc": 720,
|
"iso": "ca",
|
||||||
"iso": "ca",
|
"country": "Canada",
|
||||||
"country": "Canada",
|
"countryCode": 1,
|
||||||
"countryCode": 1,
|
"network": "Rogers AT&T Wireless",
|
||||||
"network": "Rogers AT&T Wireless",
|
"mccMncPairing": "302,720"
|
||||||
"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"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
],
|
||||||
],
|
"naiRealmList": [
|
||||||
"osuIconList": [
|
{
|
||||||
{
|
"model_type": "PasspointNaiRealmInformation",
|
||||||
"model_type": "OsuIcon",
|
"naiRealms": [
|
||||||
"iconWidth": 32,
|
"rogers.com"
|
||||||
"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": [
|
"encoding": 0,
|
||||||
"Credential Type:Certificate"
|
"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": [
|
||||||
"osuIconList": [
|
{
|
||||||
{
|
"model_type": "PasspointOsuIcon",
|
||||||
"model_type": "OsuIcon",
|
"iconWidth": 32,
|
||||||
"iconWidth": 32,
|
"iconHeight": 32,
|
||||||
"iconHeight": 32,
|
"languageCode": "eng",
|
||||||
"languageCode": "eng",
|
"iconLocale": "en_CA",
|
||||||
"iconLocale": "en_CA",
|
"iconName": "icon32eng",
|
||||||
"iconName": "icon32eng",
|
"filePath": "/tmp/icon32eng.png",
|
||||||
"filePath": "/tmp/icon32eng.png",
|
"imageUrl": "https://localhost:9096/icon32eng.png",
|
||||||
"imageUrl": "https://localhost:9096/icon32eng.png",
|
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
||||||
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
},
|
||||||
},
|
{
|
||||||
{
|
"model_type": "PasspointOsuIcon",
|
||||||
"model_type": "OsuIcon",
|
"iconWidth": 32,
|
||||||
"iconWidth": 32,
|
"iconHeight": 32,
|
||||||
"iconHeight": 32,
|
"languageCode": "fra",
|
||||||
"languageCode": "fra",
|
"iconLocale": "fr_CA",
|
||||||
"iconLocale": "fr_CA",
|
"iconName": "icon32fra",
|
||||||
"iconName": "icon32fra",
|
"filePath": "/tmp/icon32fra.png",
|
||||||
"filePath": "/tmp/icon32fra.png",
|
"imageUrl": "https://localhost:9096/icon32fra.png",
|
||||||
"imageUrl": "https://localhost:9096/icon32fra.png",
|
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
||||||
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
},
|
||||||
},
|
{
|
||||||
{
|
"model_type": "PasspointOsuIcon",
|
||||||
"model_type": "OsuIcon",
|
"iconWidth": 32,
|
||||||
"iconWidth": 32,
|
"iconHeight": 32,
|
||||||
"iconHeight": 32,
|
"languageCode": "eng",
|
||||||
"languageCode": "eng",
|
"iconLocale": "en_US",
|
||||||
"iconLocale": "en_US",
|
"iconName": "icon32usa",
|
||||||
"iconName": "icon32usa",
|
"filePath": "/tmp/icon32usa.png",
|
||||||
"filePath": "/tmp/icon32usa.png",
|
"imageUrl": "https://localhost:9096/icon32usa.png",
|
||||||
"imageUrl": "https://localhost:9096/icon32usa.png",
|
"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/telus/",
|
"osuFriendlyName": [
|
||||||
"osuFriendlyName": [
|
{
|
||||||
{
|
"model_type": "PasspointDuple",
|
||||||
"model_type": "Hotspot20Duple",
|
"locale": "eng",
|
||||||
"locale": "en_CA",
|
"dupleIso3Language": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleName": "Example provider rogers",
|
||||||
"dupleName": "Example provider telus",
|
"defaultDupleSeparator": ":",
|
||||||
"defaultDupleSeparator": ":",
|
"asDuple": "eng:Example provider rogers"
|
||||||
"asDuple": "eng:Example provider telus"
|
},
|
||||||
},
|
{
|
||||||
{
|
"model_type": "PasspointDuple",
|
||||||
"model_type": "Hotspot20Duple",
|
"locale": "fra",
|
||||||
"locale": "fr_CA",
|
"dupleIso3Language": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleName": "Exemple de fournisseur rogers",
|
||||||
"dupleName": "Exemple de fournisseur telus",
|
"defaultDupleSeparator": ":",
|
||||||
"defaultDupleSeparator": ":",
|
"asDuple": "fra:Exemple de fournisseur rogers"
|
||||||
"asDuple": "fra:Exemple de fournisseur telus"
|
}
|
||||||
}
|
],
|
||||||
],
|
"osuNaiStandalone": "anonymous@rogers.com",
|
||||||
"osuNaiStandalone": "anonymous@telus.com",
|
"osuNaiShared": "anonymous@rogers.com",
|
||||||
"osuNaiShared": "anonymous@telus.com",
|
"osuMethodList": [
|
||||||
"osuMethodList": [
|
1,
|
||||||
1,
|
0
|
||||||
0
|
],
|
||||||
],
|
"osuServiceDescription": [
|
||||||
"osuServiceDescription": [
|
{
|
||||||
{
|
"model_type": "PasspointDuple",
|
||||||
"model_type": "Hotspot20Duple",
|
"locale": "eng",
|
||||||
"locale": "en_CA",
|
"dupleIso3Language": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleName": "Example services rogers",
|
||||||
"dupleName": "Example services telus",
|
"defaultDupleSeparator": ":",
|
||||||
"defaultDupleSeparator": ":",
|
"asDuple": "eng:Example services rogers"
|
||||||
"asDuple": "eng:Example services telus"
|
},
|
||||||
},
|
{
|
||||||
{
|
"model_type": "PasspointDuple",
|
||||||
"model_type": "Hotspot20Duple",
|
"locale": "fra",
|
||||||
"locale": "fr_CA",
|
"dupleIso3Language": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleName": "Exemples de services rogers",
|
||||||
"dupleName": "Exemples de services telus",
|
"defaultDupleSeparator": ":",
|
||||||
"defaultDupleSeparator": ":",
|
"asDuple": "fra:Exemples de services rogers"
|
||||||
"asDuple": "fra:Exemples de services telus"
|
}
|
||||||
}
|
],
|
||||||
],
|
"roamingOi": [
|
||||||
"profileType": "id_provider"
|
"BAA2D00100",
|
||||||
|
"BAA2D00000"
|
||||||
|
],
|
||||||
|
"profileType": "passpoint_osu_id_provider"
|
||||||
|
},
|
||||||
|
"createdTimestamp": 1611264539070,
|
||||||
|
"lastModifiedTimestamp": 1611264539070,
|
||||||
|
"childProfileIds": []
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182805660,
|
{
|
||||||
"lastModifiedTimestamp": 1602182805660,
|
"model_type": "Profile",
|
||||||
"childProfileIds": []
|
"id": 36,
|
||||||
}
|
"customerId": 2,
|
||||||
]
|
"profileType": "passpoint_osu_id_provider",
|
||||||
|
"name": "provider2-profile-2021-01-21T21:28:59.118Z",
|
||||||
|
"details": {
|
||||||
|
"model_type": "PasspointOsuProviderProfile",
|
||||||
|
"mccMncList": [
|
||||||
|
{
|
||||||
|
"model_type": "PasspointMccMnc",
|
||||||
|
"mcc": 302,
|
||||||
|
"mnc": 220,
|
||||||
|
"iso": "ca",
|
||||||
|
"country": "Canada",
|
||||||
|
"countryCode": 1,
|
||||||
|
"network": "Telus Mobility",
|
||||||
|
"mccMncPairing": "302,220"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"naiRealmList": [
|
||||||
|
{
|
||||||
|
"model_type": "PasspointNaiRealmInformation",
|
||||||
|
"naiRealms": [
|
||||||
|
"telus.com"
|
||||||
|
],
|
||||||
|
"encoding": 0,
|
||||||
|
"eapMethods": [
|
||||||
|
"EAP-TTLS with username/password",
|
||||||
|
"EAP-TLS with certificate"
|
||||||
|
],
|
||||||
|
"eapMap": {
|
||||||
|
"EAP-TTLS with username/password": [
|
||||||
|
"Credential Type:username/password",
|
||||||
|
"Non-EAP Inner Authentication Type:MSCHAPV2"
|
||||||
|
],
|
||||||
|
"EAP-TLS with certificate": [
|
||||||
|
"Credential Type:Certificate"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"osuIconList": [
|
||||||
|
{
|
||||||
|
"model_type": "PasspointOsuIcon",
|
||||||
|
"iconWidth": 32,
|
||||||
|
"iconHeight": 32,
|
||||||
|
"languageCode": "eng",
|
||||||
|
"iconLocale": "en_CA",
|
||||||
|
"iconName": "icon32eng",
|
||||||
|
"filePath": "/tmp/icon32eng.png",
|
||||||
|
"imageUrl": "https://localhost:9096/icon32eng.png",
|
||||||
|
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "PasspointOsuIcon",
|
||||||
|
"iconWidth": 32,
|
||||||
|
"iconHeight": 32,
|
||||||
|
"languageCode": "fra",
|
||||||
|
"iconLocale": "fr_CA",
|
||||||
|
"iconName": "icon32fra",
|
||||||
|
"filePath": "/tmp/icon32fra.png",
|
||||||
|
"imageUrl": "https://localhost:9096/icon32fra.png",
|
||||||
|
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "PasspointOsuIcon",
|
||||||
|
"iconWidth": 32,
|
||||||
|
"iconHeight": 32,
|
||||||
|
"languageCode": "eng",
|
||||||
|
"iconLocale": "en_US",
|
||||||
|
"iconName": "icon32usa",
|
||||||
|
"filePath": "/tmp/icon32usa.png",
|
||||||
|
"imageUrl": "https://localhost:9096/icon32usa.png",
|
||||||
|
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"osuServerUri": "https://example.com/osu/telus",
|
||||||
|
"osuFriendlyName": [
|
||||||
|
{
|
||||||
|
"model_type": "PasspointDuple",
|
||||||
|
"locale": "eng",
|
||||||
|
"dupleIso3Language": "eng",
|
||||||
|
"dupleName": "Example provider telus",
|
||||||
|
"defaultDupleSeparator": ":",
|
||||||
|
"asDuple": "eng:Example provider telus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "PasspointDuple",
|
||||||
|
"locale": "fra",
|
||||||
|
"dupleIso3Language": "fra",
|
||||||
|
"dupleName": "Exemple de fournisseur telus",
|
||||||
|
"defaultDupleSeparator": ":",
|
||||||
|
"asDuple": "fra:Exemple de fournisseur telus"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"osuNaiStandalone": "anonymous@telus.com",
|
||||||
|
"osuNaiShared": "anonymous@telus.com",
|
||||||
|
"osuMethodList": [
|
||||||
|
1,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"osuServiceDescription": [
|
||||||
|
{
|
||||||
|
"model_type": "PasspointDuple",
|
||||||
|
"locale": "eng",
|
||||||
|
"dupleIso3Language": "eng",
|
||||||
|
"dupleName": "Example services telus",
|
||||||
|
"defaultDupleSeparator": ":",
|
||||||
|
"asDuple": "eng:Example services telus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "PasspointDuple",
|
||||||
|
"locale": "fra",
|
||||||
|
"dupleIso3Language": "fra",
|
||||||
|
"dupleName": "Exemples de services telus",
|
||||||
|
"defaultDupleSeparator": ":",
|
||||||
|
"asDuple": "fra:Exemples de services telus"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"roamingOi": [
|
||||||
|
"004096",
|
||||||
|
"005014",
|
||||||
|
"F4F5E8F5F4"
|
||||||
|
],
|
||||||
|
"profileType": "passpoint_osu_id_provider"
|
||||||
|
},
|
||||||
|
"createdTimestamp": 1611264539131,
|
||||||
|
"lastModifiedTimestamp": 1611264539131,
|
||||||
|
"childProfileIds": []
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -1,298 +1,299 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"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",
|
||||||
"ApSsid",
|
"ApSsid",
|
||||||
"Client",
|
"Client",
|
||||||
"Channel",
|
"Channel",
|
||||||
"Neighbour"
|
"Neighbour"
|
||||||
],
|
],
|
||||||
"metricConfigParameterMap": {
|
"metricConfigParameterMap": {
|
||||||
"ApNode": [
|
"ApNode": [
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 120,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzL",
|
||||||
"radioType": "is5GHzU",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 120,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzU",
|
||||||
"radioType": "is5GHzL",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 120,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is2dot4GHz",
|
||||||
"radioType": "is2dot4GHz",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzU",
|
||||||
"radioType": "is5GHzL",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is2dot4GHz",
|
||||||
"radioType": "is2dot4GHz",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzL",
|
||||||
"radioType": "is5GHzU",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"ApSsid": [
|
"ApSsid": [
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is5GHzU",
|
||||||
"serviceMetricDataType": "ApSsid"
|
"serviceMetricDataType": "ApSsid"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"serviceMetricDataType": "ApSsid"
|
"serviceMetricDataType": "ApSsid"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is2dot4GHz",
|
||||||
"serviceMetricDataType": "ApSsid"
|
"serviceMetricDataType": "ApSsid"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"Client": [
|
"Client": [
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is5GHzU",
|
||||||
"serviceMetricDataType": "Client"
|
"serviceMetricDataType": "Client"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"serviceMetricDataType": "Client"
|
"serviceMetricDataType": "Client"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is2dot4GHz",
|
||||||
"serviceMetricDataType": "Client"
|
"serviceMetricDataType": "Client"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"Channel": [
|
"Channel": [
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzL",
|
||||||
"radioType": "is5GHzL",
|
"serviceMetricDataType": "Channel",
|
||||||
"serviceMetricDataType": "Channel"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"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": "is5GHzU",
|
||||||
"radioType": "is2dot4GHz",
|
"serviceMetricDataType": "Channel",
|
||||||
"serviceMetricDataType": "Channel"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"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": "is2dot4GHz",
|
||||||
"radioType": "is5GHzU",
|
"serviceMetricDataType": "Channel",
|
||||||
"serviceMetricDataType": "Channel"
|
"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",
|
||||||
"radioType": "is5GHzL",
|
"serviceMetricDataType": "Channel",
|
||||||
"serviceMetricDataType": "Channel"
|
"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": "is2dot4GHz",
|
||||||
"radioType": "is2dot4GHz",
|
"serviceMetricDataType": "Channel",
|
||||||
"serviceMetricDataType": "Channel"
|
"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": "is5GHzL",
|
||||||
"radioType": "is5GHzU",
|
"serviceMetricDataType": "Channel",
|
||||||
"serviceMetricDataType": "Channel"
|
"statsReportFormat": "RAW"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"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": "is5GHzU",
|
||||||
"radioType": "is5GHzL",
|
"serviceMetricDataType": "Neighbour",
|
||||||
"serviceMetricDataType": "Neighbour"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzL",
|
||||||
"radioType": "is2dot4GHz",
|
"serviceMetricDataType": "Neighbour",
|
||||||
"serviceMetricDataType": "Neighbour"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"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": "is2dot4GHz",
|
||||||
"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",
|
||||||
"radioType": "is5GHzU",
|
"serviceMetricDataType": "Neighbour",
|
||||||
"serviceMetricDataType": "Neighbour"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 120,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzL",
|
||||||
"radioType": "is5GHzL",
|
"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": "is2dot4GHz",
|
||||||
"radioType": "is2dot4GHz",
|
"serviceMetricDataType": "Neighbour",
|
||||||
"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": "PasspointDuple",
|
||||||
"model_type": "Hotspot20Duple",
|
"locale": "fra",
|
||||||
"locale": "en_CA",
|
"dupleIso3Language": "fra",
|
||||||
"dupleIso3Language": "eng",
|
"dupleName": "Nom de l'opérateur convivial par défaut",
|
||||||
"dupleName": "Default friendly operator name",
|
"defaultDupleSeparator": ":",
|
||||||
"defaultDupleSeparator": ":",
|
"asDuple": "fra:Nom de l'opérateur convivial par défaut"
|
||||||
"asDuple": "eng:Default friendly operator name"
|
},
|
||||||
},
|
{
|
||||||
{
|
"model_type": "PasspointDuple",
|
||||||
"model_type": "Hotspot20Duple",
|
"locale": "eng",
|
||||||
"locale": "fr_CA",
|
"dupleIso3Language": "eng",
|
||||||
"dupleIso3Language": "fra",
|
"dupleName": "Default friendly passpoint_operator name",
|
||||||
"dupleName": "Nom de l'opérateur convivial par défaut",
|
"defaultDupleSeparator": ":",
|
||||||
"defaultDupleSeparator": ":",
|
"asDuple": "eng:Default friendly passpoint_operator name"
|
||||||
"asDuple": "fra:Nom de l'opérateur convivial par défaut"
|
}
|
||||||
}
|
],
|
||||||
],
|
"domainNameList": [
|
||||||
"profileType": "operator"
|
"bell.ca",
|
||||||
},
|
"telus.com",
|
||||||
"createdTimestamp": 1602113058719,
|
"rogers.com"
|
||||||
"lastModifiedTimestamp": 1602113058719,
|
],
|
||||||
"childProfileIds": []
|
"profileType": "passpoint_operator"
|
||||||
}
|
},
|
||||||
]
|
"createdTimestamp": 1611264539004,
|
||||||
|
"lastModifiedTimestamp": 1611264539004,
|
||||||
|
"childProfileIds": []
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -1,34 +1,24 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "radius",
|
"profileType": "radius",
|
||||||
"name": "Radius-Profile",
|
"name": "Radius-Profile",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "RadiusProfile",
|
"model_type": "RadiusProfile",
|
||||||
"subnetConfiguration": null,
|
"primaryRadiusAuthServer": {
|
||||||
"serviceRegionMap": {
|
"model_type": "RadiusServer",
|
||||||
"Ottawa": {
|
"ipAddress": "192.168.0.1",
|
||||||
"model_type": "RadiusServiceRegion",
|
"secret": "testing123",
|
||||||
"serverMap": {
|
"port": 1812,
|
||||||
"Radius-Profile": [
|
"timeout": null
|
||||||
{
|
},
|
||||||
"model_type": "RadiusServer",
|
"profileType": "radius"
|
||||||
"ipAddress": "192.168.0.1",
|
},
|
||||||
"secret": "testing123",
|
"createdTimestamp": 1611262628767,
|
||||||
"authPort": 1812,
|
"lastModifiedTimestamp": 1611262628767,
|
||||||
"timeout": null
|
"childProfileIds": [
|
||||||
}
|
]
|
||||||
]
|
}
|
||||||
},
|
]
|
||||||
"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,134 +1,75 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 5,
|
"id": 2,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "ssid",
|
"profileType": "ssid",
|
||||||
"name": "TipWlan-cloud-hotspot-access",
|
"name": "TipWlan-cloud-3-radios",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "SsidConfiguration",
|
"model_type": "SsidConfiguration",
|
||||||
"ssid": "TipWlan-cloud-hotspot-access",
|
"ssid": "TipWlan-cloud-3-radios",
|
||||||
"appliedRadios": [
|
"appliedRadios": [
|
||||||
"is5GHzU",
|
"is5GHzU",
|
||||||
"is5GHzL",
|
"is2dot4GHz",
|
||||||
"is2dot4GHz"
|
"is5GHzL"
|
||||||
],
|
],
|
||||||
"ssidAdminState": "enabled",
|
"ssidAdminState": "enabled",
|
||||||
"secureMode": "wpa2PSK",
|
"secureMode": "wpa2OnlyPSK",
|
||||||
"vlanId": 1,
|
"vlanId": 1,
|
||||||
"keyStr": "testing123",
|
"keyStr": "openwifi",
|
||||||
"broadcastSsid": "enabled",
|
"broadcastSsid": "enabled",
|
||||||
"keyRefresh": 0,
|
"keyRefresh": 0,
|
||||||
"noLocalSubnets": false,
|
"noLocalSubnets": false,
|
||||||
"radiusServiceName": null,
|
"radiusServiceId": 0,
|
||||||
"captivePortalId": null,
|
"radiusAcountingServiceInterval": 60,
|
||||||
"bandwidthLimitDown": 0,
|
"captivePortalId": null,
|
||||||
"bandwidthLimitUp": 0,
|
"bandwidthLimitDown": 0,
|
||||||
"clientBandwidthLimitDown": 0,
|
"bandwidthLimitUp": 0,
|
||||||
"clientBandwidthLimitUp": 0,
|
"clientBandwidthLimitDown": 0,
|
||||||
"videoTrafficOnly": false,
|
"clientBandwidthLimitUp": 0,
|
||||||
"radioBasedConfigs": {
|
"videoTrafficOnly": false,
|
||||||
"is5GHz": {
|
"radioBasedConfigs": {
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"is5GHzU": {
|
||||||
"enable80211r": null,
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211k": null,
|
"enable80211r": null,
|
||||||
"enable80211v": null
|
"enable80211k": null,
|
||||||
},
|
"enable80211v": null
|
||||||
"is2dot4GHz": {
|
},
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"is2dot4GHz": {
|
||||||
"enable80211r": null,
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211k": null,
|
"enable80211r": null,
|
||||||
"enable80211v": null
|
"enable80211k": null,
|
||||||
},
|
"enable80211v": null
|
||||||
"is5GHzU": {
|
},
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"is5GHz": {
|
||||||
"enable80211r": null,
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211k": null,
|
"enable80211r": null,
|
||||||
"enable80211v": null
|
"enable80211k": null,
|
||||||
},
|
"enable80211v": null
|
||||||
"is5GHzL": {
|
},
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"is5GHzL": {
|
||||||
"enable80211r": null,
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211k": null,
|
"enable80211r": null,
|
||||||
"enable80211v": null
|
"enable80211k": null,
|
||||||
}
|
"enable80211v": null
|
||||||
},
|
}
|
||||||
"bonjourGatewayProfileId": null,
|
},
|
||||||
"enable80211w": null,
|
"bonjourGatewayProfileId": null,
|
||||||
"wepConfig": null,
|
"enable80211w": null,
|
||||||
"forwardMode": null,
|
"wepConfig": null,
|
||||||
"profileType": "ssid"
|
"forwardMode": "BRIDGE",
|
||||||
},
|
"profileType": "ssid",
|
||||||
"createdTimestamp": 1602113058718,
|
"radiusClientConfiguration": {
|
||||||
"lastModifiedTimestamp": 1602113059547,
|
"model_type": "RadiusNasConfiguration",
|
||||||
"childProfileIds": [
|
"nasClientId": "DEFAULT",
|
||||||
10
|
"nasClientIp": "WAN_IP",
|
||||||
]
|
"userDefinedNasId": null,
|
||||||
},
|
"userDefinedNasIp": null,
|
||||||
{
|
"operatorId": null
|
||||||
"model_type": "Profile",
|
}
|
||||||
"id": 11,
|
},
|
||||||
"customerId": 2,
|
"createdTimestamp": 1612285248638,
|
||||||
"profileType": "ssid",
|
"lastModifiedTimestamp": 1612285248638,
|
||||||
"name": "TipWlan-cloud-3-radios",
|
"childProfileIds": []
|
||||||
"details": {
|
}
|
||||||
"model_type": "SsidConfiguration",
|
|
||||||
"ssid": "TipWlan-cloud-3-radios",
|
|
||||||
"appliedRadios": [
|
|
||||||
"is5GHzL",
|
|
||||||
"is2dot4GHz",
|
|
||||||
"is5GHzU"
|
|
||||||
],
|
|
||||||
"ssidAdminState": "enabled",
|
|
||||||
"secureMode": "open",
|
|
||||||
"vlanId": 1,
|
|
||||||
"keyStr": null,
|
|
||||||
"broadcastSsid": "enabled",
|
|
||||||
"keyRefresh": 0,
|
|
||||||
"noLocalSubnets": false,
|
|
||||||
"radiusServiceName": null,
|
|
||||||
"captivePortalId": null,
|
|
||||||
"bandwidthLimitDown": 0,
|
|
||||||
"bandwidthLimitUp": 0,
|
|
||||||
"clientBandwidthLimitDown": 0,
|
|
||||||
"clientBandwidthLimitUp": 0,
|
|
||||||
"videoTrafficOnly": false,
|
|
||||||
"radioBasedConfigs": {
|
|
||||||
"is5GHz": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is2dot4GHz": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is5GHzU": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is5GHzL": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bonjourGatewayProfileId": null,
|
|
||||||
"enable80211w": null,
|
|
||||||
"wepConfig": null,
|
|
||||||
"forwardMode": null,
|
|
||||||
"profileType": "ssid"
|
|
||||||
},
|
|
||||||
"createdTimestamp": 1602183994766,
|
|
||||||
"lastModifiedTimestamp": 1602183994766,
|
|
||||||
"childProfileIds": [
|
|
||||||
10
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,42 +1,42 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"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": ":",
|
||||||
"venueUrl": "http://www.example.com/info-fra",
|
"venueUrl": "http://www.example.com/info-fra",
|
||||||
"asDuple": "fra:Exemple de lieu"
|
"asDuple": "fra:Exemple de lieu"
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "VenueName",
|
|
||||||
"locale": "en_CA",
|
|
||||||
"dupleIso3Language": "eng",
|
|
||||||
"dupleName": "Example venue",
|
|
||||||
"defaultDupleSeparator": ":",
|
|
||||||
"venueUrl": "http://www.example.com/info-eng",
|
|
||||||
"asDuple": "eng:Example venue"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"venueTypeAssignment": {
|
|
||||||
"model_type": "VenueTypeAssignment",
|
|
||||||
"venueDescription": "Research and Development Facility",
|
|
||||||
"venueGroupId": 2,
|
|
||||||
"venueTypeId": 8
|
|
||||||
},
|
},
|
||||||
"profileType": "venue"
|
{
|
||||||
|
"model_type": "PasspointVenueName",
|
||||||
|
"locale": "eng",
|
||||||
|
"dupleIso3Language": "eng",
|
||||||
|
"dupleName": "Example passpoint_venue",
|
||||||
|
"defaultDupleSeparator": ":",
|
||||||
|
"venueUrl": "http://www.example.com/info-eng",
|
||||||
|
"asDuple": "eng:Example passpoint_venue"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"venueTypeAssignment": {
|
||||||
|
"model_type": "PasspointVenueTypeAssignment",
|
||||||
|
"venueDescription": "Research and Development Facility",
|
||||||
|
"venueGroupId": 2,
|
||||||
|
"venueTypeId": 8
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602113058725,
|
"profileType": "passpoint_venue"
|
||||||
"lastModifiedTimestamp": 1602113058725,
|
},
|
||||||
"childProfileIds": []
|
"createdTimestamp": 1611264538947,
|
||||||
}
|
"lastModifiedTimestamp": 1611264538947,
|
||||||
|
"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,224 +1,472 @@
|
|||||||
{
|
{
|
||||||
"model_type": "Equipment",
|
"model_type": "Equipment",
|
||||||
"id": 51,
|
"id": 1,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileId": 5,
|
"profileId": 8,
|
||||||
"locationId": 8,
|
"locationId": 8,
|
||||||
"equipmentType": "AP",
|
|
||||||
"inventoryId": "Test_Client_21P10C68818122",
|
|
||||||
"name": "Test_Client_21P10C68818122",
|
|
||||||
"details": {
|
|
||||||
"model_type": "ApElementConfiguration",
|
|
||||||
"equipmentModel": "EA8300-CA",
|
|
||||||
"elementConfigVersion": "AP-V1",
|
|
||||||
"equipmentType": "AP",
|
"equipmentType": "AP",
|
||||||
"deviceMode": "standaloneAP",
|
"inventoryId": "Open_AP_21P10C68818122",
|
||||||
"gettingIP": "dhcp",
|
"name": "Open_AP_21P10C68818122",
|
||||||
"staticIP": null,
|
"details": {
|
||||||
"staticIpMaskCidr": null,
|
"model_type": "ApElementConfiguration",
|
||||||
"staticIpGw": null,
|
"equipmentModel": "EA8300-CA",
|
||||||
"gettingDNS": "dhcp",
|
"elementConfigVersion": "AP-V1",
|
||||||
"staticDnsIp1": null,
|
"equipmentType": "AP",
|
||||||
"staticDnsIp2": null,
|
"deviceMode": "standaloneAP",
|
||||||
"peerInfoList": [],
|
"gettingIP": "dhcp",
|
||||||
"deviceName": "Default Device Name",
|
"staticIP": null,
|
||||||
"locationData": null,
|
"staticIpMaskCidr": null,
|
||||||
"locallyConfiguredMgmtVlan": 0,
|
"staticIpGw": null,
|
||||||
"locallyConfigured": false,
|
"gettingDNS": "dhcp",
|
||||||
"deploymentType": "CEILING",
|
"staticDnsIp1": null,
|
||||||
"syntheticClientEnabled": null,
|
"staticDnsIp2": null,
|
||||||
"frameReportThrottleEnabled": true,
|
"peerInfoList": [],
|
||||||
"antennaType": "OMNI",
|
"deviceName": "Open_AP_21P10C68818122",
|
||||||
"costSavingEventsEnabled": true,
|
"locationData": null,
|
||||||
"forwardMode": "BRIDGE",
|
"locallyConfiguredMgmtVlan": 0,
|
||||||
"radioMap": {
|
"locallyConfigured": false,
|
||||||
"is2dot4GHz": {
|
"deploymentType": "CEILING",
|
||||||
"model_type": "ElementRadioConfiguration",
|
"syntheticClientEnabled": null,
|
||||||
"radioType": "is2dot4GHz",
|
"frameReportThrottleEnabled": true,
|
||||||
"channelNumber": 6,
|
"antennaType": "OMNI",
|
||||||
"manualChannelNumber": 6,
|
"costSavingEventsEnabled": true,
|
||||||
"backupChannelNumber": 11,
|
"forwardMode": "BRIDGE",
|
||||||
"bannedChannels": [],
|
"radioMap": {
|
||||||
"allowedChannels": [],
|
"is5GHzU": {
|
||||||
"rxCellSizeDb": {
|
"model_type": "ElementRadioConfiguration",
|
||||||
"model_type": "SourceSelectionValue",
|
"radioType": "is5GHzU",
|
||||||
"source": "auto",
|
"channelNumber": 149,
|
||||||
"value": -90
|
"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": {
|
||||||
|
"model_type": "ElementRadioConfiguration",
|
||||||
|
"radioType": "is2dot4GHz",
|
||||||
|
"channelNumber": 6,
|
||||||
|
"manualChannelNumber": 6,
|
||||||
|
"backupChannelNumber": 11,
|
||||||
|
"manualBackupChannelNumber": 11,
|
||||||
|
"rxCellSizeDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"probeResponseThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"clientDisconnectThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"eirpTxPower": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": 18
|
||||||
|
},
|
||||||
|
"perimeterDetectionEnabled": true,
|
||||||
|
"bestAPSteerType": "both",
|
||||||
|
"deauthAttackDetection": null,
|
||||||
|
"allowedChannelsPowerLevels": [
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 1,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 2,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 3,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 4,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 5,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 6,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 7,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 8,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 9,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 10,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 11,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 20
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"is5GHzL": {
|
||||||
|
"model_type": "ElementRadioConfiguration",
|
||||||
|
"radioType": "is5GHzL",
|
||||||
|
"channelNumber": 36,
|
||||||
|
"manualChannelNumber": 36,
|
||||||
|
"backupChannelNumber": 44,
|
||||||
|
"manualBackupChannelNumber": 44,
|
||||||
|
"rxCellSizeDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"probeResponseThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"clientDisconnectThresholdDb": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": -90
|
||||||
|
},
|
||||||
|
"eirpTxPower": {
|
||||||
|
"model_type": "SourceSelectionValue",
|
||||||
|
"source": "profile",
|
||||||
|
"value": 18
|
||||||
|
},
|
||||||
|
"perimeterDetectionEnabled": true,
|
||||||
|
"bestAPSteerType": "both",
|
||||||
|
"deauthAttackDetection": null,
|
||||||
|
"allowedChannelsPowerLevels": [
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 52,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 36,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 56,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 40,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 60,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 44,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 64,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": true,
|
||||||
|
"channelWidth": 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "ChannelPowerLevel",
|
||||||
|
"channelNumber": 48,
|
||||||
|
"powerLevel": 18,
|
||||||
|
"dfs": false,
|
||||||
|
"channelWidth": 80
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"probeResponseThresholdDb": {
|
"advancedRadioMap": {
|
||||||
"model_type": "SourceSelectionValue",
|
"is2dot4GHz": {
|
||||||
"source": "auto",
|
"model_type": "RadioConfiguration",
|
||||||
"value": -90
|
"radioType": "is2dot4GHz",
|
||||||
},
|
"radioAdminState": "enabled",
|
||||||
"clientDisconnectThresholdDb": {
|
"fragmentationThresholdBytes": 2346,
|
||||||
"model_type": "SourceSelectionValue",
|
"uapsdState": "enabled",
|
||||||
"source": "auto",
|
"stationIsolation": "disabled",
|
||||||
"value": -90
|
"multicastRate": {
|
||||||
},
|
"model_type": "SourceSelectionMulticast",
|
||||||
"eirpTxPower": {
|
"source": "profile",
|
||||||
"model_type": "SourceSelectionValue",
|
"value": "auto"
|
||||||
"source": "auto",
|
},
|
||||||
"value": 32
|
"managementRate": {
|
||||||
},
|
"model_type": "SourceSelectionManagement",
|
||||||
"perimeterDetectionEnabled": true,
|
"source": "profile",
|
||||||
"bestAPSteerType": "both",
|
"value": "auto"
|
||||||
"deauthAttackDetection": null,
|
},
|
||||||
"allowedChannelsPowerLevels": [],
|
"bestApSettings": {
|
||||||
"activeChannel": 6
|
"model_type": "SourceSelectionSteering",
|
||||||
},
|
"source": "manual",
|
||||||
"is5GHzU": {
|
"value": {
|
||||||
"model_type": "ElementRadioConfiguration",
|
"model_type": "RadioBestApSettings",
|
||||||
"radioType": "is5GHzU",
|
"mlComputed": true,
|
||||||
"channelNumber": 149,
|
"dropInSnrPercentage": 20,
|
||||||
"manualChannelNumber": 149,
|
"minLoadFactor": 50
|
||||||
"backupChannelNumber": 154,
|
}
|
||||||
"bannedChannels": [],
|
},
|
||||||
"allowedChannels": [],
|
"legacyBSSRate": "enabled",
|
||||||
"rxCellSizeDb": {
|
"dtimPeriod": 2,
|
||||||
"model_type": "SourceSelectionValue",
|
"deauthAttackDetection": null
|
||||||
"source": "auto",
|
},
|
||||||
"value": -90
|
"is5GHzU": {
|
||||||
},
|
"model_type": "RadioConfiguration",
|
||||||
"probeResponseThresholdDb": {
|
"radioType": "is5GHzU",
|
||||||
"model_type": "SourceSelectionValue",
|
"radioAdminState": "enabled",
|
||||||
"source": "auto",
|
"fragmentationThresholdBytes": 2346,
|
||||||
"value": -90
|
"uapsdState": "enabled",
|
||||||
},
|
"stationIsolation": "disabled",
|
||||||
"clientDisconnectThresholdDb": {
|
"multicastRate": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionMulticast",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": -90
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"eirpTxPower": {
|
"managementRate": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "SourceSelectionManagement",
|
||||||
"source": "auto",
|
"source": "profile",
|
||||||
"value": 32
|
"value": "auto"
|
||||||
},
|
},
|
||||||
"perimeterDetectionEnabled": true,
|
"bestApSettings": {
|
||||||
"bestAPSteerType": "both",
|
"model_type": "SourceSelectionSteering",
|
||||||
"deauthAttackDetection": null,
|
"source": "manual",
|
||||||
"allowedChannelsPowerLevels": [],
|
"value": {
|
||||||
"activeChannel": 149
|
"model_type": "RadioBestApSettings",
|
||||||
},
|
"mlComputed": true,
|
||||||
"is5GHzL": {
|
"dropInSnrPercentage": 30,
|
||||||
"model_type": "ElementRadioConfiguration",
|
"minLoadFactor": 40
|
||||||
"radioType": "is5GHzL",
|
}
|
||||||
"channelNumber": 36,
|
},
|
||||||
"manualChannelNumber": 36,
|
"legacyBSSRate": "enabled",
|
||||||
"backupChannelNumber": 44,
|
"dtimPeriod": 2,
|
||||||
"bannedChannels": [],
|
"deauthAttackDetection": null
|
||||||
"allowedChannels": [],
|
},
|
||||||
"rxCellSizeDb": {
|
"is5GHzL": {
|
||||||
"model_type": "SourceSelectionValue",
|
"model_type": "RadioConfiguration",
|
||||||
"source": "auto",
|
"radioType": "is5GHzL",
|
||||||
"value": -90
|
"radioAdminState": "enabled",
|
||||||
},
|
"fragmentationThresholdBytes": 2346,
|
||||||
"probeResponseThresholdDb": {
|
"uapsdState": "enabled",
|
||||||
"model_type": "SourceSelectionValue",
|
"stationIsolation": "disabled",
|
||||||
"source": "auto",
|
"multicastRate": {
|
||||||
"value": -90
|
"model_type": "SourceSelectionMulticast",
|
||||||
},
|
"source": "profile",
|
||||||
"clientDisconnectThresholdDb": {
|
"value": "auto"
|
||||||
"model_type": "SourceSelectionValue",
|
},
|
||||||
"source": "auto",
|
"managementRate": {
|
||||||
"value": -90
|
"model_type": "SourceSelectionManagement",
|
||||||
},
|
"source": "profile",
|
||||||
"eirpTxPower": {
|
"value": "auto"
|
||||||
"model_type": "SourceSelectionValue",
|
},
|
||||||
"source": "auto",
|
"bestApSettings": {
|
||||||
"value": 32
|
"model_type": "SourceSelectionSteering",
|
||||||
},
|
"source": "manual",
|
||||||
"perimeterDetectionEnabled": true,
|
"value": {
|
||||||
"bestAPSteerType": "both",
|
"model_type": "RadioBestApSettings",
|
||||||
"deauthAttackDetection": null,
|
"mlComputed": true,
|
||||||
"allowedChannelsPowerLevels": [],
|
"dropInSnrPercentage": 30,
|
||||||
"activeChannel": 36
|
"minLoadFactor": 40
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"legacyBSSRate": "enabled",
|
||||||
|
"dtimPeriod": 2,
|
||||||
|
"deauthAttackDetection": null
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"advancedRadioMap": {
|
"latitude": null,
|
||||||
"is2dot4GHz": {
|
"longitude": null,
|
||||||
"model_type": "RadioConfiguration",
|
"baseMacAddress": {
|
||||||
"radioType": "is2dot4GHz",
|
"model_type": "MacAddress",
|
||||||
"radioAdminState": "enabled",
|
"address": "JPWi7y5T",
|
||||||
"fragmentationThresholdBytes": 2346,
|
"addressAsString": "24:f5:a2:ef:2e:53"
|
||||||
"wmmState": "enabled",
|
},
|
||||||
"uapsdState": "enabled",
|
"serial": "21P10C68818122",
|
||||||
"stationIsolation": "disabled",
|
"createdTimestamp": 1612285288821,
|
||||||
"managementRate": {
|
"lastModifiedTimestamp": 1612285293922
|
||||||
"model_type": "SourceSelectionManagement",
|
|
||||||
"source": "auto",
|
|
||||||
"value": "auto"
|
|
||||||
},
|
|
||||||
"bestApSettings": {
|
|
||||||
"model_type": "SourceSelectionSteering",
|
|
||||||
"source": "auto",
|
|
||||||
"value": {
|
|
||||||
"model_type": "RadioBestApSettings",
|
|
||||||
"mlComputed": true,
|
|
||||||
"dropInSnrPercentage": 30,
|
|
||||||
"minLoadFactor": 40
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"legacyBSSRate": "enabled",
|
|
||||||
"deauthAttackDetection": null
|
|
||||||
},
|
|
||||||
"is5GHzU": {
|
|
||||||
"model_type": "RadioConfiguration",
|
|
||||||
"radioType": "is5GHzU",
|
|
||||||
"radioAdminState": "enabled",
|
|
||||||
"fragmentationThresholdBytes": 2346,
|
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
|
||||||
"stationIsolation": "disabled",
|
|
||||||
"managementRate": {
|
|
||||||
"model_type": "SourceSelectionManagement",
|
|
||||||
"source": "auto",
|
|
||||||
"value": "auto"
|
|
||||||
},
|
|
||||||
"bestApSettings": {
|
|
||||||
"model_type": "SourceSelectionSteering",
|
|
||||||
"source": "auto",
|
|
||||||
"value": {
|
|
||||||
"model_type": "RadioBestApSettings",
|
|
||||||
"mlComputed": true,
|
|
||||||
"dropInSnrPercentage": 30,
|
|
||||||
"minLoadFactor": 40
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"legacyBSSRate": "enabled",
|
|
||||||
"deauthAttackDetection": null
|
|
||||||
},
|
|
||||||
"is5GHzL": {
|
|
||||||
"model_type": "RadioConfiguration",
|
|
||||||
"radioType": "is5GHzL",
|
|
||||||
"radioAdminState": "enabled",
|
|
||||||
"fragmentationThresholdBytes": 2346,
|
|
||||||
"wmmState": "enabled",
|
|
||||||
"uapsdState": "enabled",
|
|
||||||
"stationIsolation": "disabled",
|
|
||||||
"managementRate": {
|
|
||||||
"model_type": "SourceSelectionManagement",
|
|
||||||
"source": "auto",
|
|
||||||
"value": "auto"
|
|
||||||
},
|
|
||||||
"bestApSettings": {
|
|
||||||
"model_type": "SourceSelectionSteering",
|
|
||||||
"source": "auto",
|
|
||||||
"value": {
|
|
||||||
"model_type": "RadioBestApSettings",
|
|
||||||
"mlComputed": true,
|
|
||||||
"dropInSnrPercentage": 30,
|
|
||||||
"minLoadFactor": 40
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"legacyBSSRate": "enabled",
|
|
||||||
"deauthAttackDetection": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"latitude": null,
|
|
||||||
"longitude": null,
|
|
||||||
"serial": "21P10C68818122",
|
|
||||||
"createdTimestamp": 1591653239821,
|
|
||||||
"lastModifiedTimestamp": 1591653241398
|
|
||||||
}
|
}
|
||||||
@@ -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",
|
"MONDAY": {
|
||||||
"lastBusySnapshot" : 0
|
"model_type": "LocationActivityDetails",
|
||||||
},
|
"busyTime": "13:30",
|
||||||
"MONDAY" : {
|
"quietTime": "3:00",
|
||||||
"model_type" : "LocationActivityDetails",
|
"timezone": "US/Eastern"
|
||||||
"busyTime" : "13:30",
|
},
|
||||||
"quietTime" : "3:30",
|
"TUESDAY": {
|
||||||
"timezone" : "US/Eastern",
|
"model_type": "LocationActivityDetails",
|
||||||
"lastBusySnapshot" : 0
|
"busyTime": "13:30",
|
||||||
},
|
"quietTime": "3:00",
|
||||||
"TUESDAY" : {
|
"timezone": "US/Eastern"
|
||||||
"model_type" : "LocationActivityDetails",
|
},
|
||||||
"busyTime" : "13:30",
|
"WEDNESDAY": {
|
||||||
"quietTime" : "3:30",
|
"model_type": "LocationActivityDetails",
|
||||||
"timezone" : "US/Eastern",
|
"busyTime": "13:30",
|
||||||
"lastBusySnapshot" : 0
|
"quietTime": "3:00",
|
||||||
},
|
"timezone": "US/Eastern"
|
||||||
"WEDNESDAY" : {
|
},
|
||||||
"model_type" : "LocationActivityDetails",
|
"THURSDAY": {
|
||||||
"busyTime" : "13:30",
|
"model_type": "LocationActivityDetails",
|
||||||
"quietTime" : "3:30",
|
"busyTime": "13:30",
|
||||||
"timezone" : "US/Eastern",
|
"quietTime": "3:00",
|
||||||
"lastBusySnapshot" : 0
|
"timezone": "US/Eastern"
|
||||||
},
|
},
|
||||||
"THURSDAY" : {
|
"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": {
|
||||||
"FRIDAY" : {
|
"model_type": "LocationActivityDetails",
|
||||||
"model_type" : "LocationActivityDetails",
|
"busyTime": "13:30",
|
||||||
"busyTime" : "13:30",
|
"quietTime": "3:00",
|
||||||
"quietTime" : "3:30",
|
"timezone": "US/Eastern"
|
||||||
"timezone" : "US/Eastern",
|
}
|
||||||
"lastBusySnapshot" : 0
|
},
|
||||||
},
|
"maintenanceWindow": null,
|
||||||
"SATURDAY" : {
|
"rrmEnabled": true,
|
||||||
"model_type" : "LocationActivityDetails",
|
"timezone": "US/Eastern"
|
||||||
"busyTime" : "13:30",
|
},
|
||||||
"quietTime" : "3:30",
|
"createdTimestamp": 1612285243534,
|
||||||
"timezone" : "US/Eastern",
|
"lastModifiedTimestamp": 1612285243534
|
||||||
"lastBusySnapshot" : 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"createdTimestamp" : 1590607043540,
|
|
||||||
"lastModifiedTimestamp" : 1590607043540
|
|
||||||
}
|
}
|
||||||
@@ -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,
|
"model_type": "ManagedFileInfo",
|
||||||
"walledGardenAllowlist": [],
|
"md5checksum": null,
|
||||||
"usernamePasswordFile": {
|
"lastModifiedTimestamp": null,
|
||||||
"model_type": "ManagedFileInfo",
|
"apExportUrl": "/filestore/tip-logo-mobile",
|
||||||
"md5checksum": null,
|
"fileCategory": "CaptivePortalLogo",
|
||||||
"lastModifiedTimestamp": null,
|
"fileType": "PNG",
|
||||||
"apExportUrl": "userList",
|
"altSlot": false
|
||||||
"fileCategory": "UsernamePasswordList",
|
},
|
||||||
"fileType": "TEXT",
|
"backgroundFile": {
|
||||||
"altSlot": true
|
"model_type": "ManagedFileInfo",
|
||||||
},
|
"md5checksum": null,
|
||||||
"authenticationType": "guest",
|
"lastModifiedTimestamp": null,
|
||||||
"radiusAuthMethod": "CHAP",
|
"apExportUrl": "/filestore/tip-logo",
|
||||||
"maxUsersWithSameCredentials": 42,
|
"fileCategory": "CaptivePortalBackground",
|
||||||
"externalPolicyFile": null,
|
"fileType": "PNG",
|
||||||
"backgroundPosition": "left_top",
|
"altSlot": false
|
||||||
"backgroundRepeat": "no_repeat",
|
},
|
||||||
"radiusServiceName": null,
|
"walledGardenAllowlist": [
|
||||||
"expiryType": "unlimited",
|
],
|
||||||
"userList": [
|
"usernamePasswordFile": null,
|
||||||
{
|
"authenticationType": "guest",
|
||||||
"model_type": "TimedAccessUserRecord",
|
"radiusAuthMethod": "CHAP",
|
||||||
"username": "customer",
|
"maxUsersWithSameCredentials": 3,
|
||||||
"password": "testing123",
|
"externalPolicyFile": null,
|
||||||
"activationTime": 1602183994956,
|
"backgroundPosition": "left_top",
|
||||||
"expirationTime": 1602212794956,
|
"backgroundRepeat": "no_repeat",
|
||||||
"numDevices": 1,
|
"radiusServiceId": 0,
|
||||||
"userDetails": {
|
"expiryType": "time_limited",
|
||||||
"model_type": "TimedAccessUserDetails",
|
"userList": [
|
||||||
"firstName": "Pac",
|
],
|
||||||
"lastName": "Man",
|
"macAllowList": [
|
||||||
"passwordNeedsReset": false
|
],
|
||||||
},
|
"profileType": "captive_portal"
|
||||||
"userMacAddresses": [
|
|
||||||
{
|
|
||||||
"model_type": "MacAddress",
|
|
||||||
"address": "fKtg5upO",
|
|
||||||
"addressAsString": "7c:ab:60:e6:ea:4e"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lastModifiedTimestamp": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "TimedAccessUserRecord",
|
|
||||||
"username": "customer",
|
|
||||||
"password": "testing123",
|
|
||||||
"activationTime": 1602183994957,
|
|
||||||
"expirationTime": 1602187594957,
|
|
||||||
"numDevices": 0,
|
|
||||||
"userDetails": {
|
|
||||||
"model_type": "TimedAccessUserDetails",
|
|
||||||
"firstName": "Q",
|
|
||||||
"lastName": "Bert",
|
|
||||||
"passwordNeedsReset": false
|
|
||||||
},
|
|
||||||
"userMacAddresses": [
|
|
||||||
{
|
|
||||||
"model_type": "MacAddress",
|
|
||||||
"address": "wJrQdqho",
|
|
||||||
"addressAsString": "c0:9a:d0:76:a8:68"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lastModifiedTimestamp": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "TimedAccessUserRecord",
|
|
||||||
"username": "customer2",
|
|
||||||
"password": "testing1234",
|
|
||||||
"activationTime": 1602183994957,
|
|
||||||
"expirationTime": 1602788794957,
|
|
||||||
"numDevices": 1,
|
|
||||||
"userDetails": {
|
|
||||||
"model_type": "TimedAccessUserDetails",
|
|
||||||
"firstName": "Duke",
|
|
||||||
"lastName": "Nukem",
|
|
||||||
"passwordNeedsReset": false
|
|
||||||
},
|
|
||||||
"userMacAddresses": [
|
|
||||||
{
|
|
||||||
"model_type": "MacAddress",
|
|
||||||
"address": "fKtg5upN",
|
|
||||||
"addressAsString": "7c:ab:60:e6:ea:4d"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lastModifiedTimestamp": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "TimedAccessUserRecord",
|
|
||||||
"username": "customer2",
|
|
||||||
"password": "testing1234",
|
|
||||||
"activationTime": 1602183994957,
|
|
||||||
"expirationTime": 1602270394957,
|
|
||||||
"numDevices": 0,
|
|
||||||
"userDetails": {
|
|
||||||
"model_type": "TimedAccessUserDetails",
|
|
||||||
"firstName": "Missile",
|
|
||||||
"lastName": "Commander",
|
|
||||||
"passwordNeedsReset": false
|
|
||||||
},
|
|
||||||
"userMacAddresses": [
|
|
||||||
{
|
|
||||||
"model_type": "MacAddress",
|
|
||||||
"address": "wJrQdqhj",
|
|
||||||
"addressAsString": "c0:9a:d0:76:a8:63"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lastModifiedTimestamp": 0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"macAllowList": [],
|
|
||||||
"profileType": "captive_portal"
|
|
||||||
},
|
},
|
||||||
"createdTimestamp": 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,256 +1,263 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"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": "PasspointMccMnc",
|
||||||
"model_type": "MccMnc",
|
"mcc": 302,
|
||||||
"mcc": 302,
|
"mnc": 720,
|
||||||
"mnc": 720,
|
"iso": "ca",
|
||||||
"iso": "ca",
|
"country": "Canada",
|
||||||
"country": "Canada",
|
"countryCode": 1,
|
||||||
"countryCode": 1,
|
"network": "Rogers AT&T Wireless",
|
||||||
"network": "Rogers AT&T Wireless",
|
"mccMncPairing": "302,720"
|
||||||
"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"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
],
|
||||||
],
|
"naiRealmList": [
|
||||||
"osuIconList": [
|
{
|
||||||
{
|
"model_type": "PasspointNaiRealmInformation",
|
||||||
"model_type": "OsuIcon",
|
"naiRealms": [
|
||||||
"iconWidth": 32,
|
"rogers.com"
|
||||||
"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": [
|
"encoding": 0,
|
||||||
"Credential Type:Certificate"
|
"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": [
|
||||||
"osuIconList": [
|
{
|
||||||
{
|
"model_type": "PasspointOsuIcon",
|
||||||
"model_type": "OsuIcon",
|
"iconWidth": 32,
|
||||||
"iconWidth": 32,
|
"iconHeight": 32,
|
||||||
"iconHeight": 32,
|
"languageCode": "eng",
|
||||||
"languageCode": "eng",
|
"iconLocale": "en_CA",
|
||||||
"iconLocale": "en_CA",
|
"iconName": "icon32eng",
|
||||||
"iconName": "icon32eng",
|
"filePath": "/tmp/icon32eng.png",
|
||||||
"filePath": "/tmp/icon32eng.png",
|
"imageUrl": "https://localhost:9096/icon32eng.png",
|
||||||
"imageUrl": "https://localhost:9096/icon32eng.png",
|
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
||||||
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
},
|
||||||
},
|
{
|
||||||
{
|
"model_type": "PasspointOsuIcon",
|
||||||
"model_type": "OsuIcon",
|
"iconWidth": 32,
|
||||||
"iconWidth": 32,
|
"iconHeight": 32,
|
||||||
"iconHeight": 32,
|
"languageCode": "fra",
|
||||||
"languageCode": "fra",
|
"iconLocale": "fr_CA",
|
||||||
"iconLocale": "fr_CA",
|
"iconName": "icon32fra",
|
||||||
"iconName": "icon32fra",
|
"filePath": "/tmp/icon32fra.png",
|
||||||
"filePath": "/tmp/icon32fra.png",
|
"imageUrl": "https://localhost:9096/icon32fra.png",
|
||||||
"imageUrl": "https://localhost:9096/icon32fra.png",
|
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
||||||
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
},
|
||||||
},
|
{
|
||||||
{
|
"model_type": "PasspointOsuIcon",
|
||||||
"model_type": "OsuIcon",
|
"iconWidth": 32,
|
||||||
"iconWidth": 32,
|
"iconHeight": 32,
|
||||||
"iconHeight": 32,
|
"languageCode": "eng",
|
||||||
"languageCode": "eng",
|
"iconLocale": "en_US",
|
||||||
"iconLocale": "en_US",
|
"iconName": "icon32usa",
|
||||||
"iconName": "icon32usa",
|
"filePath": "/tmp/icon32usa.png",
|
||||||
"filePath": "/tmp/icon32usa.png",
|
"imageUrl": "https://localhost:9096/icon32usa.png",
|
||||||
"imageUrl": "https://localhost:9096/icon32usa.png",
|
"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/telus/",
|
"osuFriendlyName": [
|
||||||
"osuFriendlyName": [
|
{
|
||||||
{
|
"model_type": "PasspointDuple",
|
||||||
"model_type": "Hotspot20Duple",
|
"locale": "eng",
|
||||||
"locale": "en_CA",
|
"dupleIso3Language": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleName": "Example provider rogers",
|
||||||
"dupleName": "Example provider telus",
|
"defaultDupleSeparator": ":",
|
||||||
"defaultDupleSeparator": ":",
|
"asDuple": "eng:Example provider rogers"
|
||||||
"asDuple": "eng:Example provider telus"
|
},
|
||||||
},
|
{
|
||||||
{
|
"model_type": "PasspointDuple",
|
||||||
"model_type": "Hotspot20Duple",
|
"locale": "fra",
|
||||||
"locale": "fr_CA",
|
"dupleIso3Language": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleName": "Exemple de fournisseur rogers",
|
||||||
"dupleName": "Exemple de fournisseur telus",
|
"defaultDupleSeparator": ":",
|
||||||
"defaultDupleSeparator": ":",
|
"asDuple": "fra:Exemple de fournisseur rogers"
|
||||||
"asDuple": "fra:Exemple de fournisseur telus"
|
}
|
||||||
}
|
],
|
||||||
],
|
"osuNaiStandalone": "anonymous@rogers.com",
|
||||||
"osuNaiStandalone": "anonymous@telus.com",
|
"osuNaiShared": "anonymous@rogers.com",
|
||||||
"osuNaiShared": "anonymous@telus.com",
|
"osuMethodList": [
|
||||||
"osuMethodList": [
|
1,
|
||||||
1,
|
0
|
||||||
0
|
],
|
||||||
],
|
"osuServiceDescription": [
|
||||||
"osuServiceDescription": [
|
{
|
||||||
{
|
"model_type": "PasspointDuple",
|
||||||
"model_type": "Hotspot20Duple",
|
"locale": "eng",
|
||||||
"locale": "en_CA",
|
"dupleIso3Language": "eng",
|
||||||
"dupleIso3Language": "eng",
|
"dupleName": "Example services rogers",
|
||||||
"dupleName": "Example services telus",
|
"defaultDupleSeparator": ":",
|
||||||
"defaultDupleSeparator": ":",
|
"asDuple": "eng:Example services rogers"
|
||||||
"asDuple": "eng:Example services telus"
|
},
|
||||||
},
|
{
|
||||||
{
|
"model_type": "PasspointDuple",
|
||||||
"model_type": "Hotspot20Duple",
|
"locale": "fra",
|
||||||
"locale": "fr_CA",
|
"dupleIso3Language": "fra",
|
||||||
"dupleIso3Language": "fra",
|
"dupleName": "Exemples de services rogers",
|
||||||
"dupleName": "Exemples de services telus",
|
"defaultDupleSeparator": ":",
|
||||||
"defaultDupleSeparator": ":",
|
"asDuple": "fra:Exemples de services rogers"
|
||||||
"asDuple": "fra:Exemples de services telus"
|
}
|
||||||
}
|
],
|
||||||
],
|
"roamingOi": [
|
||||||
"profileType": "id_provider"
|
"BAA2D00100",
|
||||||
|
"BAA2D00000"
|
||||||
|
],
|
||||||
|
"profileType": "passpoint_osu_id_provider"
|
||||||
|
},
|
||||||
|
"createdTimestamp": 1611264539070,
|
||||||
|
"lastModifiedTimestamp": 1611264539070,
|
||||||
|
"childProfileIds": []
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602182805660,
|
{
|
||||||
"lastModifiedTimestamp": 1602182805660,
|
"model_type": "Profile",
|
||||||
"childProfileIds": []
|
"id": 36,
|
||||||
}
|
"customerId": 2,
|
||||||
]
|
"profileType": "passpoint_osu_id_provider",
|
||||||
|
"name": "provider2-profile-2021-01-21T21:28:59.118Z",
|
||||||
|
"details": {
|
||||||
|
"model_type": "PasspointOsuProviderProfile",
|
||||||
|
"mccMncList": [
|
||||||
|
{
|
||||||
|
"model_type": "PasspointMccMnc",
|
||||||
|
"mcc": 302,
|
||||||
|
"mnc": 220,
|
||||||
|
"iso": "ca",
|
||||||
|
"country": "Canada",
|
||||||
|
"countryCode": 1,
|
||||||
|
"network": "Telus Mobility",
|
||||||
|
"mccMncPairing": "302,220"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"naiRealmList": [
|
||||||
|
{
|
||||||
|
"model_type": "PasspointNaiRealmInformation",
|
||||||
|
"naiRealms": [
|
||||||
|
"telus.com"
|
||||||
|
],
|
||||||
|
"encoding": 0,
|
||||||
|
"eapMethods": [
|
||||||
|
"EAP-TTLS with username/password",
|
||||||
|
"EAP-TLS with certificate"
|
||||||
|
],
|
||||||
|
"eapMap": {
|
||||||
|
"EAP-TTLS with username/password": [
|
||||||
|
"Credential Type:username/password",
|
||||||
|
"Non-EAP Inner Authentication Type:MSCHAPV2"
|
||||||
|
],
|
||||||
|
"EAP-TLS with certificate": [
|
||||||
|
"Credential Type:Certificate"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"osuIconList": [
|
||||||
|
{
|
||||||
|
"model_type": "PasspointOsuIcon",
|
||||||
|
"iconWidth": 32,
|
||||||
|
"iconHeight": 32,
|
||||||
|
"languageCode": "eng",
|
||||||
|
"iconLocale": "en_CA",
|
||||||
|
"iconName": "icon32eng",
|
||||||
|
"filePath": "/tmp/icon32eng.png",
|
||||||
|
"imageUrl": "https://localhost:9096/icon32eng.png",
|
||||||
|
"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "PasspointOsuIcon",
|
||||||
|
"iconWidth": 32,
|
||||||
|
"iconHeight": 32,
|
||||||
|
"languageCode": "fra",
|
||||||
|
"iconLocale": "fr_CA",
|
||||||
|
"iconName": "icon32fra",
|
||||||
|
"filePath": "/tmp/icon32fra.png",
|
||||||
|
"imageUrl": "https://localhost:9096/icon32fra.png",
|
||||||
|
"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "PasspointOsuIcon",
|
||||||
|
"iconWidth": 32,
|
||||||
|
"iconHeight": 32,
|
||||||
|
"languageCode": "eng",
|
||||||
|
"iconLocale": "en_US",
|
||||||
|
"iconName": "icon32usa",
|
||||||
|
"filePath": "/tmp/icon32usa.png",
|
||||||
|
"imageUrl": "https://localhost:9096/icon32usa.png",
|
||||||
|
"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"osuServerUri": "https://example.com/osu/telus",
|
||||||
|
"osuFriendlyName": [
|
||||||
|
{
|
||||||
|
"model_type": "PasspointDuple",
|
||||||
|
"locale": "eng",
|
||||||
|
"dupleIso3Language": "eng",
|
||||||
|
"dupleName": "Example provider telus",
|
||||||
|
"defaultDupleSeparator": ":",
|
||||||
|
"asDuple": "eng:Example provider telus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "PasspointDuple",
|
||||||
|
"locale": "fra",
|
||||||
|
"dupleIso3Language": "fra",
|
||||||
|
"dupleName": "Exemple de fournisseur telus",
|
||||||
|
"defaultDupleSeparator": ":",
|
||||||
|
"asDuple": "fra:Exemple de fournisseur telus"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"osuNaiStandalone": "anonymous@telus.com",
|
||||||
|
"osuNaiShared": "anonymous@telus.com",
|
||||||
|
"osuMethodList": [
|
||||||
|
1,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"osuServiceDescription": [
|
||||||
|
{
|
||||||
|
"model_type": "PasspointDuple",
|
||||||
|
"locale": "eng",
|
||||||
|
"dupleIso3Language": "eng",
|
||||||
|
"dupleName": "Example services telus",
|
||||||
|
"defaultDupleSeparator": ":",
|
||||||
|
"asDuple": "eng:Example services telus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model_type": "PasspointDuple",
|
||||||
|
"locale": "fra",
|
||||||
|
"dupleIso3Language": "fra",
|
||||||
|
"dupleName": "Exemples de services telus",
|
||||||
|
"defaultDupleSeparator": ":",
|
||||||
|
"asDuple": "fra:Exemples de services telus"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"roamingOi": [
|
||||||
|
"004096",
|
||||||
|
"005014",
|
||||||
|
"F4F5E8F5F4"
|
||||||
|
],
|
||||||
|
"profileType": "passpoint_osu_id_provider"
|
||||||
|
},
|
||||||
|
"createdTimestamp": 1611264539131,
|
||||||
|
"lastModifiedTimestamp": 1611264539131,
|
||||||
|
"childProfileIds": []
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -1,298 +1,299 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"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",
|
||||||
"ApSsid",
|
"ApSsid",
|
||||||
"Client",
|
"Client",
|
||||||
"Channel",
|
"Channel",
|
||||||
"Neighbour"
|
"Neighbour"
|
||||||
],
|
],
|
||||||
"metricConfigParameterMap": {
|
"metricConfigParameterMap": {
|
||||||
"ApNode": [
|
"ApNode": [
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 120,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzL",
|
||||||
"radioType": "is5GHzU",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 120,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzU",
|
||||||
"radioType": "is5GHzL",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 120,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is2dot4GHz",
|
||||||
"radioType": "is2dot4GHz",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzU",
|
||||||
"radioType": "is5GHzL",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is2dot4GHz",
|
||||||
"radioType": "is2dot4GHz",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzL",
|
||||||
"radioType": "is5GHzU",
|
"serviceMetricDataType": "ApNode",
|
||||||
"serviceMetricDataType": "ApNode"
|
"statsReportFormat": "RAW"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"ApSsid": [
|
"ApSsid": [
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is5GHzU",
|
||||||
"serviceMetricDataType": "ApSsid"
|
"serviceMetricDataType": "ApSsid"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"serviceMetricDataType": "ApSsid"
|
"serviceMetricDataType": "ApSsid"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is2dot4GHz",
|
||||||
"serviceMetricDataType": "ApSsid"
|
"serviceMetricDataType": "ApSsid"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"Client": [
|
"Client": [
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is2dot4GHz",
|
"radioType": "is5GHzU",
|
||||||
"serviceMetricDataType": "Client"
|
"serviceMetricDataType": "Client"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is5GHzL",
|
"radioType": "is5GHzL",
|
||||||
"serviceMetricDataType": "Client"
|
"serviceMetricDataType": "Client"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricRadioConfigParameters",
|
"model_type": "ServiceMetricRadioConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"radioType": "is5GHzU",
|
"radioType": "is2dot4GHz",
|
||||||
"serviceMetricDataType": "Client"
|
"serviceMetricDataType": "Client"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"Channel": [
|
"Channel": [
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzL",
|
||||||
"radioType": "is5GHzL",
|
"serviceMetricDataType": "Channel",
|
||||||
"serviceMetricDataType": "Channel"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"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": "is5GHzU",
|
||||||
"radioType": "is2dot4GHz",
|
"serviceMetricDataType": "Channel",
|
||||||
"serviceMetricDataType": "Channel"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"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": "is2dot4GHz",
|
||||||
"radioType": "is5GHzU",
|
"serviceMetricDataType": "Channel",
|
||||||
"serviceMetricDataType": "Channel"
|
"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",
|
||||||
"radioType": "is5GHzL",
|
"serviceMetricDataType": "Channel",
|
||||||
"serviceMetricDataType": "Channel"
|
"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": "is2dot4GHz",
|
||||||
"radioType": "is2dot4GHz",
|
"serviceMetricDataType": "Channel",
|
||||||
"serviceMetricDataType": "Channel"
|
"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": "is5GHzL",
|
||||||
"radioType": "is5GHzU",
|
"serviceMetricDataType": "Channel",
|
||||||
"serviceMetricDataType": "Channel"
|
"statsReportFormat": "RAW"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"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": "is5GHzU",
|
||||||
"radioType": "is5GHzL",
|
"serviceMetricDataType": "Neighbour",
|
||||||
"serviceMetricDataType": "Neighbour"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 60,
|
"reportingIntervalSeconds": 60,
|
||||||
"channelSurveyType": "ON_CHANNEL",
|
"channelSurveyType": "ON_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzL",
|
||||||
"radioType": "is2dot4GHz",
|
"serviceMetricDataType": "Neighbour",
|
||||||
"serviceMetricDataType": "Neighbour"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"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": "is2dot4GHz",
|
||||||
"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",
|
||||||
"radioType": "is5GHzU",
|
"serviceMetricDataType": "Neighbour",
|
||||||
"serviceMetricDataType": "Neighbour"
|
"statsReportFormat": "RAW"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||||
"samplingInterval": 30,
|
"samplingInterval": 30,
|
||||||
"reportingIntervalSeconds": 120,
|
"reportingIntervalSeconds": 120,
|
||||||
"channelSurveyType": "OFF_CHANNEL",
|
"channelSurveyType": "OFF_CHANNEL",
|
||||||
"scanIntervalMillis": 0,
|
"scanIntervalMillis": 0,
|
||||||
"percentUtilizationThreshold": 10,
|
"percentUtilizationThreshold": 10,
|
||||||
"delayMillisecondsThreshold": 600,
|
"delayMillisecondsThreshold": 600,
|
||||||
"statsReportFormat": "RAW",
|
"radioType": "is5GHzL",
|
||||||
"radioType": "is5GHzL",
|
"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": "is2dot4GHz",
|
||||||
"radioType": "is2dot4GHz",
|
"serviceMetricDataType": "Neighbour",
|
||||||
"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": "PasspointDuple",
|
||||||
"model_type": "Hotspot20Duple",
|
"locale": "fra",
|
||||||
"locale": "en_CA",
|
"dupleIso3Language": "fra",
|
||||||
"dupleIso3Language": "eng",
|
"dupleName": "Nom de l'opérateur convivial par défaut",
|
||||||
"dupleName": "Default friendly operator name",
|
"defaultDupleSeparator": ":",
|
||||||
"defaultDupleSeparator": ":",
|
"asDuple": "fra:Nom de l'opérateur convivial par défaut"
|
||||||
"asDuple": "eng:Default friendly operator name"
|
},
|
||||||
},
|
{
|
||||||
{
|
"model_type": "PasspointDuple",
|
||||||
"model_type": "Hotspot20Duple",
|
"locale": "eng",
|
||||||
"locale": "fr_CA",
|
"dupleIso3Language": "eng",
|
||||||
"dupleIso3Language": "fra",
|
"dupleName": "Default friendly passpoint_operator name",
|
||||||
"dupleName": "Nom de l'opérateur convivial par défaut",
|
"defaultDupleSeparator": ":",
|
||||||
"defaultDupleSeparator": ":",
|
"asDuple": "eng:Default friendly passpoint_operator name"
|
||||||
"asDuple": "fra:Nom de l'opérateur convivial par défaut"
|
}
|
||||||
}
|
],
|
||||||
],
|
"domainNameList": [
|
||||||
"profileType": "operator"
|
"bell.ca",
|
||||||
},
|
"telus.com",
|
||||||
"createdTimestamp": 1602113058719,
|
"rogers.com"
|
||||||
"lastModifiedTimestamp": 1602113058719,
|
],
|
||||||
"childProfileIds": []
|
"profileType": "passpoint_operator"
|
||||||
}
|
},
|
||||||
]
|
"createdTimestamp": 1611264539004,
|
||||||
|
"lastModifiedTimestamp": 1611264539004,
|
||||||
|
"childProfileIds": []
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -1,34 +1,24 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "radius",
|
"profileType": "radius",
|
||||||
"name": "Radius-Profile",
|
"name": "Radius-Profile",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "RadiusProfile",
|
"model_type": "RadiusProfile",
|
||||||
"subnetConfiguration": null,
|
"primaryRadiusAuthServer": {
|
||||||
"serviceRegionMap": {
|
"model_type": "RadiusServer",
|
||||||
"Ottawa": {
|
"ipAddress": "192.168.0.1",
|
||||||
"model_type": "RadiusServiceRegion",
|
"secret": "testing123",
|
||||||
"serverMap": {
|
"port": 1812,
|
||||||
"Radius-Profile": [
|
"timeout": null
|
||||||
{
|
},
|
||||||
"model_type": "RadiusServer",
|
"profileType": "radius"
|
||||||
"ipAddress": "192.168.0.1",
|
},
|
||||||
"secret": "testing123",
|
"createdTimestamp": 1611262628767,
|
||||||
"authPort": 1812,
|
"lastModifiedTimestamp": 1611262628767,
|
||||||
"timeout": null
|
"childProfileIds": [
|
||||||
}
|
]
|
||||||
]
|
}
|
||||||
},
|
]
|
||||||
"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,134 +1,75 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"model_type": "Profile",
|
"model_type": "Profile",
|
||||||
"id": 5,
|
"id": 2,
|
||||||
"customerId": 2,
|
"customerId": 2,
|
||||||
"profileType": "ssid",
|
"profileType": "ssid",
|
||||||
"name": "TipWlan-cloud-hotspot-access",
|
"name": "TipWlan-cloud-3-radios",
|
||||||
"details": {
|
"details": {
|
||||||
"model_type": "SsidConfiguration",
|
"model_type": "SsidConfiguration",
|
||||||
"ssid": "TipWlan-cloud-hotspot-access",
|
"ssid": "TipWlan-cloud-3-radios",
|
||||||
"appliedRadios": [
|
"appliedRadios": [
|
||||||
"is5GHzU",
|
"is5GHzU",
|
||||||
"is5GHzL",
|
"is2dot4GHz",
|
||||||
"is2dot4GHz"
|
"is5GHzL"
|
||||||
],
|
],
|
||||||
"ssidAdminState": "enabled",
|
"ssidAdminState": "enabled",
|
||||||
"secureMode": "wpa2PSK",
|
"secureMode": "wpa2OnlyPSK",
|
||||||
"vlanId": 1,
|
"vlanId": 1,
|
||||||
"keyStr": "testing123",
|
"keyStr": "openwifi",
|
||||||
"broadcastSsid": "enabled",
|
"broadcastSsid": "enabled",
|
||||||
"keyRefresh": 0,
|
"keyRefresh": 0,
|
||||||
"noLocalSubnets": false,
|
"noLocalSubnets": false,
|
||||||
"radiusServiceName": null,
|
"radiusServiceId": 0,
|
||||||
"captivePortalId": null,
|
"radiusAcountingServiceInterval": 60,
|
||||||
"bandwidthLimitDown": 0,
|
"captivePortalId": null,
|
||||||
"bandwidthLimitUp": 0,
|
"bandwidthLimitDown": 0,
|
||||||
"clientBandwidthLimitDown": 0,
|
"bandwidthLimitUp": 0,
|
||||||
"clientBandwidthLimitUp": 0,
|
"clientBandwidthLimitDown": 0,
|
||||||
"videoTrafficOnly": false,
|
"clientBandwidthLimitUp": 0,
|
||||||
"radioBasedConfigs": {
|
"videoTrafficOnly": false,
|
||||||
"is5GHz": {
|
"radioBasedConfigs": {
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"is5GHzU": {
|
||||||
"enable80211r": null,
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211k": null,
|
"enable80211r": null,
|
||||||
"enable80211v": null
|
"enable80211k": null,
|
||||||
},
|
"enable80211v": null
|
||||||
"is2dot4GHz": {
|
},
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"is2dot4GHz": {
|
||||||
"enable80211r": null,
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211k": null,
|
"enable80211r": null,
|
||||||
"enable80211v": null
|
"enable80211k": null,
|
||||||
},
|
"enable80211v": null
|
||||||
"is5GHzU": {
|
},
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"is5GHz": {
|
||||||
"enable80211r": null,
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211k": null,
|
"enable80211r": null,
|
||||||
"enable80211v": null
|
"enable80211k": null,
|
||||||
},
|
"enable80211v": null
|
||||||
"is5GHzL": {
|
},
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
"is5GHzL": {
|
||||||
"enable80211r": null,
|
"model_type": "RadioBasedSsidConfiguration",
|
||||||
"enable80211k": null,
|
"enable80211r": null,
|
||||||
"enable80211v": null
|
"enable80211k": null,
|
||||||
}
|
"enable80211v": null
|
||||||
},
|
}
|
||||||
"bonjourGatewayProfileId": null,
|
},
|
||||||
"enable80211w": null,
|
"bonjourGatewayProfileId": null,
|
||||||
"wepConfig": null,
|
"enable80211w": null,
|
||||||
"forwardMode": null,
|
"wepConfig": null,
|
||||||
"profileType": "ssid"
|
"forwardMode": "BRIDGE",
|
||||||
},
|
"profileType": "ssid",
|
||||||
"createdTimestamp": 1602113058718,
|
"radiusClientConfiguration": {
|
||||||
"lastModifiedTimestamp": 1602113059547,
|
"model_type": "RadiusNasConfiguration",
|
||||||
"childProfileIds": [
|
"nasClientId": "DEFAULT",
|
||||||
10
|
"nasClientIp": "WAN_IP",
|
||||||
]
|
"userDefinedNasId": null,
|
||||||
},
|
"userDefinedNasIp": null,
|
||||||
{
|
"operatorId": null
|
||||||
"model_type": "Profile",
|
}
|
||||||
"id": 11,
|
},
|
||||||
"customerId": 2,
|
"createdTimestamp": 1612285248638,
|
||||||
"profileType": "ssid",
|
"lastModifiedTimestamp": 1612285248638,
|
||||||
"name": "TipWlan-cloud-3-radios",
|
"childProfileIds": []
|
||||||
"details": {
|
}
|
||||||
"model_type": "SsidConfiguration",
|
|
||||||
"ssid": "TipWlan-cloud-3-radios",
|
|
||||||
"appliedRadios": [
|
|
||||||
"is5GHzL",
|
|
||||||
"is2dot4GHz",
|
|
||||||
"is5GHzU"
|
|
||||||
],
|
|
||||||
"ssidAdminState": "enabled",
|
|
||||||
"secureMode": "open",
|
|
||||||
"vlanId": 1,
|
|
||||||
"keyStr": null,
|
|
||||||
"broadcastSsid": "enabled",
|
|
||||||
"keyRefresh": 0,
|
|
||||||
"noLocalSubnets": false,
|
|
||||||
"radiusServiceName": null,
|
|
||||||
"captivePortalId": null,
|
|
||||||
"bandwidthLimitDown": 0,
|
|
||||||
"bandwidthLimitUp": 0,
|
|
||||||
"clientBandwidthLimitDown": 0,
|
|
||||||
"clientBandwidthLimitUp": 0,
|
|
||||||
"videoTrafficOnly": false,
|
|
||||||
"radioBasedConfigs": {
|
|
||||||
"is5GHz": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is2dot4GHz": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is5GHzU": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
},
|
|
||||||
"is5GHzL": {
|
|
||||||
"model_type": "RadioBasedSsidConfiguration",
|
|
||||||
"enable80211r": null,
|
|
||||||
"enable80211k": null,
|
|
||||||
"enable80211v": null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bonjourGatewayProfileId": null,
|
|
||||||
"enable80211w": null,
|
|
||||||
"wepConfig": null,
|
|
||||||
"forwardMode": null,
|
|
||||||
"profileType": "ssid"
|
|
||||||
},
|
|
||||||
"createdTimestamp": 1602183994766,
|
|
||||||
"lastModifiedTimestamp": 1602183994766,
|
|
||||||
"childProfileIds": [
|
|
||||||
10
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,42 +1,42 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"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": ":",
|
||||||
"venueUrl": "http://www.example.com/info-fra",
|
"venueUrl": "http://www.example.com/info-fra",
|
||||||
"asDuple": "fra:Exemple de lieu"
|
"asDuple": "fra:Exemple de lieu"
|
||||||
},
|
|
||||||
{
|
|
||||||
"model_type": "VenueName",
|
|
||||||
"locale": "en_CA",
|
|
||||||
"dupleIso3Language": "eng",
|
|
||||||
"dupleName": "Example venue",
|
|
||||||
"defaultDupleSeparator": ":",
|
|
||||||
"venueUrl": "http://www.example.com/info-eng",
|
|
||||||
"asDuple": "eng:Example venue"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"venueTypeAssignment": {
|
|
||||||
"model_type": "VenueTypeAssignment",
|
|
||||||
"venueDescription": "Research and Development Facility",
|
|
||||||
"venueGroupId": 2,
|
|
||||||
"venueTypeId": 8
|
|
||||||
},
|
},
|
||||||
"profileType": "venue"
|
{
|
||||||
|
"model_type": "PasspointVenueName",
|
||||||
|
"locale": "eng",
|
||||||
|
"dupleIso3Language": "eng",
|
||||||
|
"dupleName": "Example passpoint_venue",
|
||||||
|
"defaultDupleSeparator": ":",
|
||||||
|
"venueUrl": "http://www.example.com/info-eng",
|
||||||
|
"asDuple": "eng:Example passpoint_venue"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"venueTypeAssignment": {
|
||||||
|
"model_type": "PasspointVenueTypeAssignment",
|
||||||
|
"venueDescription": "Research and Development Facility",
|
||||||
|
"venueGroupId": 2,
|
||||||
|
"venueTypeId": 8
|
||||||
},
|
},
|
||||||
"createdTimestamp": 1602113058725,
|
"profileType": "passpoint_venue"
|
||||||
"lastModifiedTimestamp": 1602113058725,
|
},
|
||||||
"childProfileIds": []
|
"createdTimestamp": 1611264538947,
|
||||||
}
|
"lastModifiedTimestamp": 1611264538947,
|
||||||
|
"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"/>
|
||||||
|
|||||||
@@ -5,7 +5,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</artifactId>
|
<artifactId>opensync-gateway</artifactId>
|
||||||
@@ -16,14 +16,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 +46,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 -->
|
||||||
@@ -69,7 +72,33 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
<!-- MQTT dependencies END -->
|
<!-- MQTT dependencies END -->
|
||||||
|
|
||||||
|
<!-- Test Dependencies BEGIN -->
|
||||||
|
<dependency>
|
||||||
|
<artifactId>status-service-local</artifactId>
|
||||||
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<artifactId>status-service</artifactId>
|
||||||
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<artifactId>status-datastore-inmemory</artifactId>
|
||||||
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<artifactId>cloud-event-dispatcher-empty</artifactId>
|
||||||
|
<groupId>com.telecominfraproject.wlan</groupId>
|
||||||
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<!-- Test Dependencies END -->
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|
||||||
|
|||||||
@@ -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,7 +6,7 @@ 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;
|
||||||
@@ -20,18 +21,23 @@ 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.netflix.servo.monitor.BasicCounter;
|
||||||
|
import com.netflix.servo.monitor.BasicTimer;
|
||||||
|
import com.netflix.servo.monitor.Counter;
|
||||||
|
import com.netflix.servo.monitor.MonitorConfig;
|
||||||
|
import com.netflix.servo.monitor.Stopwatch;
|
||||||
|
import com.netflix.servo.monitor.Timer;
|
||||||
|
import com.netflix.servo.tag.TagList;
|
||||||
|
import com.telecominfraproject.wlan.cloudmetrics.CloudMetricsTags;
|
||||||
import com.telecominfraproject.wlan.opensync.external.integration.OpensyncExternalIntegrationInterface;
|
import com.telecominfraproject.wlan.opensync.external.integration.OpensyncExternalIntegrationInterface;
|
||||||
|
import com.telecominfraproject.wlan.opensync.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 +49,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 OpensyncExternalIntegrationInterface opensyncExternalIntegrationInterface;
|
||||||
|
|
||||||
|
@Value("${tip.wlan.internalHostName:localhost}")
|
||||||
|
private String internalHostName;
|
||||||
|
|
||||||
|
// 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 +81,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 +109,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,133 +139,71 @@ 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_" + internalHostName);
|
||||||
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/opensync_mqtt_" + internalHostName + "/#", 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());
|
|
||||||
|
|
||||||
byte payload[] = mqttMsg.getPayload();
|
|
||||||
// we acknowledge right after receive because:
|
|
||||||
// a. none of the stats messages are so important
|
|
||||||
// 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) {
|
|
||||||
// looks like zlib-compressed data, let's
|
|
||||||
// decompress
|
|
||||||
// it before deserializing
|
|
||||||
payload = ZlibUtil.decompress(payload);
|
|
||||||
}
|
|
||||||
|
|
||||||
// attempt to parse the message as protobuf
|
|
||||||
MessageOrBuilder encodedMsg = null;
|
|
||||||
try {
|
try {
|
||||||
|
byte payload[] = mqttMsg.getPayload();
|
||||||
|
messagesReceived.increment();
|
||||||
|
messageBytesReceived.increment(payload.length);
|
||||||
|
|
||||||
encodedMsg = Report.parseFrom(payload);
|
if (payload[0] == 0x78) {
|
||||||
|
// looks like zlib-compressed data, let's
|
||||||
MQTT_LOG.info("topic = {} Report = {}", mqttMsg.getTopic(),
|
// decompress
|
||||||
jsonPrinter.print(encodedMsg));
|
// it before deserializing
|
||||||
|
payload = ZlibUtil.decompress(payload);
|
||||||
|
}
|
||||||
extIntegrationInterface.processMqttMessage(mqttMsg.getTopic(), (Report) encodedMsg);
|
// Only supported protobuf on the TIP opensync APs is Report
|
||||||
|
Report statsReport = Report.parseFrom(payload);
|
||||||
|
mqttMsg.ack();
|
||||||
|
MQTT_LOG.info("Topic {}\n{}", mqttMsg.getTopic(), jsonPrinter.print(statsReport));
|
||||||
|
opensyncExternalIntegrationInterface.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 (Throwable 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 +229,5 @@ public class OpensyncMqttClient implements ApplicationListener<ContextClosedEven
|
|||||||
mqttClientThread.interrupt();
|
mqttClientThread.interrupt();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
@@ -17,9 +24,23 @@ import com.vmware.ovsdb.service.OvsdbClient;
|
|||||||
public class OvsdbSessionMap implements OvsdbSessionMapInterface {
|
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);
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user