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:
Mike Hansen
2020-10-05 13:29:05 -04:00
parent 1d8889a857
commit 4d624233c6
22 changed files with 763 additions and 172 deletions

View File

@@ -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());

View File

@@ -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 + "]";
}
}

View File

@@ -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);
}
}

View 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
]
}
]

View 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": []
}
]

View 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": []
}
]

View File

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

View File

@@ -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

View 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
]
}
]

View 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": []
}
]

View 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": []
}
]

View File

@@ -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"

View 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

View 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
]
}
]

View 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": []
}
]

View 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": []
}
]

View File

@@ -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"

View 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
]
}
]

View 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": []
}
]

View 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": []
}
]

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.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"/>
<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.hotspot20ProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileHotspot20.json&#10;-Dtip.wlan.ovsdb.operatorProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileOperator.json&#10;-Dtip.wlan.ovsdb.venueProfileFileName=${project_loc:opensync-ext-static}/src/main/resources/ProfileVenue.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;-Dtip.wlan.preventClientCnAlteration=false&#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

@@ -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;
}