mirror of
https://github.com/Telecominfraproject/wlan-cloud-opensync-controller.git
synced 2026-01-08 13:01:35 +00:00
WIFI-900: add global property for toggling mutation of clientCn
-Dtip.wlan.preventClientCnAlteration=false //default, change to avoid appending the serial number to the clientCn
This commit is contained in:
@@ -229,7 +229,7 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
|
||||
ce.setSerial(connectNodeInfo.serialNumber);
|
||||
ce.setDetails(ApElementConfiguration.createWithDefaults());
|
||||
ce.setCustomerId(autoProvisionedCustomerId);
|
||||
ce.setName(ce.getEquipmentType().name() + "_" + ce.getSerial());
|
||||
ce.setName(apId);
|
||||
|
||||
ApElementConfiguration apElementConfig = (ApElementConfiguration) ce.getDetails();
|
||||
apElementConfig.setDeviceName(ce.getName());
|
||||
|
||||
@@ -2,8 +2,10 @@ package com.telecominfraproject.wlan.opensync.external.integration.models;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
public class ConnectNodeInfo implements Cloneable {
|
||||
|
||||
public Map<String, String> mqttSettings = new HashMap<>();
|
||||
public Map<String, String> versionMatrix = new HashMap<>();
|
||||
public Map<String, String> wifiRadioStates = new HashMap<>();
|
||||
@@ -45,13 +47,45 @@ public class ConnectNodeInfo implements Cloneable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.format(
|
||||
"ConnectNodeInfo [mqttSettings=%s, redirectorAddr=%s, managerAddr=%s, skuNumber=%s, serialNumber=%s, "
|
||||
+ "macAddress=%s, ipV4Address=%s, platformVersion=%s, firmwareVersion=%s, revision=%s, model=%s, ifName=%s, lanIpV4Address=%s, lanIfName=%s, lanIfType=%s, lanMacAddress=%s, ifType=%s, wifiRadioStates=%s, versionMatrix=%s]",
|
||||
mqttSettings, redirectorAddr, managerAddr, skuNumber, serialNumber, macAddress, ipV4Address,
|
||||
platformVersion, firmwareVersion, revision, model, ifName, lanIpV4Address, lanIfName, lanIfType,
|
||||
lanMacAddress, ifType, wifiRadioStates, versionMatrix);
|
||||
public int hashCode() {
|
||||
return Objects.hash(country, firmwareVersion, ifName, ifType, ipV4Address, lanIfName, lanIfType, lanIpV4Address,
|
||||
lanMacAddress, macAddress, managerAddr, model, mqttSettings, platformVersion, redirectorAddr, revision,
|
||||
serialNumber, skuNumber, versionMatrix, wifiRadioStates);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof ConnectNodeInfo)) {
|
||||
return false;
|
||||
}
|
||||
ConnectNodeInfo other = (ConnectNodeInfo) obj;
|
||||
return Objects.equals(country, other.country) && Objects.equals(firmwareVersion, other.firmwareVersion)
|
||||
&& Objects.equals(ifName, other.ifName) && Objects.equals(ifType, other.ifType)
|
||||
&& Objects.equals(ipV4Address, other.ipV4Address) && Objects.equals(lanIfName, other.lanIfName)
|
||||
&& Objects.equals(lanIfType, other.lanIfType) && Objects.equals(lanIpV4Address, other.lanIpV4Address)
|
||||
&& Objects.equals(lanMacAddress, other.lanMacAddress) && Objects.equals(macAddress, other.macAddress)
|
||||
&& Objects.equals(managerAddr, other.managerAddr) && Objects.equals(model, other.model)
|
||||
&& Objects.equals(mqttSettings, other.mqttSettings)
|
||||
&& Objects.equals(platformVersion, other.platformVersion)
|
||||
&& Objects.equals(redirectorAddr, other.redirectorAddr) && Objects.equals(revision, other.revision)
|
||||
&& Objects.equals(serialNumber, other.serialNumber) && Objects.equals(skuNumber, other.skuNumber)
|
||||
&& Objects.equals(versionMatrix, other.versionMatrix)
|
||||
&& Objects.equals(wifiRadioStates, other.wifiRadioStates);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "ConnectNodeInfo [mqttSettings=" + mqttSettings + ", versionMatrix=" + versionMatrix
|
||||
+ ", wifiRadioStates=" + wifiRadioStates + ", redirectorAddr=" + redirectorAddr + ", managerAddr="
|
||||
+ managerAddr + ", skuNumber=" + skuNumber + ", serialNumber=" + serialNumber + ", macAddress="
|
||||
+ macAddress + ", ipV4Address=" + ipV4Address + ", platformVersion=" + platformVersion
|
||||
+ ", firmwareVersion=" + firmwareVersion + ", revision=" + revision + ", model=" + model + ", ifName="
|
||||
+ ifName + ", ifType=" + ifType + ", country=" + country + ", lanIpV4Address=" + lanIpV4Address
|
||||
+ ", lanIfName=" + lanIfName + ", lanIfType=" + lanIfType + ", lanMacAddress=" + lanMacAddress + "]";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,8 +2,10 @@ package com.telecominfraproject.wlan.opensync.external.integration;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
|
||||
@@ -17,6 +19,7 @@ import com.telecominfraproject.wlan.equipment.models.Equipment;
|
||||
import com.telecominfraproject.wlan.location.models.Location;
|
||||
import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo;
|
||||
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPConfig;
|
||||
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPHotspot20Config;
|
||||
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPInetState;
|
||||
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPRadioState;
|
||||
import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPVIFState;
|
||||
@@ -31,208 +34,237 @@ import wc.stats.IpDnsTelemetry.WCStatsReport;
|
||||
@Component
|
||||
public class OpensyncExternalIntegrationSimple implements OpensyncExternalIntegrationInterface {
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(OpensyncExternalIntegrationSimple.class);
|
||||
private static final Logger LOG = LoggerFactory.getLogger(OpensyncExternalIntegrationSimple.class);
|
||||
|
||||
@Value("${tip.wlan.ovsdb.customerEquipmentFileName:/app/config/EquipmentExample.json}")
|
||||
private String customerEquipmentFileName;
|
||||
@Value("${tip.wlan.ovsdb.customerEquipmentFileName:/app/config/EquipmentExample.json}")
|
||||
private String customerEquipmentFileName;
|
||||
|
||||
@Value("${tip.wlan.ovsdb.apProfileFileName:/app/config/ProfileAPExample.json}")
|
||||
private String apProfileFileName;
|
||||
|
||||
@Value("${tip.wlan.ovsdb.rfProfileFileName:/app/config/ProfileRf.json}")
|
||||
private String rfProfileFileName;
|
||||
@Value("${tip.wlan.ovsdb.apProfileFileName:/app/config/ProfileAPExample.json}")
|
||||
private String apProfileFileName;
|
||||
|
||||
@Value("${tip.wlan.ovsdb.ssidProfileFileName:/app/config/ProfileSsid.json}")
|
||||
private String ssidProfileFileName;
|
||||
@Value("${tip.wlan.ovsdb.rfProfileFileName:/app/config/ProfileRf.json}")
|
||||
private String rfProfileFileName;
|
||||
|
||||
@Value("${tip.wlan.ovsdb.metricsProfileFileName:/app/config/ProfileMetrics.json}")
|
||||
private String metricsProfileFileName;
|
||||
@Value("${tip.wlan.ovsdb.ssidProfileFileName:/app/config/ProfileSsid.json}")
|
||||
private String ssidProfileFileName;
|
||||
|
||||
@Value("${tip.wlan.ovsdb.radiusProfileFileName:/app/config/ProfileRadius.json}")
|
||||
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}")
|
||||
private String locationFileName;
|
||||
@Value("${tip.wlan.ovsdb.metricsProfileFileName:/app/config/ProfileMetrics.json}")
|
||||
private String metricsProfileFileName;
|
||||
|
||||
private String serialNumber = "";
|
||||
@Value("${tip.wlan.ovsdb.venueProfileFileName:/app/config/ProfileVenue.json}")
|
||||
private String venueProfileFileName;
|
||||
|
||||
@PostConstruct
|
||||
private void postCreate() {
|
||||
LOG.info("Using Static integration");
|
||||
}
|
||||
@Value("${tip.wlan.ovsdb.operatorProfileFileName:/app/config/ProfileOperator.json}")
|
||||
private String operatorProfileFileName;
|
||||
|
||||
public void apConnected(String apId, ConnectNodeInfo connectNodeInfo) {
|
||||
serialNumber = connectNodeInfo.serialNumber;
|
||||
LOG.info("AP {} got connected to the gateway", apId);
|
||||
LOG.info("ConnectNodeInfo {}", connectNodeInfo);
|
||||
@Value("${tip.wlan.ovsdb.hotspot20ProfileFileName:/app/config/ProfileHotspot20.json}")
|
||||
private String hotspot20ProfileFileName;
|
||||
|
||||
}
|
||||
@Value("${tip.wlan.ovsdb.radiusProfileFileName:/app/config/ProfileRadius.json}")
|
||||
private String radiusProfileFileName;
|
||||
|
||||
public void apDisconnected(String apId) {
|
||||
LOG.info("AP {} got disconnected from the gateway", apId);
|
||||
}
|
||||
@Value("${tip.wlan.ovsdb.captiveProfileFileName:/app/config/ProfileCaptive.json}")
|
||||
private String captiveProfileFileName;
|
||||
|
||||
public OpensyncAPConfig getApConfig(String apId) {
|
||||
LOG.info("Retrieving config for AP {}", apId);
|
||||
OpensyncAPConfig ret = null;
|
||||
@Value("${tip.wlan.ovsdb.bonjourProfileFileName:/app/config/ProfileBonjour.json}")
|
||||
private String bonjourProfileFileName;
|
||||
|
||||
try {
|
||||
@Value("${tip.wlan.ovsdb.locationFileName:/app/config/LocationBuildingExample.json}")
|
||||
private String locationFileName;
|
||||
|
||||
Equipment equipment = Equipment.fromFile(customerEquipmentFileName, Equipment.class);
|
||||
equipment.setInventoryId(apId);
|
||||
equipment.setName(apId);
|
||||
private String serialNumber = "";
|
||||
|
||||
equipment.setSerial(serialNumber);
|
||||
@PostConstruct
|
||||
private void postCreate() {
|
||||
LOG.info("Using Static integration");
|
||||
}
|
||||
|
||||
com.telecominfraproject.wlan.profile.models.Profile apProfile = com.telecominfraproject.wlan.profile.models.Profile
|
||||
.fromFile(apProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
||||
|
||||
com.telecominfraproject.wlan.profile.models.Profile rfProfile = com.telecominfraproject.wlan.profile.models.Profile
|
||||
.fromFile(rfProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
||||
|
||||
apProfile.getChildProfileIds().add(rfProfile.getId());
|
||||
public void apConnected(String apId, ConnectNodeInfo connectNodeInfo) {
|
||||
serialNumber = connectNodeInfo.serialNumber;
|
||||
LOG.info("AP {} got connected to the gateway", apId);
|
||||
LOG.info("ConnectNodeInfo {}", connectNodeInfo);
|
||||
|
||||
List<com.telecominfraproject.wlan.profile.models.Profile> ssidProfiles = com.telecominfraproject.wlan.profile.models.Profile
|
||||
.listFromFile(ssidProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
||||
}
|
||||
|
||||
ssidProfiles.stream().forEach(p -> apProfile.getChildProfileIds().add(p.getId()));
|
||||
|
||||
List<com.telecominfraproject.wlan.profile.models.Profile> metricsProfiles = com.telecominfraproject.wlan.profile.models.Profile
|
||||
public void apDisconnected(String apId) {
|
||||
LOG.info("AP {} got disconnected from the gateway", apId);
|
||||
}
|
||||
|
||||
public OpensyncAPConfig getApConfig(String apId) {
|
||||
LOG.info("Retrieving config for AP {}", apId);
|
||||
OpensyncAPConfig ret = null;
|
||||
|
||||
try {
|
||||
|
||||
Equipment equipment = Equipment.fromFile(customerEquipmentFileName, Equipment.class);
|
||||
equipment.setInventoryId(apId);
|
||||
equipment.setName(apId);
|
||||
equipment.setSerial(serialNumber);
|
||||
|
||||
com.telecominfraproject.wlan.profile.models.Profile apProfile = com.telecominfraproject.wlan.profile.models.Profile
|
||||
.fromFile(apProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
||||
|
||||
com.telecominfraproject.wlan.profile.models.Profile rfProfile = com.telecominfraproject.wlan.profile.models.Profile
|
||||
.fromFile(rfProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
||||
|
||||
apProfile.getChildProfileIds().add(rfProfile.getId());
|
||||
|
||||
List<com.telecominfraproject.wlan.profile.models.Profile> ssidProfiles = com.telecominfraproject.wlan.profile.models.Profile
|
||||
.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);
|
||||
|
||||
|
||||
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");
|
||||
}
|
||||
List<com.telecominfraproject.wlan.profile.models.Profile> radiusProfiles = com.telecominfraproject.wlan.profile.models.Profile
|
||||
.listFromFile(radiusProfileFileName, com.telecominfraproject.wlan.profile.models.Profile.class);
|
||||
|
||||
equipment.setProfileId(apProfile.getId());
|
||||
|
||||
Location location = Location.fromFile(locationFileName, Location.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");
|
||||
}
|
||||
|
||||
equipment.setLocationId(location.getId());
|
||||
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");
|
||||
}
|
||||
|
||||
ret = new OpensyncAPConfig();
|
||||
ret.setCustomerEquipment(equipment);
|
||||
ret.setApProfile(apProfile);
|
||||
ret.setRfProfile(rfProfile);
|
||||
ret.setMetricsProfiles(metricsProfiles);
|
||||
ret.setSsidProfile(ssidProfiles);
|
||||
ret.setRadiusProfiles(radiusProfiles);
|
||||
ret.setEquipmentLocation(location);
|
||||
ret.setCaptiveProfiles(captiveProfiles);
|
||||
equipment.setProfileId(apProfile.getId());
|
||||
|
||||
Location location = Location.fromFile(locationFileName, Location.class);
|
||||
|
||||
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));
|
||||
|
||||
|
||||
ret = new OpensyncAPConfig();
|
||||
ret.setCustomerEquipment(equipment);
|
||||
ret.setApProfile(apProfile);
|
||||
ret.setRfProfile(rfProfile);
|
||||
ret.setMetricsProfiles(metricsProfiles);
|
||||
ret.setSsidProfile(ssidProfiles);
|
||||
ret.setRadiusProfiles(radiusProfiles);
|
||||
ret.setEquipmentLocation(location);
|
||||
ret.setCaptiveProfiles(captiveProfiles);
|
||||
ret.setBonjourGatewayProfiles(bonjourProfiles);
|
||||
ret.setHotspotConfig(hotspotConfig);
|
||||
|
||||
} catch (IOException e) {
|
||||
LOG.error("Cannot read config file", e);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
LOG.error("Cannot read config file", e);
|
||||
}
|
||||
|
||||
LOG.debug("Config content : {}", ret);
|
||||
LOG.debug("Config content : {}", ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
public void processMqttMessage(String topic, Report report) {
|
||||
LOG.info("Received OpensyncStatsReport on topic {} for ap {}\n{}", topic, report.getNodeID(), report);
|
||||
public void processMqttMessage(String topic, Report report) {
|
||||
LOG.info("Received OpensyncStatsReport on topic {} for ap {}\n{}", topic, report.getNodeID(), report);
|
||||
|
||||
report.getEventReportList().stream().forEach(e -> {
|
||||
LOG.info("Received EventReport {}", e);
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
report.getEventReportList().stream().forEach(e -> {
|
||||
LOG.info("Received EventReport {}", e);
|
||||
});
|
||||
|
||||
public void processMqttMessage(String topic, FlowReport flowReport) {
|
||||
LOG.info("Received FlowReport on topic {} for ap {}", topic, flowReport.getObservationPoint().getNodeId());
|
||||
}
|
||||
|
||||
public void processMqttMessage(String topic, WCStatsReport wcStatsReport) {
|
||||
LOG.info("Received WCStatsReport on topic {} for ap {}", topic,
|
||||
wcStatsReport.getObservationPoint().getNodeId());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void wifiVIFStateDbTableUpdate(List<OpensyncAPVIFState> vifStateTables, String apId) {
|
||||
LOG.info("Received table state update {} for ap {}", vifStateTables, apId);
|
||||
}
|
||||
public void processMqttMessage(String topic, FlowReport flowReport) {
|
||||
LOG.info("Received FlowReport on topic {} for ap {}", topic, flowReport.getObservationPoint().getNodeId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void wifiRadioStatusDbTableUpdate(List<OpensyncAPRadioState> radioStateTable, String apId) {
|
||||
LOG.info("Received table state update {} for ap {}", radioStateTable, apId);
|
||||
public void processMqttMessage(String topic, WCStatsReport wcStatsReport) {
|
||||
LOG.info("Received WCStatsReport on topic {} for ap {}", topic,
|
||||
wcStatsReport.getObservationPoint().getNodeId());
|
||||
}
|
||||
|
||||
}
|
||||
@Override
|
||||
public void wifiVIFStateDbTableUpdate(List<OpensyncAPVIFState> vifStateTables, String apId) {
|
||||
LOG.info("Received table state update {} for ap {}", vifStateTables, apId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void wifiInetStateDbTableUpdate(List<OpensyncAPInetState> inetStateTable, String apId) {
|
||||
LOG.info("Received table state update {} for ap {}", inetStateTable, apId);
|
||||
@Override
|
||||
public void wifiRadioStatusDbTableUpdate(List<OpensyncAPRadioState> radioStateTable, String apId) {
|
||||
LOG.info("Received table state update {} for ap {}", radioStateTable, apId);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void wifiAssociatedClientsDbTableUpdate(List<OpensyncWifiAssociatedClients> wifiAssociatedClients,
|
||||
String apId) {
|
||||
LOG.info("Received table state update {} for ap {}", wifiAssociatedClients, apId);
|
||||
@Override
|
||||
public void wifiInetStateDbTableUpdate(List<OpensyncAPInetState> inetStateTable, String apId) {
|
||||
LOG.info("Received table state update {} for ap {}", inetStateTable, apId);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void awlanNodeDbTableUpdate(OpensyncAWLANNode opensyncAPState, String apId) {
|
||||
LOG.info("Received table state update {} for ap {}", opensyncAPState, apId);
|
||||
@Override
|
||||
public void wifiAssociatedClientsDbTableUpdate(List<OpensyncWifiAssociatedClients> wifiAssociatedClients,
|
||||
String apId) {
|
||||
LOG.info("Received table state update {} for ap {}", wifiAssociatedClients, apId);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void wifiVIFStateDbTableDelete(List<OpensyncAPVIFState> vifStateTables, String apId) {
|
||||
LOG.info("Received table delete {} for ap {}", vifStateTables, apId);
|
||||
@Override
|
||||
public void awlanNodeDbTableUpdate(OpensyncAWLANNode opensyncAPState, String apId) {
|
||||
LOG.info("Received table state update {} for ap {}", opensyncAPState, apId);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void wifiAssociatedClientsDbTableDelete(String deletedClientMac, String apId) {
|
||||
LOG.info("Received Wifi_Associated_Clients row delete {} for ap {}", deletedClientMac, apId);
|
||||
@Override
|
||||
public void wifiVIFStateDbTableDelete(List<OpensyncAPVIFState> vifStateTables, String apId) {
|
||||
LOG.info("Received table delete {} for ap {}", vifStateTables, apId);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void wifiAssociatedClientsDbTableDelete(String deletedClientMac, String apId) {
|
||||
LOG.info("Received Wifi_Associated_Clients row delete {} for ap {}", deletedClientMac, apId);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void wifiInetStateDbTableDelete(List<OpensyncAPInetState> inetStateTables, String apId) {
|
||||
LOG.info("Received Wifi_VIF_State row(s) delete {} for ap {}", inetStateTables, apId);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dhcpLeasedIpDbTableUpdate(List<Map<String, String>> dhcpAttributes, String apId,
|
||||
RowUpdateOperation rowUpdateOperation) {
|
||||
LOG.info("Received DHCP_Leased_IP row(s) {} rowUpdateOperation {} for ap {}", dhcpAttributes, rowUpdateOperation,apId);
|
||||
|
||||
LOG.info("Received DHCP_Leased_IP row(s) {} rowUpdateOperation {} for ap {}", dhcpAttributes,
|
||||
rowUpdateOperation, apId);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void commandStateDbTableUpdate(List<Map<String, String>> commandStateAttributes, String apId,
|
||||
RowUpdateOperation rowUpdateOperation) {
|
||||
LOG.info("Received Command_State row(s) {} rowUpdateOperation {} for ap {}", commandStateAttributes, rowUpdateOperation,apId);
|
||||
|
||||
LOG.info("Received Command_State row(s) {} rowUpdateOperation {} for ap {}", commandStateAttributes,
|
||||
rowUpdateOperation, apId);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
55
opensync-ext-static/src/main/resources/ProfileHotspot20.json
Normal file
55
opensync-ext-static/src/main/resources/ProfileHotspot20.json
Normal file
@@ -0,0 +1,55 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 7777,
|
||||
"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,
|
||||
"profileType": "hotspot_2pt0"
|
||||
},
|
||||
"createdTimestamp": 1601595307355,
|
||||
"lastModifiedTimestamp": 1601595307355,
|
||||
"childProfileIds": [
|
||||
5555,
|
||||
6666
|
||||
]
|
||||
}
|
||||
]
|
||||
35
opensync-ext-static/src/main/resources/ProfileOperator.json
Normal file
35
opensync-ext-static/src/main/resources/ProfileOperator.json
Normal file
@@ -0,0 +1,35 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 5555,
|
||||
"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",
|
||||
"language": "eng",
|
||||
"friendlyName": "default Friendly Operator Name",
|
||||
"formattedFriendlyName": "eng:default Friendly Operator Name"
|
||||
},
|
||||
{
|
||||
"model_type": "Hotspot20Duple",
|
||||
"locale": "fr_CA",
|
||||
"language": "fra",
|
||||
"friendlyName": "Nom de l'opérateur convivial par défaut",
|
||||
"formattedFriendlyName": "fra:Nom de l'opérateur convivial par défaut"
|
||||
}
|
||||
],
|
||||
"profileType": "operator"
|
||||
},
|
||||
"createdTimestamp": 1601595306885,
|
||||
"lastModifiedTimestamp": 1601595306885,
|
||||
"childProfileIds": []
|
||||
}
|
||||
]
|
||||
40
opensync-ext-static/src/main/resources/ProfileVenue.json
Normal file
40
opensync-ext-static/src/main/resources/ProfileVenue.json
Normal file
@@ -0,0 +1,40 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 6666,
|
||||
"customerId": 2,
|
||||
"profileType": "venue",
|
||||
"name": "TipWlan-Hotspot20-Venue",
|
||||
"details": {
|
||||
"model_type": "VenueProfile",
|
||||
"venueNameSet": [
|
||||
{
|
||||
"model_type": "VenueName",
|
||||
"locale": "en_CA",
|
||||
"language": "eng",
|
||||
"venueName": "Example venue",
|
||||
"venueUrl": "http://www.example.com/info-eng",
|
||||
"formattedVenueName": "eng:Example venue"
|
||||
},
|
||||
{
|
||||
"model_type": "VenueName",
|
||||
"locale": "fr_CA",
|
||||
"language": "fra",
|
||||
"venueName": "Exemple de lieu",
|
||||
"venueUrl": "http://www.example.com/info-fra",
|
||||
"formattedVenueName": "fra:Exemple de lieu"
|
||||
}
|
||||
],
|
||||
"venueTypeAssignment": {
|
||||
"model_type": "VenueTypeAssignment",
|
||||
"venueDescription": "Research and Development Facility",
|
||||
"venueGroupId": 2,
|
||||
"venueTypeId": 8
|
||||
},
|
||||
"profileType": "venue"
|
||||
},
|
||||
"createdTimestamp": 1601595306891,
|
||||
"lastModifiedTimestamp": 1601595306891,
|
||||
"childProfileIds": []
|
||||
}
|
||||
]
|
||||
@@ -21,5 +21,5 @@
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="opensync-gateway-cloud-process"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="opensync-gateway-cloud-process"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="--add-opens java.base/java.lang=ALL-UNNAMED -Dssl.props=file://${project_loc:opensync-gateway-cloud-process}/src/main/resources/app/certs/ssl.properties -Dtip.wlan.httpClientConfig=file://${project_loc:opensync-gateway-cloud-process}/src/main/resources/app/certs/httpClientConfig.json -Djavax.net.ssl.keyStore=${tip_wlan_service_certs}/client_keystore.jks -Djavax.net.ssl.keyStorePassword=mypassword -Djavax.net.ssl.trustStore=${tip_wlan_service_certs}/truststore.jks -Djavax.net.ssl.trustStorePassword=mypassword -Dtip.wlan.ovsdb.managerAddr=${local_server_address} -Dtip.wlan.ovsdb.listenPort=6640 -Dtip.wlan.ovsdb.redirector.listenPort=6643 -Dtip.wlan.ovsdb.timeoutSec=30 -Dtip.wlan.ovsdb.trustStore=${tip_wlan_service_certs}/truststore.jks -Dtip.wlan.ovsdb.keyStore=${tip_wlan_service_certs}/server.pkcs12 -Dtip.wlan.mqttBroker.address.internal=${mqtt_broker_address} -Dtip.wlan.mqttBroker.address.external=${mqtt_broker_address} -Dtip.wlan.mqttBroker.listenPort=1883 -Dtip.wlan.introspectTokenApi.host=${local_server_address}:9096 -Dtip.wlan.introspectTokenApi.clientToken=token_placeholder -Dtip.wlan.ovsdb.autoProvisionedCustomerId=2 -Dtip.wlan.ovsdb.autoProvisionedSsid=TipWlan-cloud -Dserver.port=9096 -Dtip.wlan.secondaryPort=7071 -Dspring.profiles.include=opensync_cloud_config,mqtt_receiver,ovsdb_redirector,ovsdb_manager"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="--add-opens java.base/java.lang=ALL-UNNAMED -Dssl.props=file://${project_loc:opensync-gateway-cloud-process}/src/main/resources/app/certs/ssl.properties -Dtip.wlan.httpClientConfig=file://${project_loc:opensync-gateway-cloud-process}/src/main/resources/app/certs/httpClientConfig.json -Djavax.net.ssl.keyStore=${tip_wlan_service_certs}/client_keystore.jks -Djavax.net.ssl.keyStorePassword=mypassword -Djavax.net.ssl.trustStore=${tip_wlan_service_certs}/truststore.jks -Djavax.net.ssl.trustStorePassword=mypassword -Dtip.wlan.ovsdb.managerAddr=${local_server_address} -Dtip.wlan.ovsdb.listenPort=6640 -Dtip.wlan.ovsdb.redirector.listenPort=6643 -Dtip.wlan.ovsdb.timeoutSec=30 -Dtip.wlan.ovsdb.trustStore=${tip_wlan_service_certs}/truststore.jks -Dtip.wlan.ovsdb.keyStore=${tip_wlan_service_certs}/server.pkcs12 -Dtip.wlan.mqttBroker.address.internal=${mqtt_broker_address} -Dtip.wlan.mqttBroker.address.external=${mqtt_broker_address} -Dtip.wlan.mqttBroker.listenPort=1883 -Dtip.wlan.introspectTokenApi.host=${local_server_address}:9096 -Dtip.wlan.introspectTokenApi.clientToken=token_placeholder -Dtip.wlan.ovsdb.autoProvisionedCustomerId=2 -Dtip.wlan.ovsdb.autoProvisionedSsid=TipWlan-cloud -Dtip.wlan.preventClientCnAlteration=false -Dserver.port=9096 -Dtip.wlan.secondaryPort=7071 -Dspring.profiles.include=opensync_cloud_config,mqtt_receiver,ovsdb_redirector,ovsdb_manager"/>
|
||||
</launchConfiguration>
|
||||
|
||||
@@ -28,7 +28,9 @@ COPY app/opensync/ProfileSsid.json /app/opensync/ProfileSsid.json
|
||||
COPY app/opensync/LocationBuildingExample.json /app/opensync/LocationBuildingExample.json
|
||||
COPY app/opensync/ProfileMetrics.json /app/opensync/ProfileMetrics.json
|
||||
COPY app/opensync/ProfileRf.json /app/opensync/ProfileRf.json
|
||||
|
||||
COPY app/opensync/ProfileHotspot20.json /app/opensync/ProfileHotspot20.json
|
||||
COPY app/opensync/ProfileOperator.json /app/opensync/ProfileOperator.json
|
||||
COPY app/opensync/ProfileVenue.json /app/opensync/ProfileVenue.json
|
||||
VOLUME ["/app/logs", "/app/config"]
|
||||
|
||||
RUN chmod +x /app/run.sh
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 7777,
|
||||
"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,
|
||||
"profileType": "hotspot_2pt0"
|
||||
},
|
||||
"createdTimestamp": 1601595307355,
|
||||
"lastModifiedTimestamp": 1601595307355,
|
||||
"childProfileIds": [
|
||||
5555,
|
||||
6666
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,35 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 5555,
|
||||
"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",
|
||||
"language": "eng",
|
||||
"friendlyName": "default Friendly Operator Name",
|
||||
"formattedFriendlyName": "eng:default Friendly Operator Name"
|
||||
},
|
||||
{
|
||||
"model_type": "Hotspot20Duple",
|
||||
"locale": "fr_CA",
|
||||
"language": "fra",
|
||||
"friendlyName": "Nom de l'opérateur convivial par défaut",
|
||||
"formattedFriendlyName": "fra:Nom de l'opérateur convivial par défaut"
|
||||
}
|
||||
],
|
||||
"profileType": "operator"
|
||||
},
|
||||
"createdTimestamp": 1601595306885,
|
||||
"lastModifiedTimestamp": 1601595306885,
|
||||
"childProfileIds": []
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,40 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 6666,
|
||||
"customerId": 2,
|
||||
"profileType": "venue",
|
||||
"name": "TipWlan-Hotspot20-Venue",
|
||||
"details": {
|
||||
"model_type": "VenueProfile",
|
||||
"venueNameSet": [
|
||||
{
|
||||
"model_type": "VenueName",
|
||||
"locale": "en_CA",
|
||||
"language": "eng",
|
||||
"venueName": "Example venue",
|
||||
"venueUrl": "http://www.example.com/info-eng",
|
||||
"formattedVenueName": "eng:Example venue"
|
||||
},
|
||||
{
|
||||
"model_type": "VenueName",
|
||||
"locale": "fr_CA",
|
||||
"language": "fra",
|
||||
"venueName": "Exemple de lieu",
|
||||
"venueUrl": "http://www.example.com/info-fra",
|
||||
"formattedVenueName": "fra:Exemple de lieu"
|
||||
}
|
||||
],
|
||||
"venueTypeAssignment": {
|
||||
"model_type": "VenueTypeAssignment",
|
||||
"venueDescription": "Research and Development Facility",
|
||||
"venueGroupId": 2,
|
||||
"venueTypeId": 8
|
||||
},
|
||||
"profileType": "venue"
|
||||
},
|
||||
"createdTimestamp": 1601595306891,
|
||||
"lastModifiedTimestamp": 1601595306891,
|
||||
"childProfileIds": []
|
||||
}
|
||||
]
|
||||
@@ -34,6 +34,9 @@ OVSDB_SERVER_TRUSTSTORE_PASSWORD="${OVSDB_SERVER_TRUSTSTORE_PASSWORD:=mypassword
|
||||
OVSDB_EQUIPMENT_CONFIG_FILE="${OVSDB_EQUIPMENT_CONFIG_FILE:=/app/opensync/EquipmentExample.json}"
|
||||
OVSDB_APPROFILE_CONFIG_FILE="${OVSDB_AP_PROFILE_CONFIG_FILE:=/app/opensync/ProfileAPExample.json}"
|
||||
OVSDB_METRICSPROFILE_CONFIG_FILE="${OVSDB_METRICSPROFILE_CONFIG_FILE:=/app/opensync/ProfileMetrics.json}"
|
||||
OVSDB_HOTSPOT20SPROFILE_CONFIG_FILE="${OVSDB_HOTSPOT20PROFILE_CONFIG_FILE:=/app/opensync/ProfileHotspot20.json}"
|
||||
OVSDB_OPERATORPROFILE_CONFIG_FILE="${OVSDB_OPERATORPROFILE_CONFIG_FILE:=/app/opensync/ProfileOperator.json}"
|
||||
OVSDB_VENUEPROFILE_CONFIG_FILE="${OVSDB_VENUESPROFILE_CONFIG_FILE:=/app/opensync/ProfileVenue.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}"
|
||||
@@ -132,6 +135,9 @@ 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.hotspot20ProfileFileName=$OVSDB_HOTSPOT20PROFILE_CONFIG_FILE"
|
||||
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.operatorProfileFileName=$OVSDB_OPERATORPROFILE_CONFIG_FILE"
|
||||
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.venueProfileFileName=$OVSDB_VENUEPROFILE_CONFIG_FILE"
|
||||
OVSDB_PROPS="$OVSDB_PROPS -Dtip.wlan.ovsdb.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"
|
||||
|
||||
@@ -15,6 +15,9 @@ COPY app/opensync/ProfileSsid.json /app/opensync/ProfileSsid.json
|
||||
COPY app/opensync/LocationBuildingExample.json /app/opensync/LocationBuildingExample.json
|
||||
COPY app/opensync/ProfileMetrics.json /app/opensync/ProfileMetrics.json
|
||||
COPY app/opensync/ProfileRf.json /app/opensync/ProfileRf.json
|
||||
COPY app/opensync/ProfileHotspot20.json /app/opensync/ProfileHotspot20.json
|
||||
COPY app/opensync/ProfileOperator.json /app/opensync/ProfileOperator.json
|
||||
COPY app/opensync/ProfileVenue.json /app/opensync/ProfileVenue.json
|
||||
|
||||
RUN chmod +x /app/run.sh
|
||||
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 7777,
|
||||
"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,
|
||||
"profileType": "hotspot_2pt0"
|
||||
},
|
||||
"createdTimestamp": 1601595307355,
|
||||
"lastModifiedTimestamp": 1601595307355,
|
||||
"childProfileIds": [
|
||||
5555,
|
||||
6666
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,35 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 5555,
|
||||
"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",
|
||||
"language": "eng",
|
||||
"friendlyName": "default Friendly Operator Name",
|
||||
"formattedFriendlyName": "eng:default Friendly Operator Name"
|
||||
},
|
||||
{
|
||||
"model_type": "Hotspot20Duple",
|
||||
"locale": "fr_CA",
|
||||
"language": "fra",
|
||||
"friendlyName": "Nom de l'opérateur convivial par défaut",
|
||||
"formattedFriendlyName": "fra:Nom de l'opérateur convivial par défaut"
|
||||
}
|
||||
],
|
||||
"profileType": "operator"
|
||||
},
|
||||
"createdTimestamp": 1601595306885,
|
||||
"lastModifiedTimestamp": 1601595306885,
|
||||
"childProfileIds": []
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,40 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 6666,
|
||||
"customerId": 2,
|
||||
"profileType": "venue",
|
||||
"name": "TipWlan-Hotspot20-Venue",
|
||||
"details": {
|
||||
"model_type": "VenueProfile",
|
||||
"venueNameSet": [
|
||||
{
|
||||
"model_type": "VenueName",
|
||||
"locale": "en_CA",
|
||||
"language": "eng",
|
||||
"venueName": "Example venue",
|
||||
"venueUrl": "http://www.example.com/info-eng",
|
||||
"formattedVenueName": "eng:Example venue"
|
||||
},
|
||||
{
|
||||
"model_type": "VenueName",
|
||||
"locale": "fr_CA",
|
||||
"language": "fra",
|
||||
"venueName": "Exemple de lieu",
|
||||
"venueUrl": "http://www.example.com/info-fra",
|
||||
"formattedVenueName": "fra:Exemple de lieu"
|
||||
}
|
||||
],
|
||||
"venueTypeAssignment": {
|
||||
"model_type": "VenueTypeAssignment",
|
||||
"venueDescription": "Research and Development Facility",
|
||||
"venueGroupId": 2,
|
||||
"venueTypeId": 8
|
||||
},
|
||||
"profileType": "venue"
|
||||
},
|
||||
"createdTimestamp": 1601595306891,
|
||||
"lastModifiedTimestamp": 1601595306891,
|
||||
"childProfileIds": []
|
||||
}
|
||||
]
|
||||
@@ -22,6 +22,9 @@ OVSDB_PROPS+=" -Dtip.wlan.ovsdb.keyStore=/opt/tip-wlan/certs/server.pkcs12"
|
||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.customerEquipmentFileName=$OVSDB_EQUIPMENT_CONFIG_FILE"
|
||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.apProfileFileName=$OVSDB_APPROFILE_CONFIG_FILE"
|
||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.metricsProfileFileName=$OVSDB_METRICSPROFILE_CONFIG_FILE"
|
||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.hotspot20ProfileFileName=$OVSDB_HOTSPOT20PROFILE_CONFIG_FILE"
|
||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.operatorProfileFileName=$OVSDB_OPERATORPROFILE_CONFIG_FILE"
|
||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.venueProfileFileName=$OVSDB_VENUEPROFILE_CONFIG_FILE"
|
||||
OVSDB_PROPS+=" -Dtip.wlan.ovsdb.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"
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 7777,
|
||||
"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,
|
||||
"profileType": "hotspot_2pt0"
|
||||
},
|
||||
"createdTimestamp": 1601595307355,
|
||||
"lastModifiedTimestamp": 1601595307355,
|
||||
"childProfileIds": [
|
||||
5555,
|
||||
6666
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,35 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 5555,
|
||||
"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",
|
||||
"language": "eng",
|
||||
"friendlyName": "default Friendly Operator Name",
|
||||
"formattedFriendlyName": "eng:default Friendly Operator Name"
|
||||
},
|
||||
{
|
||||
"model_type": "Hotspot20Duple",
|
||||
"locale": "fr_CA",
|
||||
"language": "fra",
|
||||
"friendlyName": "Nom de l'opérateur convivial par défaut",
|
||||
"formattedFriendlyName": "fra:Nom de l'opérateur convivial par défaut"
|
||||
}
|
||||
],
|
||||
"profileType": "operator"
|
||||
},
|
||||
"createdTimestamp": 1601595306885,
|
||||
"lastModifiedTimestamp": 1601595306885,
|
||||
"childProfileIds": []
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,40 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 6666,
|
||||
"customerId": 2,
|
||||
"profileType": "venue",
|
||||
"name": "TipWlan-Hotspot20-Venue",
|
||||
"details": {
|
||||
"model_type": "VenueProfile",
|
||||
"venueNameSet": [
|
||||
{
|
||||
"model_type": "VenueName",
|
||||
"locale": "en_CA",
|
||||
"language": "eng",
|
||||
"venueName": "Example venue",
|
||||
"venueUrl": "http://www.example.com/info-eng",
|
||||
"formattedVenueName": "eng:Example venue"
|
||||
},
|
||||
{
|
||||
"model_type": "VenueName",
|
||||
"locale": "fr_CA",
|
||||
"language": "fra",
|
||||
"venueName": "Exemple de lieu",
|
||||
"venueUrl": "http://www.example.com/info-fra",
|
||||
"formattedVenueName": "fra:Exemple de lieu"
|
||||
}
|
||||
],
|
||||
"venueTypeAssignment": {
|
||||
"model_type": "VenueTypeAssignment",
|
||||
"venueDescription": "Research and Development Facility",
|
||||
"venueGroupId": 2,
|
||||
"venueTypeId": 8
|
||||
},
|
||||
"profileType": "venue"
|
||||
},
|
||||
"createdTimestamp": 1601595306891,
|
||||
"lastModifiedTimestamp": 1601595306891,
|
||||
"childProfileIds": []
|
||||
}
|
||||
]
|
||||
@@ -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 -Dssl.props=file://${project_loc:opensync-gateway-static-process}/src/main/resources/app/certs/ssl.properties -Dtip.wlan.httpClientConfig=file://${project_loc:opensync-gateway-static-process}/src/main/resources/app/certs/httpClientConfig.json -Djavax.net.ssl.keyStore=${tip_wlan_service_certs}/client_keystore.jks -Djavax.net.ssl.keyStorePassword=mypassword -Djavax.net.ssl.trustStore=${tip_wlan_service_certs}/truststore.jks -Djavax.net.ssl.trustStorePassword=mypassword -Dtip.wlan.ovsdb.managerAddr=${local_server_address} -Dtip.wlan.ovsdb.listenPort=6640 -Dtip.wlan.ovsdb.redirector.listenPort=6643 -Dtip.wlan.ovsdb.timeoutSec=30 -Dtip.wlan.ovsdb.trustStore=${tip_wlan_service_certs}/truststore.jks -Dtip.wlan.ovsdb.keyStore=${tip_wlan_service_certs}/server.pkcs12 -Dtip.wlan.ovsdb.customerEquipmentFileName=${project_loc:opensync-ext-static}/src/main/resources/EquipmentExample.json -Dtip.wlan.ovsdb.apProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileAPExample.json -Dtip.wlan.ovsdb.metricsProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileMetrics.json -Dtip.wlan.ovsdb.rfProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileRf.json -Dtip.wlan.ovsdb.ssidProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileSsid.json -Dtip.wlan.ovsdb.locationFileName=${project_loc:opensync-ext-static}/src/main/resources/LocationBuildingExample.json -Dtip.wlan.ovsdb.radiusProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileRadius.json -Dtip.wlan.ovsdb.captiveProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileCaptive.json -Dtip.wlan.mqttBroker.address.internal=${local_server_address} -Dtip.wlan.mqttBroker.address.external=${local_server_address} -Dtip.wlan.mqttBroker.listenPort=1883 -Dtip.wlan.ovsdb.wifi-iface.default_radio2g=home-ap-24 -Dtip.wlan.ovsdb.wifi-iface.default_radio5gl=home-ap-l50 -Dtip.wlan.ovsdb.wifi-iface.default_radio5gu=home-ap-u50 -Dtip.wlan.ovsdb.wifi-iface.default_radio5g=home-ap-50 -Dtip.wlan.ovsdb.wifi-iface.default_wan_type=eth -Dtip.wlan.ovsdb.wifi-iface.default_wan_name=eth1 -Dtip.wlan.ovsdb.wifi-iface.default_lan_type=bridge -Dtip.wlan.ovsdb.wifi-iface.default_lan_name=lan -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 -Dssl.props=file://${project_loc:opensync-gateway-static-process}/src/main/resources/app/certs/ssl.properties -Dtip.wlan.httpClientConfig=file://${project_loc:opensync-gateway-static-process}/src/main/resources/app/certs/httpClientConfig.json -Djavax.net.ssl.keyStore=${tip_wlan_service_certs}/client_keystore.jks -Djavax.net.ssl.keyStorePassword=mypassword -Djavax.net.ssl.trustStore=${tip_wlan_service_certs}/truststore.jks -Djavax.net.ssl.trustStorePassword=mypassword -Dtip.wlan.ovsdb.managerAddr=${local_server_address} -Dtip.wlan.ovsdb.listenPort=6640 -Dtip.wlan.ovsdb.redirector.listenPort=6643 -Dtip.wlan.ovsdb.timeoutSec=30 -Dtip.wlan.ovsdb.trustStore=${tip_wlan_service_certs}/truststore.jks -Dtip.wlan.ovsdb.keyStore=${tip_wlan_service_certs}/server.pkcs12 -Dtip.wlan.ovsdb.customerEquipmentFileName=${project_loc:opensync-ext-static}/src/main/resources/EquipmentExample.json -Dtip.wlan.ovsdb.apProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileAPExample.json -Dtip.wlan.ovsdb.metricsProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileMetrics.json -Dtip.wlan.ovsdb.rfProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileRf.json -Dtip.wlan.ovsdb.hotspot20ProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileHotspot20.json -Dtip.wlan.ovsdb.operatorProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileOperator.json -Dtip.wlan.ovsdb.venueProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileVenue.json -Dtip.wlan.ovsdb.ssidProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileSsid.json -Dtip.wlan.ovsdb.locationFileName=${project_loc:opensync-ext-static}/src/main/resources/LocationBuildingExample.json -Dtip.wlan.ovsdb.radiusProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileRadius.json -Dtip.wlan.ovsdb.captiveProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileCaptive.json -Dtip.wlan.mqttBroker.address.internal=${local_server_address} -Dtip.wlan.mqttBroker.address.external=${local_server_address} -Dtip.wlan.mqttBroker.listenPort=1883 -Dtip.wlan.ovsdb.wifi-iface.default_radio2g=home-ap-24 -Dtip.wlan.ovsdb.wifi-iface.default_radio5gl=home-ap-l50 -Dtip.wlan.ovsdb.wifi-iface.default_radio5gu=home-ap-u50 -Dtip.wlan.ovsdb.wifi-iface.default_radio5g=home-ap-50 -Dtip.wlan.ovsdb.wifi-iface.default_wan_type=eth -Dtip.wlan.ovsdb.wifi-iface.default_wan_name=eth1 -Dtip.wlan.ovsdb.wifi-iface.default_lan_type=bridge -Dtip.wlan.ovsdb.wifi-iface.default_lan_name=lan -Dtip.wlan.preventClientCnAlteration=false -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>
|
||||
|
||||
@@ -107,7 +107,10 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
||||
// we are augmenting it
|
||||
// with the serialNumber and using it as a key (equivalent
|
||||
// of KDC unique qrCode)
|
||||
String key = clientCn + "_" + connectNodeInfo.serialNumber;
|
||||
String key = clientCn;
|
||||
if (!preventClientCnAlteration) {
|
||||
key = clientCn + "_" + connectNodeInfo.serialNumber;
|
||||
}
|
||||
ovsdbSessionMapInterface.newSession(key, ovsdbClient);
|
||||
|
||||
extIntegrationInterface.apConnected(key, connectNodeInfo);
|
||||
@@ -188,7 +191,10 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
||||
LOG.debug("Starting Client connect");
|
||||
connectNodeInfo = ovsdbDao.updateConnectNodeInfoOnConnect(ovsdbClient, clientCn, connectNodeInfo);
|
||||
|
||||
String apId = clientCn + "_" + connectNodeInfo.serialNumber;
|
||||
String apId = clientCn;
|
||||
if (!preventClientCnAlteration) {
|
||||
apId = clientCn + "_" + connectNodeInfo.serialNumber;
|
||||
}
|
||||
|
||||
LOG.debug("Client connect for AP {}", apId);
|
||||
|
||||
@@ -214,21 +220,6 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Check if device stats is configured in Wifi_Stats_Config table,
|
||||
// provision it
|
||||
// if needed
|
||||
// if (ovsdbDao.getDeviceStatsReportingInterval(ovsdbClient) !=
|
||||
// collectionIntervalSecDeviceStats) {
|
||||
// ovsdbDao.updateDeviceStatsReportingInterval(ovsdbClient,
|
||||
// collectionIntervalSecDeviceStats);
|
||||
// }
|
||||
|
||||
if (((ApNetworkConfiguration) opensyncAPConfig.getApProfile().getDetails()).getSyntheticClientEnabled()) {
|
||||
ovsdbDao.enableNetworkProbeForSyntheticClient(ovsdbClient);
|
||||
}
|
||||
// ovsdbDao.configureWifiInet(ovsdbClient);
|
||||
|
||||
LOG.debug("Client connect Done");
|
||||
return connectNodeInfo;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user