Merge branch 'master' of github.com:Telecominfraproject/wlan-cloud-opensync-controller

This commit is contained in:
Mike Hansen
2020-09-30 18:22:39 -04:00
8 changed files with 488 additions and 18 deletions

View File

@@ -76,6 +76,7 @@ import com.telecominfraproject.wlan.profile.models.ProfileContainer;
import com.telecominfraproject.wlan.profile.models.ProfileType;
import com.telecominfraproject.wlan.profile.network.models.ApNetworkConfiguration;
import com.telecominfraproject.wlan.profile.network.models.RadioProfileConfiguration;
import com.telecominfraproject.wlan.profile.rf.models.RfConfiguration;
import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration;
import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration.SecureMode;
import com.telecominfraproject.wlan.routing.RoutingServiceInterface;
@@ -382,7 +383,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
Set<RadioType> radioTypes = radioProfileMap.keySet();
for (RadioType radioType : radioTypes) {
// SSID Profile set in AP Profile
// SSID Profile init
Profile ssidProfile = new Profile();
ssidProfile.setCustomerId(ce.getCustomerId());
ssidProfile.setName(autoProvisionedSsid + radioType.name() + " for " + ce.getName());
@@ -401,10 +402,28 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
ssidProfile = profileServiceInterface.create(ssidProfile);
apProfile.getChildProfileIds().add(ssidProfile.getId());
apProfile = profileServiceInterface.update(apProfile);
}
// RF Profile Init
Profile rfProfile = new Profile();
rfProfile.setCustomerId(ce.getCustomerId());
rfProfile.setName("DefaultRf for " + ce.getName());
RfConfiguration rfConfig = RfConfiguration.createWithDefaults();
// Override default values
for (RadioType radioType : radioTypes) {
rfConfig.getRfConfig(radioType).setRf(rfProfile.getName());
}
rfProfile.setDetails(rfConfig);
rfProfile = profileServiceInterface.create(rfProfile);
apProfile.getChildProfileIds().add(rfProfile.getId());
// Update AP profile with SSID and RF child profiles
apProfile = profileServiceInterface.update(apProfile);
return apProfile;
}
@@ -762,6 +781,8 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
ret.setApProfile(profileContainer.getOrNull(equipmentConfig.getProfileId()));
ret.setRfProfile(profileContainer.getChildOfTypeOrNull(equipmentConfig.getProfileId(), ProfileType.rf));
ret.setSsidProfile(
profileContainer.getChildrenOfType(equipmentConfig.getProfileId(), ProfileType.ssid));

View File

@@ -47,6 +47,7 @@ import com.telecominfraproject.wlan.profile.ProfileServiceInterface;
import com.telecominfraproject.wlan.profile.models.Profile;
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.profile.ssid.models.RadioBasedSsidConfiguration;
import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration;
import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration.SecureMode;
@@ -206,6 +207,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
long locationId = ce.getLocationId();
long profileId = ce.getProfileId();
if (LOG.isTraceEnabled()) {
// prepare a JSONPrinter to format protobuf messages as
@@ -230,7 +232,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
populateApClientMetrics(metricRecordList, report, customerId, equipmentId, locationId);
populateApNodeMetrics(metricRecordList, report, customerId, equipmentId, locationId);
populateNeighbourScanReports(metricRecordList, report, customerId, equipmentId, locationId);
populateChannelInfoReports(metricRecordList, report, customerId, equipmentId, locationId);
populateChannelInfoReports(metricRecordList, report, customerId, equipmentId, locationId, profileId);
populateApSsidMetrics(metricRecordList, report, customerId, equipmentId, apId, locationId);
// TODO: uncomment when AP support present
populateSipCallReport(metricRecordList, report, customerId, equipmentId, apId, locationId);
@@ -2249,10 +2251,15 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
}
void populateChannelInfoReports(List<ServiceMetric> metricRecordList, Report report, int customerId,
long equipmentId, long locationId) {
long equipmentId, long locationId, long profileId) {
LOG.debug("populateChannelInfoReports for Customer {} Equipment {}", customerId, equipmentId);
ProfileContainer profileContainer = new ProfileContainer(
profileServiceInterface.getProfileWithChildren(profileId));
RfConfiguration rfConfig = (RfConfiguration) profileContainer.getChildOfTypeOrNull(profileId, ProfileType.rf)
.getDetails();
for (Survey survey : report.getSurveyList()) {
ServiceMetric smr = new ServiceMetric();

View File

@@ -3,10 +3,10 @@
"id": 9,
"customerId": 2,
"profileType": "rf",
"name": "DefaultRf-2g",
"name": "DefaultRf",
"details": {
"model_type": "RfConfiguration",
"rf": "Default-RF-2g",
"rf": "Default-RF",
"profileType": "rf",
"rfConfigMap": {
"is2dot4GHz": {
@@ -18,12 +18,55 @@
"mimoMode": "twoBytwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": "disabled",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"value": 32
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -80,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 20,
"minLoadFactor": 50
}
},
"is5GHz": {
@@ -35,12 +78,55 @@
"mimoMode": "twoBytwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": "disabled",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"value": 32
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -80,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 20,
"minLoadFactor": 50
}
},
"is5GHzL": {
@@ -52,12 +138,55 @@
"mimoMode": "twoBytwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": "disabled",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"value": 32
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -80,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
},
"is5GHzU": {
@@ -69,12 +198,55 @@
"mimoMode": "twoBytwo",
"maxNumClients": 100,
"multicastRate": "auto",
"autoChannelSelection": "disabled",
"autoChannelSelection": false,
"activeScanSettings": {
"model_type": "ActiveScanSettings",
"enabled": true,
"scanFrequencySeconds": 10,
"scanDurationMillis": 65
},
"managementRate": "auto",
"rxCellSizeDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"probeResponseThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"clientDisconnectThresholdDb": {
"model_type": "AutoOrManualValue",
"auto": true,
"value": -90
},
"eirpTxPower": {
"model_type": "AutoOrManualValue",
"auto": false,
"value": 32
},
"bestApEnabled": null,
"neighbouringListApConfig": {
"model_type": "NeighbouringAPListConfiguration",
"minSignal": -85,
"maxAps": 25
},
"minAutoCellSize": -80,
"perimeterDetectionEnabled": true,
"channelHopSettings": {
"model_type": "ChannelHopSettings",
"noiseFloorThresholdInDB": -75,
"noiseFloorThresholdTimeInSeconds": 180,
"nonWifiThresholdInPercentage": 50,
"nonWifiThresholdTimeInSeconds": 180,
"obssHopMode": "NON_WIFI"
},
"bestApSettings": {
"model_type": "RadioBestApSettings",
"mlComputed": true,
"dropInSnrPercentage": 30,
"minLoadFactor": 40
}
}
},

View File

@@ -34,6 +34,7 @@ OVSDB_SERVER_TRUSTSTORE_PASSWORD="${OVSDB_SERVER_TRUSTSTORE_PASSWORD:=mypassword
OVSDB_EQUIPMENT_CONFIG_FILE="${OVSDB_EQUIPMENT_CONFIG_FILE:=/app/opensync/EquipmentExample.json}"
OVSDB_APPROFILE_CONFIG_FILE="${OVSDB_AP_PROFILE_CONFIG_FILE:=/app/opensync/ProfileAPExample.json}"
OVSDB_METRICSPROFILE_CONFIG_FILE="${OVSDB_METRICSPROFILE_CONFIG_FILE:=/app/opensync/ProfileMetrics.json}"
OVSDB_RFPROFILE_CONFIG_FILE="${OVSDB_RF_PROFILE_CONFIG_FILE:=/app/opensync/ProfileRf.json}"
OVSDB_SSIDPROFILE_CONFIG_FILE="${OVSDB_SSIDPROFILE_CONFIG_FILE:=/app/opensync/ProfileSsid.json}"
OVSDB_LOCATION_CONFIG_FILE="${OVSDB_LOCATION_CONFIG_FILE:=/app/opensync/LocationBuildingExample.json}"
OVSDB_RADIUSPROFILE_CONFIG_FILE="${OVSDB_RADIUSPROFILE_CONFIG_FILE:=/app/opensync/ProfileRadius.json}"
@@ -131,6 +132,7 @@ OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.keyStorePassword=$OVSDB_SERVER_KEYSTO
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.customerEquipmentFileName=$OVSDB_EQUIPMENT_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.apProfileFileName=$OVSDB_APPROFILE_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.metricsProfileFileName=$OVSDB_METRICSPROFILE_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.rfProfileFileName=$OVSDB_RFPROFILE_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.ssidProfileFileName=$OVSDB_SSIDPROFILE_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.radiusProfileFileName=$OVSDB_RADIUSPROFILE_CONFIG_FILE"
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.locationFileName=$OVSDB_LOCATION_CONFIG_FILE"

View File

@@ -22,6 +22,7 @@ OVSDB_PROPS+=" -Dtip.wlan.ovsdb.keyStore=/opt/tip-wlan/certs/server.pkcs12"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.customerEquipmentFileName=$OVSDB_EQUIPMENT_CONFIG_FILE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.apProfileFileName=$OVSDB_APPROFILE_CONFIG_FILE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.metricsProfileFileName=$OVSDB_METRICSPROFILE_CONFIG_FILE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.rfProfileFileName=$OVSDB_RFPROFILE_CONFIG_FILE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.ssidProfileFileName=$OVSDB_SSIDPROFILE_CONFIG_FILE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.radiusProfileFileName=$OVSDB_RADIUSPROFILE_CONFIG_FILE"
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.captiveProfileFileName=$OVSDB_CAPTIVEPROFILE_CONFIG_FILE"

View File

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

View File

@@ -14,5 +14,5 @@
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="opensync-gateway-static-process"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="opensync-gateway-static-process"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="--add-opens java.base/java.lang=ALL-UNNAMED&#10;&#10;-Dssl.props=file://${project_loc:opensync-gateway-static-process}/src/main/resources/app/certs/ssl.properties&#10;-Dtip.wlan.httpClientConfig=file://${project_loc:opensync-gateway-static-process}/src/main/resources/app/certs/httpClientConfig.json&#10;&#10;-Djavax.net.ssl.keyStore=${tip_wlan_service_certs}/client_keystore.jks&#10;-Djavax.net.ssl.keyStorePassword=mypassword&#10;-Djavax.net.ssl.trustStore=${tip_wlan_service_certs}/truststore.jks&#10;-Djavax.net.ssl.trustStorePassword=mypassword&#10;&#10;-Dtip.wlan.ovsdb.managerAddr=${local_server_address}&#10;-Dtip.wlan.ovsdb.listenPort=6640&#10;-Dtip.wlan.ovsdb.redirector.listenPort=6643&#10;-Dtip.wlan.ovsdb.timeoutSec=30&#10;-Dtip.wlan.ovsdb.trustStore=${tip_wlan_service_certs}/truststore.jks&#10;-Dtip.wlan.ovsdb.keyStore=${tip_wlan_service_certs}/server.pkcs12&#10;&#10;-Dtip.wlan.ovsdb.customerEquipmentFileName=${project_loc:opensync-ext-static}/src/main/resources/EquipmentExample.json&#10;-Dtip.wlan.ovsdb.apProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileAPExample.json&#10;-Dtip.wlan.ovsdb.metricsProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileMetrics.json&#10;-Dtip.wlan.ovsdb.ssidProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileSsid.json&#10;-Dtip.wlan.ovsdb.locationFileName=${project_loc:opensync-ext-static}/src/main/resources/LocationBuildingExample.json&#10;-Dtip.wlan.ovsdb.radiusProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileRadius.json&#10;-Dtip.wlan.ovsdb.captiveProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileCaptive.json&#10;-Dtip.wlan.mqttBroker.address.internal=${local_server_address}&#10;-Dtip.wlan.mqttBroker.address.external=${local_server_address}&#10;-Dtip.wlan.mqttBroker.listenPort=1883&#10;-Dtip.wlan.ovsdb.wifi-iface.default_radio2g=home-ap-24&#10;-Dtip.wlan.ovsdb.wifi-iface.default_radio5gl=home-ap-l50&#10;-Dtip.wlan.ovsdb.wifi-iface.default_radio5gu=home-ap-u50&#10;-Dtip.wlan.ovsdb.wifi-iface.default_radio5g=home-ap-50&#10;-Dtip.wlan.ovsdb.wifi-iface.default_wan_type=eth&#10;-Dtip.wlan.ovsdb.wifi-iface.default_wan_name=eth1&#10;-Dtip.wlan.ovsdb.wifi-iface.default_lan_type=bridge&#10;-Dtip.wlan.ovsdb.wifi-iface.default_lan_name=lan&#10;-Dspring.profiles.include=use_ssl,use_webtoken_auth,use_single_ds,RestTemplateConfiguration_X509_client_cert_auth,opensync_static_config,mqtt_receiver,ovsdb_redirector,ovsdb_manager"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="--add-opens java.base/java.lang=ALL-UNNAMED&#10;&#10;-Dssl.props=file://${project_loc:opensync-gateway-static-process}/src/main/resources/app/certs/ssl.properties&#10;-Dtip.wlan.httpClientConfig=file://${project_loc:opensync-gateway-static-process}/src/main/resources/app/certs/httpClientConfig.json&#10;&#10;-Djavax.net.ssl.keyStore=${tip_wlan_service_certs}/client_keystore.jks&#10;-Djavax.net.ssl.keyStorePassword=mypassword&#10;-Djavax.net.ssl.trustStore=${tip_wlan_service_certs}/truststore.jks&#10;-Djavax.net.ssl.trustStorePassword=mypassword&#10;&#10;-Dtip.wlan.ovsdb.managerAddr=${local_server_address}&#10;-Dtip.wlan.ovsdb.listenPort=6640&#10;-Dtip.wlan.ovsdb.redirector.listenPort=6643&#10;-Dtip.wlan.ovsdb.timeoutSec=30&#10;-Dtip.wlan.ovsdb.trustStore=${tip_wlan_service_certs}/truststore.jks&#10;-Dtip.wlan.ovsdb.keyStore=${tip_wlan_service_certs}/server.pkcs12&#10;&#10;-Dtip.wlan.ovsdb.customerEquipmentFileName=${project_loc:opensync-ext-static}/src/main/resources/EquipmentExample.json&#10;-Dtip.wlan.ovsdb.apProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileAPExample.json&#10;-Dtip.wlan.ovsdb.metricsProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileMetrics.json&#10;-Dtip.wlan.ovsdb.rfProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileRf.json&#10;-Dtip.wlan.ovsdb.ssidProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileSsid.json&#10;-Dtip.wlan.ovsdb.locationFileName=${project_loc:opensync-ext-static}/src/main/resources/LocationBuildingExample.json&#10;-Dtip.wlan.ovsdb.radiusProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileRadius.json&#10;-Dtip.wlan.ovsdb.captiveProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileCaptive.json&#10;-Dtip.wlan.mqttBroker.address.internal=${local_server_address}&#10;-Dtip.wlan.mqttBroker.address.external=${local_server_address}&#10;-Dtip.wlan.mqttBroker.listenPort=1883&#10;-Dtip.wlan.ovsdb.wifi-iface.default_radio2g=home-ap-24&#10;-Dtip.wlan.ovsdb.wifi-iface.default_radio5gl=home-ap-l50&#10;-Dtip.wlan.ovsdb.wifi-iface.default_radio5gu=home-ap-u50&#10;-Dtip.wlan.ovsdb.wifi-iface.default_radio5g=home-ap-50&#10;-Dtip.wlan.ovsdb.wifi-iface.default_wan_type=eth&#10;-Dtip.wlan.ovsdb.wifi-iface.default_wan_name=eth1&#10;-Dtip.wlan.ovsdb.wifi-iface.default_lan_type=bridge&#10;-Dtip.wlan.ovsdb.wifi-iface.default_lan_name=lan&#10;-Dspring.profiles.include=use_ssl,use_webtoken_auth,use_single_ds,RestTemplateConfiguration_X509_client_cert_auth,opensync_static_config,mqtt_receiver,ovsdb_redirector,ovsdb_manager"/>
</launchConfiguration>

View File

@@ -76,6 +76,8 @@ import com.telecominfraproject.wlan.profile.network.models.ApNetworkConfiguratio
import com.telecominfraproject.wlan.profile.radius.models.RadiusProfile;
import com.telecominfraproject.wlan.profile.radius.models.RadiusServer;
import com.telecominfraproject.wlan.profile.radius.models.RadiusServiceRegion;
import com.telecominfraproject.wlan.profile.rf.models.RfConfiguration;
import com.telecominfraproject.wlan.profile.rf.models.RfElementConfiguration;
import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration;
import com.telecominfraproject.wlan.servicemetric.models.ServiceMetricDataType;
import com.vmware.ovsdb.exception.OvsdbClientException;
@@ -1796,13 +1798,16 @@ public class OvsdbDao {
ApElementConfiguration apElementConfiguration = (ApElementConfiguration) opensyncAPConfig.getCustomerEquipment()
.getDetails();
RfConfiguration rfConfig = (RfConfiguration) opensyncAPConfig.getRfProfile().getDetails();
for (RadioType radioType : apElementConfiguration.getRadioMap().keySet()) {
Map<String, String> hwConfig = new HashMap<>();
ElementRadioConfiguration elementRadioConfig = apElementConfiguration.getRadioMap().get(radioType);
RfElementConfiguration rfElementConfig = rfConfig.getRfConfig(radioType);
int channel = elementRadioConfig.getChannelNumber();
ChannelBandwidth bandwidth = elementRadioConfig.getChannelBandwidth();
// ChannelBandwidth bandwidth = rfElementConfig.getChannelBandwidth();
String ht_mode = null;
switch (bandwidth) {
case is20MHz:
@@ -1827,6 +1832,7 @@ public class OvsdbDao {
RadioConfiguration radioConfig = apElementConfiguration.getAdvancedRadioMap().get(radioType);
int beaconInterval = radioConfig.getBeaconInterval();
// int beaconInterval = rfElementConfig.getBeaconInterval();
boolean enabled = radioConfig.getRadioAdminState().equals(StateSetting.enabled);
int txPower = 0;
@@ -2759,6 +2765,7 @@ public class OvsdbDao {
SsidConfiguration ssidConfig = (SsidConfiguration) ssidProfile.getDetails();
ApElementConfiguration apElementConfig = (ApElementConfiguration) opensyncApConfig.getCustomerEquipment()
.getDetails();
RfConfiguration rfConfig = (RfConfiguration) opensyncApConfig.getRfProfile().getDetails();
for (RadioType radioType : ssidConfig.getAppliedRadios()) {
// Still put profiles on disabled radios for now.
@@ -2859,8 +2866,10 @@ public class OvsdbDao {
if (radioConfiguration == null) {
continue; // don't have a radio of this kind in the map
}
RfElementConfiguration rfElementConfig = rfConfig.getRfConfig(radioType);
int dtimPeriod = radioConfiguration.getDtimPeriod();
int rtsCtsThreshold = radioConfiguration.getRtsCtsThreshold();
// int rtsCtsThreshold = rfElementConfig.getRtsCtsThreshold();
int fragThresholdBytes = radioConfiguration.getFragmentationThresholdBytes();
RadioMode radioMode = radioConfiguration.getRadioMode();
String minHwMode = "11n"; // min_hw_mode is 11ac, wifi 5, we can