mirror of
https://github.com/Telecominfraproject/wlan-cloud-services.git
synced 2026-01-27 10:23:02 +00:00
WIFI-872: Add Profile for Identity
WIFI-878: Define Data Types for Passpoint Profile models
This commit is contained in:
@@ -30,6 +30,7 @@ COPY app/opensync/ProfileMetrics.json /app/opensync/ProfileMetrics.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
|
||||
COPY app/opensync/ProfileIdProvider.json /app/opensync/ProfileIdProvider.json
|
||||
COPY app/opensync/ProfileRf.json /app/opensync/ProfileRf.json
|
||||
|
||||
VOLUME ["/app/logs", "/app/config"]
|
||||
|
||||
@@ -1,55 +1,49 @@
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 5,
|
||||
"customerId": 2,
|
||||
"profileType": "equipment_ap",
|
||||
"name": "DefaultApProfile",
|
||||
"details": {
|
||||
"model_type": "ApNetworkConfiguration",
|
||||
"networkConfigVersion": "AP-1",
|
||||
"equipmentType": "AP",
|
||||
"vlanNative": true,
|
||||
"vlan": 0,
|
||||
"ntpServer": {
|
||||
"model_type": "AutoOrManualString",
|
||||
"auto": true,
|
||||
"value": "pool.ntp.org"
|
||||
},
|
||||
"syslogRelay": null,
|
||||
"rtlsSettings": null,
|
||||
"syntheticClientEnabled": true,
|
||||
"ledControlEnabled": true,
|
||||
"equipmentDiscovery": false,
|
||||
"radioMap": {
|
||||
"is5GHz": {
|
||||
"model_type": "RadioProfileConfiguration",
|
||||
"bestApEnabled": true,
|
||||
"bestAPSteerType": "both"
|
||||
},
|
||||
"is2dot4GHz": {
|
||||
"model_type": "RadioProfileConfiguration",
|
||||
"bestApEnabled": true,
|
||||
"bestAPSteerType": "both"
|
||||
},
|
||||
"is5GHzU": {
|
||||
"model_type": "RadioProfileConfiguration",
|
||||
"bestApEnabled": true,
|
||||
"bestAPSteerType": "both"
|
||||
},
|
||||
"is5GHzL": {
|
||||
"model_type": "RadioProfileConfiguration",
|
||||
"bestApEnabled": true,
|
||||
"bestAPSteerType": "both"
|
||||
}
|
||||
},
|
||||
"profileType": "equipment_ap"
|
||||
},
|
||||
"createdTimestamp": 1591653239947,
|
||||
"lastModifiedTimestamp": 1591654336724,
|
||||
"childProfileIds": [
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9
|
||||
]
|
||||
}
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 15,
|
||||
"customerId": 2,
|
||||
"profileType": "equipment_ap",
|
||||
"name": "ApProfile-3-radios",
|
||||
"details": {
|
||||
"model_type": "ApNetworkConfiguration",
|
||||
"networkConfigVersion": "AP-1",
|
||||
"equipmentType": "AP",
|
||||
"vlanNative": true,
|
||||
"vlan": 0,
|
||||
"ntpServer": {
|
||||
"model_type": "AutoOrManualString",
|
||||
"auto": true,
|
||||
"value": "pool.ntp.org"
|
||||
},
|
||||
"syslogRelay": null,
|
||||
"rtlsSettings": null,
|
||||
"syntheticClientEnabled": true,
|
||||
"ledControlEnabled": true,
|
||||
"equipmentDiscovery": false,
|
||||
"radioMap": {
|
||||
"is2dot4GHz": {
|
||||
"model_type": "RadioProfileConfiguration",
|
||||
"bestApEnabled": true,
|
||||
"bestAPSteerType": "both"
|
||||
},
|
||||
"is5GHzU": {
|
||||
"model_type": "RadioProfileConfiguration",
|
||||
"bestApEnabled": true,
|
||||
"bestAPSteerType": "both"
|
||||
},
|
||||
"is5GHzL": {
|
||||
"model_type": "RadioProfileConfiguration",
|
||||
"bestApEnabled": true,
|
||||
"bestAPSteerType": "both"
|
||||
}
|
||||
},
|
||||
"profileType": "equipment_ap"
|
||||
},
|
||||
"createdTimestamp": 1601961452652,
|
||||
"lastModifiedTimestamp": 1601961452652,
|
||||
"childProfileIds": [
|
||||
2,
|
||||
9,
|
||||
11
|
||||
]
|
||||
}
|
||||
@@ -1,55 +1,74 @@
|
||||
[
|
||||
{
|
||||
"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
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 8,
|
||||
"customerId": 2,
|
||||
"profileType": "hotspot_2pt0",
|
||||
"name": "TipWlan-Hotspot20-Config",
|
||||
"details": {
|
||||
"model_type": "Hotspot2Profile",
|
||||
"enableInterworkingAndHs20": true,
|
||||
"hessid": null,
|
||||
"accessNetworkType": "free_public_network",
|
||||
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
|
||||
"additionalStepsRequiredForAccess": 0,
|
||||
"deauthRequestTimeout": 0,
|
||||
"operatingClass": 0,
|
||||
"termsAndConditionsFile": {
|
||||
"model_type": "ManagedFileInfo",
|
||||
"md5checksum": null,
|
||||
"lastModifiedTimestamp": null,
|
||||
"apExportUrl": "https://localhost:9091/filestore/termsAndConditions",
|
||||
"fileCategory": "ExternalPolicyConfiguration",
|
||||
"fileType": "TEXT",
|
||||
"altSlot": false
|
||||
},
|
||||
"whitelistDomain": null,
|
||||
"emergencyServicesReachable": true,
|
||||
"unauthenticatedEmergencyServiceAccessible": false,
|
||||
"internetConnectivity": true,
|
||||
"connectionCapabilitySet": [
|
||||
{
|
||||
"model_type": "ConnectionCapability",
|
||||
"connectionCapabilitiesPortNumber": 8888,
|
||||
"connectionCapabilitiesIpProtocol": "TCP",
|
||||
"connectionCapabilitiesStatus": "open"
|
||||
}
|
||||
],
|
||||
"ipAddressTypeAvailability": "public_IPv4_address_available",
|
||||
"qosMapSetConfiguration": null,
|
||||
"apGeospatialLocation": null,
|
||||
"apCivicLocation": null,
|
||||
"apPublicLocationIdUri": null,
|
||||
"gasAddr3Behaviour": "p2pSpecWorkaroundFromRequest",
|
||||
"anqpDomainId": 1234,
|
||||
"disableDownstreamGroupAddressedForwarding": false,
|
||||
"enable2pt4GHz": true,
|
||||
"enable5GHz": true,
|
||||
"associatedSsids": [
|
||||
"TipWlan-cloud-3-radios"
|
||||
],
|
||||
"mccMnc3gppCellularNetworkInfo": [
|
||||
{
|
||||
"model_type": "MccMnc",
|
||||
"mcc": 302,
|
||||
"mnc": 720,
|
||||
"iso": "ca",
|
||||
"country": "Canada",
|
||||
"countryCode": 1,
|
||||
"network": "Rogers AT&T Wireless",
|
||||
"mccMncPairing": "302,720"
|
||||
}
|
||||
],
|
||||
"profileType": "hotspot_2pt0",
|
||||
"mccMncList": "302,720"
|
||||
},
|
||||
"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
|
||||
]
|
||||
}
|
||||
"createdTimestamp": 1601961452370,
|
||||
"lastModifiedTimestamp": 1601961452370,
|
||||
"childProfileIds": [
|
||||
5,
|
||||
6,
|
||||
7
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,98 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 7,
|
||||
"customerId": 2,
|
||||
"profileType": "id_provider",
|
||||
"name": "TipWlan-Hotspot20-OSU-Provider",
|
||||
"details": {
|
||||
"model_type": "Hotspot20IdProviderProfile",
|
||||
"domainName": "example.com",
|
||||
"mccMncList": [
|
||||
{
|
||||
"model_type": "MccMnc",
|
||||
"mcc": 302,
|
||||
"mnc": 720,
|
||||
"iso": "ca",
|
||||
"country": "Canada",
|
||||
"countryCode": 1,
|
||||
"network": "Rogers AT&T Wireless",
|
||||
"mccMncPairing": "302,720"
|
||||
}
|
||||
],
|
||||
"naiRealmList": [
|
||||
{
|
||||
"model_type": "NaiRealmInformation",
|
||||
"naiRealms": [
|
||||
"example.net",
|
||||
"example.com"
|
||||
],
|
||||
"encoding": 0,
|
||||
"eapMethods": [
|
||||
"EAP-TLS with certificate"
|
||||
],
|
||||
"eapMap": {
|
||||
"EAP-TLS with certificate": [
|
||||
"Softoken",
|
||||
"Certificate"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"osuIconList": [
|
||||
{
|
||||
"model_type": "OsuIcon",
|
||||
"iconWidth": 32,
|
||||
"iconHeight": 32,
|
||||
"languageCode": "eng",
|
||||
"iconLocale": "en_CA",
|
||||
"iconName": "icon32.png",
|
||||
"filePath": "/tmp/icon32.png",
|
||||
"hs20IconString": "32:32:eng:image/png:icon32.png:/tmp/icon32.png"
|
||||
}
|
||||
],
|
||||
"radiusProfileAuth": "Radius-Profile",
|
||||
"radiusProfileAccounting": "Radius-Profile",
|
||||
"osuSsid": "TipWlan-cloud-3-radios",
|
||||
"osuServerUri": "https://example.com/osu/",
|
||||
"osuFriendlyName": {
|
||||
"model_type": "Hotspot20Duple",
|
||||
"locale": "en_CA",
|
||||
"dupleIso3Language": "eng",
|
||||
"dupleName": "Example provider",
|
||||
"defaultDupleSeparator": ":",
|
||||
"asDuple": "eng:Example provider"
|
||||
},
|
||||
"osuNaiStandalone": "anonymous@example.com",
|
||||
"osuNaiShared": "anonymous@example.com",
|
||||
"osuMethodList": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"osuServiceDescription": [
|
||||
{
|
||||
"model_type": "Hotspot20Duple",
|
||||
"locale": "en_CA",
|
||||
"dupleIso3Language": "eng",
|
||||
"dupleName": "Example services",
|
||||
"defaultDupleSeparator": ":",
|
||||
"asDuple": "eng:Example services"
|
||||
},
|
||||
{
|
||||
"model_type": "Hotspot20Duple",
|
||||
"locale": "fr_CA",
|
||||
"dupleIso3Language": "fra",
|
||||
"dupleName": "Exemples de services",
|
||||
"defaultDupleSeparator": ":",
|
||||
"asDuple": "fra:Exemples de services"
|
||||
}
|
||||
],
|
||||
"profileType": "id_provider"
|
||||
},
|
||||
"createdTimestamp": 1601961451981,
|
||||
"lastModifiedTimestamp": 1601961451981,
|
||||
"childProfileIds": [
|
||||
1
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -1,16 +1,16 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 333,
|
||||
"id": 2,
|
||||
"customerId": 2,
|
||||
"profileType": "metrics",
|
||||
"name": "Metrics-Profile-3-radios",
|
||||
"details": {
|
||||
"model_type": "ServiceMetricsCollectionConfigProfile",
|
||||
"radioTypes": [
|
||||
"is5GHzL",
|
||||
"is5GHzU",
|
||||
"is2dot4GHz",
|
||||
"is5GHzU"
|
||||
"is5GHzL"
|
||||
],
|
||||
"serviceMetricDataTypes": [
|
||||
"ApNode",
|
||||
@@ -30,19 +30,7 @@
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzU",
|
||||
"serviceMetricDataType": "ApNode"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 120,
|
||||
"channelSurveyType": "OFF_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzL",
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "ApNode"
|
||||
},
|
||||
{
|
||||
@@ -60,20 +48,20 @@
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"reportingIntervalSeconds": 120,
|
||||
"channelSurveyType": "OFF_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is2dot4GHz",
|
||||
"radioType": "is5GHzU",
|
||||
"serviceMetricDataType": "ApNode"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 120,
|
||||
"channelSurveyType": "OFF_CHANNEL",
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
@@ -92,6 +80,18 @@
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "ApNode"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 120,
|
||||
"channelSurveyType": "OFF_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzL",
|
||||
"serviceMetricDataType": "ApNode"
|
||||
}
|
||||
],
|
||||
"ApSsid": [
|
||||
@@ -99,14 +99,14 @@
|
||||
"model_type": "ServiceMetricRadioConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"radioType": "is2dot4GHz",
|
||||
"radioType": "is5GHzL",
|
||||
"serviceMetricDataType": "ApSsid"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricRadioConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"radioType": "is5GHzL",
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "ApSsid"
|
||||
},
|
||||
{
|
||||
@@ -118,13 +118,6 @@
|
||||
}
|
||||
],
|
||||
"Client": [
|
||||
{
|
||||
"model_type": "ServiceMetricRadioConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "Client"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricRadioConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
@@ -138,6 +131,13 @@
|
||||
"reportingIntervalSeconds": 60,
|
||||
"radioType": "is5GHzU",
|
||||
"serviceMetricDataType": "Client"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricRadioConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "Client"
|
||||
}
|
||||
],
|
||||
"Channel": [
|
||||
@@ -150,57 +150,21 @@
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzL",
|
||||
"serviceMetricDataType": "Channel"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 120,
|
||||
"channelSurveyType": "OFF_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "Channel"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzL",
|
||||
"serviceMetricDataType": "Channel"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "Channel"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzU",
|
||||
"serviceMetricDataType": "Channel"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "Channel"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
@@ -210,6 +174,42 @@
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "Channel"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 120,
|
||||
"channelSurveyType": "OFF_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzL",
|
||||
"serviceMetricDataType": "Channel"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzL",
|
||||
"serviceMetricDataType": "Channel"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzU",
|
||||
"serviceMetricDataType": "Channel"
|
||||
}
|
||||
@@ -224,7 +224,19 @@
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzL",
|
||||
"radioType": "is5GHzU",
|
||||
"serviceMetricDataType": "Neighbour"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "Neighbour"
|
||||
},
|
||||
{
|
||||
@@ -248,7 +260,7 @@
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is2dot4GHz",
|
||||
"radioType": "is5GHzL",
|
||||
"serviceMetricDataType": "Neighbour"
|
||||
},
|
||||
{
|
||||
@@ -263,18 +275,6 @@
|
||||
"radioType": "is5GHzU",
|
||||
"serviceMetricDataType": "Neighbour"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzL",
|
||||
"serviceMetricDataType": "Neighbour"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
@@ -284,15 +284,15 @@
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzU",
|
||||
"radioType": "is5GHzL",
|
||||
"serviceMetricDataType": "Neighbour"
|
||||
}
|
||||
]
|
||||
},
|
||||
"profileType": "metrics"
|
||||
},
|
||||
"createdTimestamp": 1601335086248,
|
||||
"lastModifiedTimestamp": 1601335086248,
|
||||
"createdTimestamp": 1601961451756,
|
||||
"lastModifiedTimestamp": 1601961451756,
|
||||
"childProfileIds": []
|
||||
}
|
||||
]
|
||||
@@ -1,35 +1,37 @@
|
||||
[
|
||||
{
|
||||
"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": []
|
||||
}
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 5,
|
||||
"customerId": 2,
|
||||
"profileType": "operator",
|
||||
"name": "TipWlan-Hotspot20-Operator",
|
||||
"details": {
|
||||
"model_type": "OperatorProfile",
|
||||
"domainName": "telecominfraproject.atlassian.net",
|
||||
"serverOnlyAuthenticatedL2EncryptionNetwork": false,
|
||||
"x509CertificateLocation": "/etc/ca.pem",
|
||||
"operatorFriendlyName": [
|
||||
{
|
||||
"model_type": "Hotspot20Duple",
|
||||
"locale": "en_CA",
|
||||
"dupleIso3Language": "eng",
|
||||
"dupleName": "Default friendly operator name",
|
||||
"defaultDupleSeparator": ":",
|
||||
"asDuple": "eng:Default friendly operator name"
|
||||
},
|
||||
{
|
||||
"model_type": "Hotspot20Duple",
|
||||
"locale": "fr_CA",
|
||||
"dupleIso3Language": "fra",
|
||||
"dupleName": "Nom de l'opérateur convivial par défaut",
|
||||
"defaultDupleSeparator": ":",
|
||||
"asDuple": "fra:Nom de l'opérateur convivial par défaut"
|
||||
}
|
||||
],
|
||||
"profileType": "operator"
|
||||
},
|
||||
"createdTimestamp": 1601961451776,
|
||||
"lastModifiedTimestamp": 1601961451776,
|
||||
"childProfileIds": []
|
||||
}
|
||||
]
|
||||
@@ -1,34 +1,34 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 1,
|
||||
"customerId": 2,
|
||||
"profileType": "radius",
|
||||
"name": "RadiusProfileOttawa",
|
||||
"details": {
|
||||
"model_type": "RadiusProfile",
|
||||
"subnetConfiguration": null,
|
||||
"serviceRegionMap": {
|
||||
"Ottawa": {
|
||||
"model_type": "RadiusServiceRegion",
|
||||
"serverMap": {
|
||||
"RadiusProfileOttawa": [
|
||||
{
|
||||
"model_type": "RadiusServer",
|
||||
"ipAddress": "localhost",
|
||||
"secret": "testing123",
|
||||
"authPort": 1812,
|
||||
"timeout": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"regionName": "Ottawa"
|
||||
}
|
||||
},
|
||||
"profileType": "radius"
|
||||
},
|
||||
"createdTimestamp": 1591653174195,
|
||||
"lastModifiedTimestamp": 1591653174195,
|
||||
"childProfileIds": []
|
||||
}
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 1,
|
||||
"customerId": 2,
|
||||
"profileType": "radius",
|
||||
"name": "Radius-Profile",
|
||||
"details": {
|
||||
"model_type": "RadiusProfile",
|
||||
"subnetConfiguration": null,
|
||||
"serviceRegionMap": {
|
||||
"Ottawa": {
|
||||
"model_type": "RadiusServiceRegion",
|
||||
"serverMap": {
|
||||
"Radius-Profile": [
|
||||
{
|
||||
"model_type": "RadiusServer",
|
||||
"ipAddress": "192.168.0.1",
|
||||
"secret": "testing123",
|
||||
"authPort": 1812,
|
||||
"timeout": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"regionName": "Ottawa"
|
||||
}
|
||||
},
|
||||
"profileType": "radius"
|
||||
},
|
||||
"createdTimestamp": 1601961451668,
|
||||
"lastModifiedTimestamp": 1601961451668,
|
||||
"childProfileIds": []
|
||||
}
|
||||
]
|
||||
@@ -1,258 +1,256 @@
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 9,
|
||||
"customerId": 2,
|
||||
"profileType": "rf",
|
||||
"name": "DefaultRf",
|
||||
"details": {
|
||||
"model_type": "RfConfiguration",
|
||||
"rf": "Default-RF",
|
||||
"profileType": "rf",
|
||||
"rfConfigMap": {
|
||||
"is2dot4GHz": {
|
||||
"model_type": "RfElementConfiguration",
|
||||
"beaconInterval": 100,
|
||||
"forceScanDuringVoice": "disabled",
|
||||
"rtsCtsThreshold": 65535,
|
||||
"channelBandwidth": "is20MHz",
|
||||
"mimoMode": "twoBytwo",
|
||||
"maxNumClients": 100,
|
||||
"multicastRate": "auto",
|
||||
"autoChannelSelection": false,
|
||||
"activeScanSettings": {
|
||||
"model_type": "ActiveScanSettings",
|
||||
"enabled": true,
|
||||
"scanFrequencySeconds": 10,
|
||||
"scanDurationMillis": 65
|
||||
},
|
||||
"managementRate": "auto",
|
||||
"rxCellSizeDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"probeResponseThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"clientDisconnectThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"eirpTxPower": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": false,
|
||||
"value": 32
|
||||
},
|
||||
"bestApEnabled": null,
|
||||
"neighbouringListApConfig": {
|
||||
"model_type": "NeighbouringAPListConfiguration",
|
||||
"minSignal": -85,
|
||||
"maxAps": 25
|
||||
},
|
||||
"minAutoCellSize": -80,
|
||||
"perimeterDetectionEnabled": true,
|
||||
"channelHopSettings": {
|
||||
"model_type": "ChannelHopSettings",
|
||||
"noiseFloorThresholdInDB": -75,
|
||||
"noiseFloorThresholdTimeInSeconds": 180,
|
||||
"nonWifiThresholdInPercentage": 50,
|
||||
"nonWifiThresholdTimeInSeconds": 180,
|
||||
"obssHopMode": "NON_WIFI"
|
||||
},
|
||||
"bestApSettings": {
|
||||
"model_type": "RadioBestApSettings",
|
||||
"mlComputed": true,
|
||||
"dropInSnrPercentage": 20,
|
||||
"minLoadFactor": 50
|
||||
}
|
||||
},
|
||||
"is5GHz": {
|
||||
"model_type": "RfElementConfiguration",
|
||||
"beaconInterval": 100,
|
||||
"forceScanDuringVoice": "disabled",
|
||||
"rtsCtsThreshold": 65535,
|
||||
"channelBandwidth": "is80MHz",
|
||||
"mimoMode": "twoBytwo",
|
||||
"maxNumClients": 100,
|
||||
"multicastRate": "auto",
|
||||
"autoChannelSelection": false,
|
||||
"activeScanSettings": {
|
||||
"model_type": "ActiveScanSettings",
|
||||
"enabled": true,
|
||||
"scanFrequencySeconds": 10,
|
||||
"scanDurationMillis": 65
|
||||
},
|
||||
"managementRate": "auto",
|
||||
"rxCellSizeDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"probeResponseThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"clientDisconnectThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"eirpTxPower": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": false,
|
||||
"value": 32
|
||||
},
|
||||
"bestApEnabled": null,
|
||||
"neighbouringListApConfig": {
|
||||
"model_type": "NeighbouringAPListConfiguration",
|
||||
"minSignal": -85,
|
||||
"maxAps": 25
|
||||
},
|
||||
"minAutoCellSize": -80,
|
||||
"perimeterDetectionEnabled": true,
|
||||
"channelHopSettings": {
|
||||
"model_type": "ChannelHopSettings",
|
||||
"noiseFloorThresholdInDB": -75,
|
||||
"noiseFloorThresholdTimeInSeconds": 180,
|
||||
"nonWifiThresholdInPercentage": 50,
|
||||
"nonWifiThresholdTimeInSeconds": 180,
|
||||
"obssHopMode": "NON_WIFI"
|
||||
},
|
||||
"bestApSettings": {
|
||||
"model_type": "RadioBestApSettings",
|
||||
"mlComputed": true,
|
||||
"dropInSnrPercentage": 30,
|
||||
"minLoadFactor": 40
|
||||
}
|
||||
},
|
||||
"is5GHzL": {
|
||||
"model_type": "RfElementConfiguration",
|
||||
"beaconInterval": 100,
|
||||
"forceScanDuringVoice": "disabled",
|
||||
"rtsCtsThreshold": 65535,
|
||||
"channelBandwidth": "is80MHz",
|
||||
"mimoMode": "twoBytwo",
|
||||
"maxNumClients": 100,
|
||||
"multicastRate": "auto",
|
||||
"autoChannelSelection": false,
|
||||
"activeScanSettings": {
|
||||
"model_type": "ActiveScanSettings",
|
||||
"enabled": true,
|
||||
"scanFrequencySeconds": 10,
|
||||
"scanDurationMillis": 65
|
||||
},
|
||||
"managementRate": "auto",
|
||||
"rxCellSizeDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"probeResponseThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"clientDisconnectThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"eirpTxPower": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": false,
|
||||
"value": 32
|
||||
},
|
||||
"bestApEnabled": null,
|
||||
"neighbouringListApConfig": {
|
||||
"model_type": "NeighbouringAPListConfiguration",
|
||||
"minSignal": -85,
|
||||
"maxAps": 25
|
||||
},
|
||||
"minAutoCellSize": -80,
|
||||
"perimeterDetectionEnabled": true,
|
||||
"channelHopSettings": {
|
||||
"model_type": "ChannelHopSettings",
|
||||
"noiseFloorThresholdInDB": -75,
|
||||
"noiseFloorThresholdTimeInSeconds": 180,
|
||||
"nonWifiThresholdInPercentage": 50,
|
||||
"nonWifiThresholdTimeInSeconds": 180,
|
||||
"obssHopMode": "NON_WIFI"
|
||||
},
|
||||
"bestApSettings": {
|
||||
"model_type": "RadioBestApSettings",
|
||||
"mlComputed": true,
|
||||
"dropInSnrPercentage": 30,
|
||||
"minLoadFactor": 40
|
||||
}
|
||||
},
|
||||
"is5GHzU": {
|
||||
"model_type": "RfElementConfiguration",
|
||||
"beaconInterval": 100,
|
||||
"forceScanDuringVoice": "disabled",
|
||||
"rtsCtsThreshold": 65535,
|
||||
"channelBandwidth": "is80MHz",
|
||||
"mimoMode": "twoBytwo",
|
||||
"maxNumClients": 100,
|
||||
"multicastRate": "auto",
|
||||
"autoChannelSelection": false,
|
||||
"activeScanSettings": {
|
||||
"model_type": "ActiveScanSettings",
|
||||
"enabled": true,
|
||||
"scanFrequencySeconds": 10,
|
||||
"scanDurationMillis": 65
|
||||
},
|
||||
"managementRate": "auto",
|
||||
"rxCellSizeDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"probeResponseThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"clientDisconnectThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"eirpTxPower": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": false,
|
||||
"value": 32
|
||||
},
|
||||
"bestApEnabled": null,
|
||||
"neighbouringListApConfig": {
|
||||
"model_type": "NeighbouringAPListConfiguration",
|
||||
"minSignal": -85,
|
||||
"maxAps": 25
|
||||
},
|
||||
"minAutoCellSize": -80,
|
||||
"perimeterDetectionEnabled": true,
|
||||
"channelHopSettings": {
|
||||
"model_type": "ChannelHopSettings",
|
||||
"noiseFloorThresholdInDB": -75,
|
||||
"noiseFloorThresholdTimeInSeconds": 180,
|
||||
"nonWifiThresholdInPercentage": 50,
|
||||
"nonWifiThresholdTimeInSeconds": 180,
|
||||
"obssHopMode": "NON_WIFI"
|
||||
},
|
||||
"bestApSettings": {
|
||||
"model_type": "RadioBestApSettings",
|
||||
"mlComputed": true,
|
||||
"dropInSnrPercentage": 30,
|
||||
"minLoadFactor": 40
|
||||
}
|
||||
}
|
||||
},
|
||||
"createdTimestamp": 1591653239983,
|
||||
"lastModifiedTimestamp": 1591653239983,
|
||||
"childProfileIds": [
|
||||
]
|
||||
}
|
||||
}
|
||||
"model_type": "Profile",
|
||||
"id": 11,
|
||||
"customerId": 2,
|
||||
"profileType": "rf",
|
||||
"name": "TipWlan-rf",
|
||||
"details": {
|
||||
"model_type": "RfConfiguration",
|
||||
"rfConfigMap": {
|
||||
"is5GHz": {
|
||||
"model_type": "RfElementConfiguration",
|
||||
"rf": "TipWlan-rf",
|
||||
"beaconInterval": 100,
|
||||
"forceScanDuringVoice": "disabled",
|
||||
"rtsCtsThreshold": 65535,
|
||||
"channelBandwidth": "is80MHz",
|
||||
"mimoMode": "twoByTwo",
|
||||
"maxNumClients": 100,
|
||||
"multicastRate": "auto",
|
||||
"autoChannelSelection": false,
|
||||
"activeScanSettings": {
|
||||
"model_type": "ActiveScanSettings",
|
||||
"enabled": true,
|
||||
"scanFrequencySeconds": 10,
|
||||
"scanDurationMillis": 65
|
||||
},
|
||||
"managementRate": "auto",
|
||||
"rxCellSizeDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"probeResponseThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"clientDisconnectThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"eirpTxPower": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": 18
|
||||
},
|
||||
"bestApEnabled": null,
|
||||
"neighbouringListApConfig": {
|
||||
"model_type": "NeighbouringAPListConfiguration",
|
||||
"minSignal": -85,
|
||||
"maxAps": 25
|
||||
},
|
||||
"perimeterDetectionEnabled": true,
|
||||
"channelHopSettings": {
|
||||
"model_type": "ChannelHopSettings",
|
||||
"noiseFloorThresholdInDB": -75,
|
||||
"noiseFloorThresholdTimeInSeconds": 180,
|
||||
"nonWifiThresholdInPercentage": 50,
|
||||
"nonWifiThresholdTimeInSeconds": 180,
|
||||
"obssHopMode": "NON_WIFI"
|
||||
},
|
||||
"bestApSettings": {
|
||||
"model_type": "RadioBestApSettings",
|
||||
"mlComputed": true,
|
||||
"dropInSnrPercentage": 30,
|
||||
"minLoadFactor": 40
|
||||
}
|
||||
},
|
||||
"is2dot4GHz": {
|
||||
"model_type": "RfElementConfiguration",
|
||||
"rf": "TipWlan-rf",
|
||||
"beaconInterval": 100,
|
||||
"forceScanDuringVoice": "disabled",
|
||||
"rtsCtsThreshold": 65535,
|
||||
"channelBandwidth": "is20MHz",
|
||||
"mimoMode": "twoByTwo",
|
||||
"maxNumClients": 100,
|
||||
"multicastRate": "auto",
|
||||
"autoChannelSelection": false,
|
||||
"activeScanSettings": {
|
||||
"model_type": "ActiveScanSettings",
|
||||
"enabled": true,
|
||||
"scanFrequencySeconds": 10,
|
||||
"scanDurationMillis": 65
|
||||
},
|
||||
"managementRate": "auto",
|
||||
"rxCellSizeDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"probeResponseThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"clientDisconnectThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"eirpTxPower": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": 18
|
||||
},
|
||||
"bestApEnabled": null,
|
||||
"neighbouringListApConfig": {
|
||||
"model_type": "NeighbouringAPListConfiguration",
|
||||
"minSignal": -85,
|
||||
"maxAps": 25
|
||||
},
|
||||
"perimeterDetectionEnabled": true,
|
||||
"channelHopSettings": {
|
||||
"model_type": "ChannelHopSettings",
|
||||
"noiseFloorThresholdInDB": -75,
|
||||
"noiseFloorThresholdTimeInSeconds": 180,
|
||||
"nonWifiThresholdInPercentage": 50,
|
||||
"nonWifiThresholdTimeInSeconds": 180,
|
||||
"obssHopMode": "NON_WIFI"
|
||||
},
|
||||
"bestApSettings": {
|
||||
"model_type": "RadioBestApSettings",
|
||||
"mlComputed": true,
|
||||
"dropInSnrPercentage": 20,
|
||||
"minLoadFactor": 50
|
||||
}
|
||||
},
|
||||
"is5GHzU": {
|
||||
"model_type": "RfElementConfiguration",
|
||||
"rf": "TipWlan-rf",
|
||||
"beaconInterval": 100,
|
||||
"forceScanDuringVoice": "disabled",
|
||||
"rtsCtsThreshold": 65535,
|
||||
"channelBandwidth": "is80MHz",
|
||||
"mimoMode": "twoByTwo",
|
||||
"maxNumClients": 100,
|
||||
"multicastRate": "auto",
|
||||
"autoChannelSelection": false,
|
||||
"activeScanSettings": {
|
||||
"model_type": "ActiveScanSettings",
|
||||
"enabled": true,
|
||||
"scanFrequencySeconds": 10,
|
||||
"scanDurationMillis": 65
|
||||
},
|
||||
"managementRate": "auto",
|
||||
"rxCellSizeDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"probeResponseThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"clientDisconnectThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"eirpTxPower": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": 18
|
||||
},
|
||||
"bestApEnabled": null,
|
||||
"neighbouringListApConfig": {
|
||||
"model_type": "NeighbouringAPListConfiguration",
|
||||
"minSignal": -85,
|
||||
"maxAps": 25
|
||||
},
|
||||
"perimeterDetectionEnabled": true,
|
||||
"channelHopSettings": {
|
||||
"model_type": "ChannelHopSettings",
|
||||
"noiseFloorThresholdInDB": -75,
|
||||
"noiseFloorThresholdTimeInSeconds": 180,
|
||||
"nonWifiThresholdInPercentage": 50,
|
||||
"nonWifiThresholdTimeInSeconds": 180,
|
||||
"obssHopMode": "NON_WIFI"
|
||||
},
|
||||
"bestApSettings": {
|
||||
"model_type": "RadioBestApSettings",
|
||||
"mlComputed": true,
|
||||
"dropInSnrPercentage": 30,
|
||||
"minLoadFactor": 40
|
||||
}
|
||||
},
|
||||
"is5GHzL": {
|
||||
"model_type": "RfElementConfiguration",
|
||||
"rf": "TipWlan-rf",
|
||||
"beaconInterval": 100,
|
||||
"forceScanDuringVoice": "disabled",
|
||||
"rtsCtsThreshold": 65535,
|
||||
"channelBandwidth": "is80MHz",
|
||||
"mimoMode": "twoByTwo",
|
||||
"maxNumClients": 100,
|
||||
"multicastRate": "auto",
|
||||
"autoChannelSelection": false,
|
||||
"activeScanSettings": {
|
||||
"model_type": "ActiveScanSettings",
|
||||
"enabled": true,
|
||||
"scanFrequencySeconds": 10,
|
||||
"scanDurationMillis": 65
|
||||
},
|
||||
"managementRate": "auto",
|
||||
"rxCellSizeDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"probeResponseThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"clientDisconnectThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"eirpTxPower": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": 18
|
||||
},
|
||||
"bestApEnabled": null,
|
||||
"neighbouringListApConfig": {
|
||||
"model_type": "NeighbouringAPListConfiguration",
|
||||
"minSignal": -85,
|
||||
"maxAps": 25
|
||||
},
|
||||
"perimeterDetectionEnabled": true,
|
||||
"channelHopSettings": {
|
||||
"model_type": "ChannelHopSettings",
|
||||
"noiseFloorThresholdInDB": -75,
|
||||
"noiseFloorThresholdTimeInSeconds": 180,
|
||||
"nonWifiThresholdInPercentage": 50,
|
||||
"nonWifiThresholdTimeInSeconds": 180,
|
||||
"obssHopMode": "NON_WIFI"
|
||||
},
|
||||
"bestApSettings": {
|
||||
"model_type": "RadioBestApSettings",
|
||||
"mlComputed": true,
|
||||
"dropInSnrPercentage": 30,
|
||||
"minLoadFactor": 40
|
||||
}
|
||||
}
|
||||
},
|
||||
"profileType": "rf"
|
||||
},
|
||||
"createdTimestamp": 1601961452390,
|
||||
"lastModifiedTimestamp": 1601961452390,
|
||||
"childProfileIds": []
|
||||
}
|
||||
@@ -1,186 +1,69 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 6,
|
||||
"customerId": 2,
|
||||
"profileType": "ssid",
|
||||
"name": "DefaultSsid-2g",
|
||||
"details": {
|
||||
"model_type": "SsidConfiguration",
|
||||
"ssid": "Default-SSID-2g",
|
||||
"appliedRadios": [
|
||||
"is2dot4GHz"
|
||||
],
|
||||
"ssidAdminState": "enabled",
|
||||
"secureMode": "wpa2PSK",
|
||||
"vlanId": 1,
|
||||
"keyStr": "12345678",
|
||||
"broadcastSsid": "enabled",
|
||||
"keyRefresh": 0,
|
||||
"noLocalSubnets": false,
|
||||
"radiusServiceName": null,
|
||||
"captivePortalId": null,
|
||||
"bandwidthLimitDown": 0,
|
||||
"bandwidthLimitUp": 0,
|
||||
"clientBandwidthLimitDown": 0,
|
||||
"clientBandwidthLimitUp": 0,
|
||||
"videoTrafficOnly": false,
|
||||
"radioBasedConfigs": {
|
||||
"is5GHz": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is2dot4GHz": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is5GHzU": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is5GHzL": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
}
|
||||
},
|
||||
"bonjourGatewayProfileId": null,
|
||||
"enable80211w": null,
|
||||
"wepConfig": null,
|
||||
"forwardMode": null,
|
||||
"profileType": "ssid"
|
||||
},
|
||||
"createdTimestamp": 1591653239983,
|
||||
"lastModifiedTimestamp": 1591653239983,
|
||||
"childProfileIds": []
|
||||
},
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 7,
|
||||
"customerId": 2,
|
||||
"profileType": "ssid",
|
||||
"name": "DefaultSsid-5gl",
|
||||
"details": {
|
||||
"model_type": "SsidConfiguration",
|
||||
"ssid": "Default-SSID-5gl",
|
||||
"appliedRadios": [
|
||||
"is5GHzL"
|
||||
],
|
||||
"ssidAdminState": "enabled",
|
||||
"secureMode": "wpaEAP",
|
||||
"vlanId": 1,
|
||||
"keyStr": "12345678",
|
||||
"broadcastSsid": "enabled",
|
||||
"keyRefresh": 0,
|
||||
"noLocalSubnets": false,
|
||||
"radiusServiceName": "RadiusProfileOttawa",
|
||||
"captivePortalId": null,
|
||||
"bandwidthLimitDown": 0,
|
||||
"bandwidthLimitUp": 0,
|
||||
"videoTrafficOnly": false,
|
||||
"radioBasedConfigs": {
|
||||
"is5GHz": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is2dot4GHz": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is5GHzU": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is5GHzL": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
}
|
||||
},
|
||||
"bonjourGatewayProfileId": null,
|
||||
"enable80211w": null,
|
||||
"wepConfig": null,
|
||||
"forwardMode": null,
|
||||
"profileType": "ssid"
|
||||
},
|
||||
"createdTimestamp": 1591653240017,
|
||||
"lastModifiedTimestamp": 1591654215374,
|
||||
"childProfileIds": [
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 8,
|
||||
"customerId": 2,
|
||||
"profileType": "ssid",
|
||||
"name": "DefaultSsid-5gu",
|
||||
"details": {
|
||||
"model_type": "SsidConfiguration",
|
||||
"ssid": "Default-SSID-5gu",
|
||||
"appliedRadios": [
|
||||
"is5GHzU"
|
||||
],
|
||||
"ssidAdminState": "enabled",
|
||||
"secureMode": "wpa2PSK",
|
||||
"vlanId": 1,
|
||||
"keyStr": "12345678",
|
||||
"broadcastSsid": "enabled",
|
||||
"keyRefresh": 0,
|
||||
"noLocalSubnets": false,
|
||||
"radiusServiceName": null,
|
||||
"captivePortalId": null,
|
||||
"bandwidthLimitDown": 0,
|
||||
"bandwidthLimitUp": 0,
|
||||
"videoTrafficOnly": false,
|
||||
"radioBasedConfigs": {
|
||||
"is5GHz": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is2dot4GHz": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is5GHzU": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is5GHzL": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
}
|
||||
},
|
||||
"bonjourGatewayProfileId": null,
|
||||
"enable80211w": null,
|
||||
"wepConfig": null,
|
||||
"forwardMode": null,
|
||||
"profileType": "ssid"
|
||||
},
|
||||
"createdTimestamp": 1591654301763,
|
||||
"lastModifiedTimestamp": 1591654301763,
|
||||
"childProfileIds": []
|
||||
}
|
||||
"model_type": "Profile",
|
||||
"id": 9,
|
||||
"customerId": 2,
|
||||
"profileType": "ssid",
|
||||
"name": "TipWlan-cloud-3-radios",
|
||||
"details": {
|
||||
"model_type": "SsidConfiguration",
|
||||
"ssid": "TipWlan-cloud-3-radios",
|
||||
"appliedRadios": [
|
||||
"is5GHzU",
|
||||
"is2dot4GHz",
|
||||
"is5GHzL"
|
||||
],
|
||||
"ssidAdminState": "enabled",
|
||||
"secureMode": "open",
|
||||
"vlanId": 1,
|
||||
"keyStr": null,
|
||||
"broadcastSsid": "enabled",
|
||||
"keyRefresh": 0,
|
||||
"noLocalSubnets": false,
|
||||
"radiusServiceName": null,
|
||||
"captivePortalId": null,
|
||||
"bandwidthLimitDown": 0,
|
||||
"bandwidthLimitUp": 0,
|
||||
"clientBandwidthLimitDown": 0,
|
||||
"clientBandwidthLimitUp": 0,
|
||||
"videoTrafficOnly": false,
|
||||
"radioBasedConfigs": {
|
||||
"is5GHz": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is2dot4GHz": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is5GHzU": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is5GHzL": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
}
|
||||
},
|
||||
"bonjourGatewayProfileId": null,
|
||||
"enable80211w": null,
|
||||
"wepConfig": null,
|
||||
"forwardMode": null,
|
||||
"profileType": "ssid"
|
||||
},
|
||||
"createdTimestamp": 1601961452385,
|
||||
"lastModifiedTimestamp": 1601961452385,
|
||||
"childProfileIds": [
|
||||
7,
|
||||
8
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1,40 +1,42 @@
|
||||
[
|
||||
{
|
||||
"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": "Profile",
|
||||
"id": 6,
|
||||
"customerId": 2,
|
||||
"profileType": "venue",
|
||||
"name": "TipWlan-Hotspot20-Venue",
|
||||
"details": {
|
||||
"model_type": "VenueProfile",
|
||||
"venueNameSet": [
|
||||
{
|
||||
"model_type": "VenueName",
|
||||
"locale": "fr_CA",
|
||||
"dupleIso3Language": "fra",
|
||||
"dupleName": "Exemple de lieu",
|
||||
"defaultDupleSeparator": ":",
|
||||
"venueUrl": "http://www.example.com/info-fra",
|
||||
"asDuple": "fra:Exemple de lieu"
|
||||
},
|
||||
{
|
||||
"model_type": "VenueName",
|
||||
"locale": "en_CA",
|
||||
"dupleIso3Language": "eng",
|
||||
"dupleName": "Example venue",
|
||||
"defaultDupleSeparator": ":",
|
||||
"venueUrl": "http://www.example.com/info-eng",
|
||||
"asDuple": "eng:Example venue"
|
||||
}
|
||||
],
|
||||
"venueTypeAssignment": {
|
||||
"model_type": "VenueTypeAssignment",
|
||||
"venueDescription": "Research and Development Facility",
|
||||
"venueGroupId": 2,
|
||||
"venueTypeId": 8
|
||||
},
|
||||
{
|
||||
"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"
|
||||
},
|
||||
"profileType": "venue"
|
||||
},
|
||||
"createdTimestamp": 1601595306891,
|
||||
"lastModifiedTimestamp": 1601595306891,
|
||||
"childProfileIds": []
|
||||
}
|
||||
"createdTimestamp": 1601961451781,
|
||||
"lastModifiedTimestamp": 1601961451781,
|
||||
"childProfileIds": []
|
||||
}
|
||||
]
|
||||
@@ -34,6 +34,10 @@ 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_VENUEPROFILE_CONFIG_FILE:=/app/opensync/ProfileVenue.json}"
|
||||
OVSDB_IDPROVIDERPROFILE_CONFIG_FILE="${OVSDB_IDPROVIDERPROFILE_CONFIG_FILE:=/app/opensync/ProfileIdProvider.json}"
|
||||
OVSDB_RFPROFILE_CONFIG_FILE="${OVSDB_RFPROFILE_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}"
|
||||
@@ -131,6 +135,10 @@ 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.idProviderProfileFileName=$OVSDB_IDPROVIDERPROFILE_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"
|
||||
|
||||
@@ -17,6 +17,7 @@ COPY app/opensync/ProfileMetrics.json /app/opensync/ProfileMetrics.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
|
||||
COPY app/opensync/ProfileIdProvider.json /app/opensync/ProfileIdProvider.json
|
||||
COPY app/opensync/ProfileRf.json /app/opensync/ProfileRf.json
|
||||
|
||||
RUN chmod +x /app/run.sh
|
||||
|
||||
@@ -1,55 +1,49 @@
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 5,
|
||||
"customerId": 2,
|
||||
"profileType": "equipment_ap",
|
||||
"name": "DefaultApProfile",
|
||||
"details": {
|
||||
"model_type": "ApNetworkConfiguration",
|
||||
"networkConfigVersion": "AP-1",
|
||||
"equipmentType": "AP",
|
||||
"vlanNative": true,
|
||||
"vlan": 0,
|
||||
"ntpServer": {
|
||||
"model_type": "AutoOrManualString",
|
||||
"auto": true,
|
||||
"value": "pool.ntp.org"
|
||||
},
|
||||
"syslogRelay": null,
|
||||
"rtlsSettings": null,
|
||||
"syntheticClientEnabled": true,
|
||||
"ledControlEnabled": true,
|
||||
"equipmentDiscovery": false,
|
||||
"radioMap": {
|
||||
"is5GHz": {
|
||||
"model_type": "RadioProfileConfiguration",
|
||||
"bestApEnabled": true,
|
||||
"bestAPSteerType": "both"
|
||||
},
|
||||
"is2dot4GHz": {
|
||||
"model_type": "RadioProfileConfiguration",
|
||||
"bestApEnabled": true,
|
||||
"bestAPSteerType": "both"
|
||||
},
|
||||
"is5GHzU": {
|
||||
"model_type": "RadioProfileConfiguration",
|
||||
"bestApEnabled": true,
|
||||
"bestAPSteerType": "both"
|
||||
},
|
||||
"is5GHzL": {
|
||||
"model_type": "RadioProfileConfiguration",
|
||||
"bestApEnabled": true,
|
||||
"bestAPSteerType": "both"
|
||||
}
|
||||
},
|
||||
"profileType": "equipment_ap"
|
||||
},
|
||||
"createdTimestamp": 1591653239947,
|
||||
"lastModifiedTimestamp": 1591654336724,
|
||||
"childProfileIds": [
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9
|
||||
]
|
||||
}
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 15,
|
||||
"customerId": 2,
|
||||
"profileType": "equipment_ap",
|
||||
"name": "ApProfile-3-radios",
|
||||
"details": {
|
||||
"model_type": "ApNetworkConfiguration",
|
||||
"networkConfigVersion": "AP-1",
|
||||
"equipmentType": "AP",
|
||||
"vlanNative": true,
|
||||
"vlan": 0,
|
||||
"ntpServer": {
|
||||
"model_type": "AutoOrManualString",
|
||||
"auto": true,
|
||||
"value": "pool.ntp.org"
|
||||
},
|
||||
"syslogRelay": null,
|
||||
"rtlsSettings": null,
|
||||
"syntheticClientEnabled": true,
|
||||
"ledControlEnabled": true,
|
||||
"equipmentDiscovery": false,
|
||||
"radioMap": {
|
||||
"is2dot4GHz": {
|
||||
"model_type": "RadioProfileConfiguration",
|
||||
"bestApEnabled": true,
|
||||
"bestAPSteerType": "both"
|
||||
},
|
||||
"is5GHzU": {
|
||||
"model_type": "RadioProfileConfiguration",
|
||||
"bestApEnabled": true,
|
||||
"bestAPSteerType": "both"
|
||||
},
|
||||
"is5GHzL": {
|
||||
"model_type": "RadioProfileConfiguration",
|
||||
"bestApEnabled": true,
|
||||
"bestAPSteerType": "both"
|
||||
}
|
||||
},
|
||||
"profileType": "equipment_ap"
|
||||
},
|
||||
"createdTimestamp": 1601961452652,
|
||||
"lastModifiedTimestamp": 1601961452652,
|
||||
"childProfileIds": [
|
||||
2,
|
||||
9,
|
||||
11
|
||||
]
|
||||
}
|
||||
@@ -1,55 +1,74 @@
|
||||
[
|
||||
{
|
||||
"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
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 8,
|
||||
"customerId": 2,
|
||||
"profileType": "hotspot_2pt0",
|
||||
"name": "TipWlan-Hotspot20-Config",
|
||||
"details": {
|
||||
"model_type": "Hotspot2Profile",
|
||||
"enableInterworkingAndHs20": true,
|
||||
"hessid": null,
|
||||
"accessNetworkType": "free_public_network",
|
||||
"networkAuthenticationType": "acceptance_of_terms_and_conditions",
|
||||
"additionalStepsRequiredForAccess": 0,
|
||||
"deauthRequestTimeout": 0,
|
||||
"operatingClass": 0,
|
||||
"termsAndConditionsFile": {
|
||||
"model_type": "ManagedFileInfo",
|
||||
"md5checksum": null,
|
||||
"lastModifiedTimestamp": null,
|
||||
"apExportUrl": "https://localhost:9091/filestore/termsAndConditions",
|
||||
"fileCategory": "ExternalPolicyConfiguration",
|
||||
"fileType": "TEXT",
|
||||
"altSlot": false
|
||||
},
|
||||
"whitelistDomain": null,
|
||||
"emergencyServicesReachable": true,
|
||||
"unauthenticatedEmergencyServiceAccessible": false,
|
||||
"internetConnectivity": true,
|
||||
"connectionCapabilitySet": [
|
||||
{
|
||||
"model_type": "ConnectionCapability",
|
||||
"connectionCapabilitiesPortNumber": 8888,
|
||||
"connectionCapabilitiesIpProtocol": "TCP",
|
||||
"connectionCapabilitiesStatus": "open"
|
||||
}
|
||||
],
|
||||
"ipAddressTypeAvailability": "public_IPv4_address_available",
|
||||
"qosMapSetConfiguration": null,
|
||||
"apGeospatialLocation": null,
|
||||
"apCivicLocation": null,
|
||||
"apPublicLocationIdUri": null,
|
||||
"gasAddr3Behaviour": "p2pSpecWorkaroundFromRequest",
|
||||
"anqpDomainId": 1234,
|
||||
"disableDownstreamGroupAddressedForwarding": false,
|
||||
"enable2pt4GHz": true,
|
||||
"enable5GHz": true,
|
||||
"associatedSsids": [
|
||||
"TipWlan-cloud-3-radios"
|
||||
],
|
||||
"mccMnc3gppCellularNetworkInfo": [
|
||||
{
|
||||
"model_type": "MccMnc",
|
||||
"mcc": 302,
|
||||
"mnc": 720,
|
||||
"iso": "ca",
|
||||
"country": "Canada",
|
||||
"countryCode": 1,
|
||||
"network": "Rogers AT&T Wireless",
|
||||
"mccMncPairing": "302,720"
|
||||
}
|
||||
],
|
||||
"profileType": "hotspot_2pt0",
|
||||
"mccMncList": "302,720"
|
||||
},
|
||||
"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
|
||||
]
|
||||
}
|
||||
"createdTimestamp": 1601961452370,
|
||||
"lastModifiedTimestamp": 1601961452370,
|
||||
"childProfileIds": [
|
||||
5,
|
||||
6,
|
||||
7
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,98 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 7,
|
||||
"customerId": 2,
|
||||
"profileType": "id_provider",
|
||||
"name": "TipWlan-Hotspot20-OSU-Provider",
|
||||
"details": {
|
||||
"model_type": "Hotspot20IdProviderProfile",
|
||||
"domainName": "example.com",
|
||||
"mccMncList": [
|
||||
{
|
||||
"model_type": "MccMnc",
|
||||
"mcc": 302,
|
||||
"mnc": 720,
|
||||
"iso": "ca",
|
||||
"country": "Canada",
|
||||
"countryCode": 1,
|
||||
"network": "Rogers AT&T Wireless",
|
||||
"mccMncPairing": "302,720"
|
||||
}
|
||||
],
|
||||
"naiRealmList": [
|
||||
{
|
||||
"model_type": "NaiRealmInformation",
|
||||
"naiRealms": [
|
||||
"example.net",
|
||||
"example.com"
|
||||
],
|
||||
"encoding": 0,
|
||||
"eapMethods": [
|
||||
"EAP-TLS with certificate"
|
||||
],
|
||||
"eapMap": {
|
||||
"EAP-TLS with certificate": [
|
||||
"Softoken",
|
||||
"Certificate"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"osuIconList": [
|
||||
{
|
||||
"model_type": "OsuIcon",
|
||||
"iconWidth": 32,
|
||||
"iconHeight": 32,
|
||||
"languageCode": "eng",
|
||||
"iconLocale": "en_CA",
|
||||
"iconName": "icon32.png",
|
||||
"filePath": "/tmp/icon32.png",
|
||||
"hs20IconString": "32:32:eng:image/png:icon32.png:/tmp/icon32.png"
|
||||
}
|
||||
],
|
||||
"radiusProfileAuth": "Radius-Profile",
|
||||
"radiusProfileAccounting": "Radius-Profile",
|
||||
"osuSsid": "TipWlan-cloud-3-radios",
|
||||
"osuServerUri": "https://example.com/osu/",
|
||||
"osuFriendlyName": {
|
||||
"model_type": "Hotspot20Duple",
|
||||
"locale": "en_CA",
|
||||
"dupleIso3Language": "eng",
|
||||
"dupleName": "Example provider",
|
||||
"defaultDupleSeparator": ":",
|
||||
"asDuple": "eng:Example provider"
|
||||
},
|
||||
"osuNaiStandalone": "anonymous@example.com",
|
||||
"osuNaiShared": "anonymous@example.com",
|
||||
"osuMethodList": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"osuServiceDescription": [
|
||||
{
|
||||
"model_type": "Hotspot20Duple",
|
||||
"locale": "en_CA",
|
||||
"dupleIso3Language": "eng",
|
||||
"dupleName": "Example services",
|
||||
"defaultDupleSeparator": ":",
|
||||
"asDuple": "eng:Example services"
|
||||
},
|
||||
{
|
||||
"model_type": "Hotspot20Duple",
|
||||
"locale": "fr_CA",
|
||||
"dupleIso3Language": "fra",
|
||||
"dupleName": "Exemples de services",
|
||||
"defaultDupleSeparator": ":",
|
||||
"asDuple": "fra:Exemples de services"
|
||||
}
|
||||
],
|
||||
"profileType": "id_provider"
|
||||
},
|
||||
"createdTimestamp": 1601961451981,
|
||||
"lastModifiedTimestamp": 1601961451981,
|
||||
"childProfileIds": [
|
||||
1
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -1,16 +1,16 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 333,
|
||||
"id": 2,
|
||||
"customerId": 2,
|
||||
"profileType": "metrics",
|
||||
"name": "Metrics-Profile-3-radios",
|
||||
"details": {
|
||||
"model_type": "ServiceMetricsCollectionConfigProfile",
|
||||
"radioTypes": [
|
||||
"is5GHzL",
|
||||
"is5GHzU",
|
||||
"is2dot4GHz",
|
||||
"is5GHzU"
|
||||
"is5GHzL"
|
||||
],
|
||||
"serviceMetricDataTypes": [
|
||||
"ApNode",
|
||||
@@ -30,19 +30,7 @@
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzU",
|
||||
"serviceMetricDataType": "ApNode"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 120,
|
||||
"channelSurveyType": "OFF_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzL",
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "ApNode"
|
||||
},
|
||||
{
|
||||
@@ -60,20 +48,20 @@
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"reportingIntervalSeconds": 120,
|
||||
"channelSurveyType": "OFF_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is2dot4GHz",
|
||||
"radioType": "is5GHzU",
|
||||
"serviceMetricDataType": "ApNode"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 120,
|
||||
"channelSurveyType": "OFF_CHANNEL",
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
@@ -92,6 +80,18 @@
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "ApNode"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 120,
|
||||
"channelSurveyType": "OFF_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzL",
|
||||
"serviceMetricDataType": "ApNode"
|
||||
}
|
||||
],
|
||||
"ApSsid": [
|
||||
@@ -99,14 +99,14 @@
|
||||
"model_type": "ServiceMetricRadioConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"radioType": "is2dot4GHz",
|
||||
"radioType": "is5GHzL",
|
||||
"serviceMetricDataType": "ApSsid"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricRadioConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"radioType": "is5GHzL",
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "ApSsid"
|
||||
},
|
||||
{
|
||||
@@ -118,13 +118,6 @@
|
||||
}
|
||||
],
|
||||
"Client": [
|
||||
{
|
||||
"model_type": "ServiceMetricRadioConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "Client"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricRadioConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
@@ -138,6 +131,13 @@
|
||||
"reportingIntervalSeconds": 60,
|
||||
"radioType": "is5GHzU",
|
||||
"serviceMetricDataType": "Client"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricRadioConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "Client"
|
||||
}
|
||||
],
|
||||
"Channel": [
|
||||
@@ -150,57 +150,21 @@
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzL",
|
||||
"serviceMetricDataType": "Channel"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 120,
|
||||
"channelSurveyType": "OFF_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "Channel"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzL",
|
||||
"serviceMetricDataType": "Channel"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "Channel"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzU",
|
||||
"serviceMetricDataType": "Channel"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "Channel"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
@@ -210,6 +174,42 @@
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "Channel"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 120,
|
||||
"channelSurveyType": "OFF_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzL",
|
||||
"serviceMetricDataType": "Channel"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzL",
|
||||
"serviceMetricDataType": "Channel"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzU",
|
||||
"serviceMetricDataType": "Channel"
|
||||
}
|
||||
@@ -224,7 +224,19 @@
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzL",
|
||||
"radioType": "is5GHzU",
|
||||
"serviceMetricDataType": "Neighbour"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is2dot4GHz",
|
||||
"serviceMetricDataType": "Neighbour"
|
||||
},
|
||||
{
|
||||
@@ -248,7 +260,7 @@
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is2dot4GHz",
|
||||
"radioType": "is5GHzL",
|
||||
"serviceMetricDataType": "Neighbour"
|
||||
},
|
||||
{
|
||||
@@ -263,18 +275,6 @@
|
||||
"radioType": "is5GHzU",
|
||||
"serviceMetricDataType": "Neighbour"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
"reportingIntervalSeconds": 60,
|
||||
"channelSurveyType": "ON_CHANNEL",
|
||||
"scanIntervalMillis": 0,
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzL",
|
||||
"serviceMetricDataType": "Neighbour"
|
||||
},
|
||||
{
|
||||
"model_type": "ServiceMetricSurveyConfigParameters",
|
||||
"samplingInterval": 30,
|
||||
@@ -284,15 +284,15 @@
|
||||
"percentUtilizationThreshold": 10,
|
||||
"delayMillisecondsThreshold": 600,
|
||||
"statsReportFormat": "RAW",
|
||||
"radioType": "is5GHzU",
|
||||
"radioType": "is5GHzL",
|
||||
"serviceMetricDataType": "Neighbour"
|
||||
}
|
||||
]
|
||||
},
|
||||
"profileType": "metrics"
|
||||
},
|
||||
"createdTimestamp": 1601335086248,
|
||||
"lastModifiedTimestamp": 1601335086248,
|
||||
"createdTimestamp": 1601961451756,
|
||||
"lastModifiedTimestamp": 1601961451756,
|
||||
"childProfileIds": []
|
||||
}
|
||||
]
|
||||
@@ -1,35 +1,37 @@
|
||||
[
|
||||
{
|
||||
"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": []
|
||||
}
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 5,
|
||||
"customerId": 2,
|
||||
"profileType": "operator",
|
||||
"name": "TipWlan-Hotspot20-Operator",
|
||||
"details": {
|
||||
"model_type": "OperatorProfile",
|
||||
"domainName": "telecominfraproject.atlassian.net",
|
||||
"serverOnlyAuthenticatedL2EncryptionNetwork": false,
|
||||
"x509CertificateLocation": "/etc/ca.pem",
|
||||
"operatorFriendlyName": [
|
||||
{
|
||||
"model_type": "Hotspot20Duple",
|
||||
"locale": "en_CA",
|
||||
"dupleIso3Language": "eng",
|
||||
"dupleName": "Default friendly operator name",
|
||||
"defaultDupleSeparator": ":",
|
||||
"asDuple": "eng:Default friendly operator name"
|
||||
},
|
||||
{
|
||||
"model_type": "Hotspot20Duple",
|
||||
"locale": "fr_CA",
|
||||
"dupleIso3Language": "fra",
|
||||
"dupleName": "Nom de l'opérateur convivial par défaut",
|
||||
"defaultDupleSeparator": ":",
|
||||
"asDuple": "fra:Nom de l'opérateur convivial par défaut"
|
||||
}
|
||||
],
|
||||
"profileType": "operator"
|
||||
},
|
||||
"createdTimestamp": 1601961451776,
|
||||
"lastModifiedTimestamp": 1601961451776,
|
||||
"childProfileIds": []
|
||||
}
|
||||
]
|
||||
@@ -1,34 +1,34 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 1,
|
||||
"customerId": 2,
|
||||
"profileType": "radius",
|
||||
"name": "RadiusProfileOttawa",
|
||||
"details": {
|
||||
"model_type": "RadiusProfile",
|
||||
"subnetConfiguration": null,
|
||||
"serviceRegionMap": {
|
||||
"Ottawa": {
|
||||
"model_type": "RadiusServiceRegion",
|
||||
"serverMap": {
|
||||
"RadiusProfileOttawa": [
|
||||
{
|
||||
"model_type": "RadiusServer",
|
||||
"ipAddress": "localhost",
|
||||
"secret": "testing123",
|
||||
"authPort": 1812,
|
||||
"timeout": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"regionName": "Ottawa"
|
||||
}
|
||||
},
|
||||
"profileType": "radius"
|
||||
},
|
||||
"createdTimestamp": 1591653174195,
|
||||
"lastModifiedTimestamp": 1591653174195,
|
||||
"childProfileIds": []
|
||||
}
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 1,
|
||||
"customerId": 2,
|
||||
"profileType": "radius",
|
||||
"name": "Radius-Profile",
|
||||
"details": {
|
||||
"model_type": "RadiusProfile",
|
||||
"subnetConfiguration": null,
|
||||
"serviceRegionMap": {
|
||||
"Ottawa": {
|
||||
"model_type": "RadiusServiceRegion",
|
||||
"serverMap": {
|
||||
"Radius-Profile": [
|
||||
{
|
||||
"model_type": "RadiusServer",
|
||||
"ipAddress": "192.168.0.1",
|
||||
"secret": "testing123",
|
||||
"authPort": 1812,
|
||||
"timeout": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"regionName": "Ottawa"
|
||||
}
|
||||
},
|
||||
"profileType": "radius"
|
||||
},
|
||||
"createdTimestamp": 1601961451668,
|
||||
"lastModifiedTimestamp": 1601961451668,
|
||||
"childProfileIds": []
|
||||
}
|
||||
]
|
||||
@@ -1,258 +1,256 @@
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 9,
|
||||
"customerId": 2,
|
||||
"profileType": "rf",
|
||||
"name": "DefaultRf",
|
||||
"details": {
|
||||
"model_type": "RfConfiguration",
|
||||
"rf": "Default-RF",
|
||||
"profileType": "rf",
|
||||
"rfConfigMap": {
|
||||
"is2dot4GHz": {
|
||||
"model_type": "RfElementConfiguration",
|
||||
"beaconInterval": 100,
|
||||
"forceScanDuringVoice": "disabled",
|
||||
"rtsCtsThreshold": 65535,
|
||||
"channelBandwidth": "is20MHz",
|
||||
"mimoMode": "twoBytwo",
|
||||
"maxNumClients": 100,
|
||||
"multicastRate": "auto",
|
||||
"autoChannelSelection": false,
|
||||
"activeScanSettings": {
|
||||
"model_type": "ActiveScanSettings",
|
||||
"enabled": true,
|
||||
"scanFrequencySeconds": 10,
|
||||
"scanDurationMillis": 65
|
||||
},
|
||||
"managementRate": "auto",
|
||||
"rxCellSizeDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"probeResponseThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"clientDisconnectThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"eirpTxPower": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": false,
|
||||
"value": 32
|
||||
},
|
||||
"bestApEnabled": null,
|
||||
"neighbouringListApConfig": {
|
||||
"model_type": "NeighbouringAPListConfiguration",
|
||||
"minSignal": -85,
|
||||
"maxAps": 25
|
||||
},
|
||||
"minAutoCellSize": -80,
|
||||
"perimeterDetectionEnabled": true,
|
||||
"channelHopSettings": {
|
||||
"model_type": "ChannelHopSettings",
|
||||
"noiseFloorThresholdInDB": -75,
|
||||
"noiseFloorThresholdTimeInSeconds": 180,
|
||||
"nonWifiThresholdInPercentage": 50,
|
||||
"nonWifiThresholdTimeInSeconds": 180,
|
||||
"obssHopMode": "NON_WIFI"
|
||||
},
|
||||
"bestApSettings": {
|
||||
"model_type": "RadioBestApSettings",
|
||||
"mlComputed": true,
|
||||
"dropInSnrPercentage": 20,
|
||||
"minLoadFactor": 50
|
||||
}
|
||||
},
|
||||
"is5GHz": {
|
||||
"model_type": "RfElementConfiguration",
|
||||
"beaconInterval": 100,
|
||||
"forceScanDuringVoice": "disabled",
|
||||
"rtsCtsThreshold": 65535,
|
||||
"channelBandwidth": "is80MHz",
|
||||
"mimoMode": "twoBytwo",
|
||||
"maxNumClients": 100,
|
||||
"multicastRate": "auto",
|
||||
"autoChannelSelection": false,
|
||||
"activeScanSettings": {
|
||||
"model_type": "ActiveScanSettings",
|
||||
"enabled": true,
|
||||
"scanFrequencySeconds": 10,
|
||||
"scanDurationMillis": 65
|
||||
},
|
||||
"managementRate": "auto",
|
||||
"rxCellSizeDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"probeResponseThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"clientDisconnectThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"eirpTxPower": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": false,
|
||||
"value": 32
|
||||
},
|
||||
"bestApEnabled": null,
|
||||
"neighbouringListApConfig": {
|
||||
"model_type": "NeighbouringAPListConfiguration",
|
||||
"minSignal": -85,
|
||||
"maxAps": 25
|
||||
},
|
||||
"minAutoCellSize": -80,
|
||||
"perimeterDetectionEnabled": true,
|
||||
"channelHopSettings": {
|
||||
"model_type": "ChannelHopSettings",
|
||||
"noiseFloorThresholdInDB": -75,
|
||||
"noiseFloorThresholdTimeInSeconds": 180,
|
||||
"nonWifiThresholdInPercentage": 50,
|
||||
"nonWifiThresholdTimeInSeconds": 180,
|
||||
"obssHopMode": "NON_WIFI"
|
||||
},
|
||||
"bestApSettings": {
|
||||
"model_type": "RadioBestApSettings",
|
||||
"mlComputed": true,
|
||||
"dropInSnrPercentage": 30,
|
||||
"minLoadFactor": 40
|
||||
}
|
||||
},
|
||||
"is5GHzL": {
|
||||
"model_type": "RfElementConfiguration",
|
||||
"beaconInterval": 100,
|
||||
"forceScanDuringVoice": "disabled",
|
||||
"rtsCtsThreshold": 65535,
|
||||
"channelBandwidth": "is80MHz",
|
||||
"mimoMode": "twoBytwo",
|
||||
"maxNumClients": 100,
|
||||
"multicastRate": "auto",
|
||||
"autoChannelSelection": false,
|
||||
"activeScanSettings": {
|
||||
"model_type": "ActiveScanSettings",
|
||||
"enabled": true,
|
||||
"scanFrequencySeconds": 10,
|
||||
"scanDurationMillis": 65
|
||||
},
|
||||
"managementRate": "auto",
|
||||
"rxCellSizeDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"probeResponseThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"clientDisconnectThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"eirpTxPower": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": false,
|
||||
"value": 32
|
||||
},
|
||||
"bestApEnabled": null,
|
||||
"neighbouringListApConfig": {
|
||||
"model_type": "NeighbouringAPListConfiguration",
|
||||
"minSignal": -85,
|
||||
"maxAps": 25
|
||||
},
|
||||
"minAutoCellSize": -80,
|
||||
"perimeterDetectionEnabled": true,
|
||||
"channelHopSettings": {
|
||||
"model_type": "ChannelHopSettings",
|
||||
"noiseFloorThresholdInDB": -75,
|
||||
"noiseFloorThresholdTimeInSeconds": 180,
|
||||
"nonWifiThresholdInPercentage": 50,
|
||||
"nonWifiThresholdTimeInSeconds": 180,
|
||||
"obssHopMode": "NON_WIFI"
|
||||
},
|
||||
"bestApSettings": {
|
||||
"model_type": "RadioBestApSettings",
|
||||
"mlComputed": true,
|
||||
"dropInSnrPercentage": 30,
|
||||
"minLoadFactor": 40
|
||||
}
|
||||
},
|
||||
"is5GHzU": {
|
||||
"model_type": "RfElementConfiguration",
|
||||
"beaconInterval": 100,
|
||||
"forceScanDuringVoice": "disabled",
|
||||
"rtsCtsThreshold": 65535,
|
||||
"channelBandwidth": "is80MHz",
|
||||
"mimoMode": "twoBytwo",
|
||||
"maxNumClients": 100,
|
||||
"multicastRate": "auto",
|
||||
"autoChannelSelection": false,
|
||||
"activeScanSettings": {
|
||||
"model_type": "ActiveScanSettings",
|
||||
"enabled": true,
|
||||
"scanFrequencySeconds": 10,
|
||||
"scanDurationMillis": 65
|
||||
},
|
||||
"managementRate": "auto",
|
||||
"rxCellSizeDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"probeResponseThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"clientDisconnectThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"eirpTxPower": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": false,
|
||||
"value": 32
|
||||
},
|
||||
"bestApEnabled": null,
|
||||
"neighbouringListApConfig": {
|
||||
"model_type": "NeighbouringAPListConfiguration",
|
||||
"minSignal": -85,
|
||||
"maxAps": 25
|
||||
},
|
||||
"minAutoCellSize": -80,
|
||||
"perimeterDetectionEnabled": true,
|
||||
"channelHopSettings": {
|
||||
"model_type": "ChannelHopSettings",
|
||||
"noiseFloorThresholdInDB": -75,
|
||||
"noiseFloorThresholdTimeInSeconds": 180,
|
||||
"nonWifiThresholdInPercentage": 50,
|
||||
"nonWifiThresholdTimeInSeconds": 180,
|
||||
"obssHopMode": "NON_WIFI"
|
||||
},
|
||||
"bestApSettings": {
|
||||
"model_type": "RadioBestApSettings",
|
||||
"mlComputed": true,
|
||||
"dropInSnrPercentage": 30,
|
||||
"minLoadFactor": 40
|
||||
}
|
||||
}
|
||||
},
|
||||
"createdTimestamp": 1591653239983,
|
||||
"lastModifiedTimestamp": 1591653239983,
|
||||
"childProfileIds": [
|
||||
]
|
||||
}
|
||||
}
|
||||
"model_type": "Profile",
|
||||
"id": 11,
|
||||
"customerId": 2,
|
||||
"profileType": "rf",
|
||||
"name": "TipWlan-rf",
|
||||
"details": {
|
||||
"model_type": "RfConfiguration",
|
||||
"rfConfigMap": {
|
||||
"is5GHz": {
|
||||
"model_type": "RfElementConfiguration",
|
||||
"rf": "TipWlan-rf",
|
||||
"beaconInterval": 100,
|
||||
"forceScanDuringVoice": "disabled",
|
||||
"rtsCtsThreshold": 65535,
|
||||
"channelBandwidth": "is80MHz",
|
||||
"mimoMode": "twoByTwo",
|
||||
"maxNumClients": 100,
|
||||
"multicastRate": "auto",
|
||||
"autoChannelSelection": false,
|
||||
"activeScanSettings": {
|
||||
"model_type": "ActiveScanSettings",
|
||||
"enabled": true,
|
||||
"scanFrequencySeconds": 10,
|
||||
"scanDurationMillis": 65
|
||||
},
|
||||
"managementRate": "auto",
|
||||
"rxCellSizeDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"probeResponseThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"clientDisconnectThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"eirpTxPower": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": 18
|
||||
},
|
||||
"bestApEnabled": null,
|
||||
"neighbouringListApConfig": {
|
||||
"model_type": "NeighbouringAPListConfiguration",
|
||||
"minSignal": -85,
|
||||
"maxAps": 25
|
||||
},
|
||||
"perimeterDetectionEnabled": true,
|
||||
"channelHopSettings": {
|
||||
"model_type": "ChannelHopSettings",
|
||||
"noiseFloorThresholdInDB": -75,
|
||||
"noiseFloorThresholdTimeInSeconds": 180,
|
||||
"nonWifiThresholdInPercentage": 50,
|
||||
"nonWifiThresholdTimeInSeconds": 180,
|
||||
"obssHopMode": "NON_WIFI"
|
||||
},
|
||||
"bestApSettings": {
|
||||
"model_type": "RadioBestApSettings",
|
||||
"mlComputed": true,
|
||||
"dropInSnrPercentage": 30,
|
||||
"minLoadFactor": 40
|
||||
}
|
||||
},
|
||||
"is2dot4GHz": {
|
||||
"model_type": "RfElementConfiguration",
|
||||
"rf": "TipWlan-rf",
|
||||
"beaconInterval": 100,
|
||||
"forceScanDuringVoice": "disabled",
|
||||
"rtsCtsThreshold": 65535,
|
||||
"channelBandwidth": "is20MHz",
|
||||
"mimoMode": "twoByTwo",
|
||||
"maxNumClients": 100,
|
||||
"multicastRate": "auto",
|
||||
"autoChannelSelection": false,
|
||||
"activeScanSettings": {
|
||||
"model_type": "ActiveScanSettings",
|
||||
"enabled": true,
|
||||
"scanFrequencySeconds": 10,
|
||||
"scanDurationMillis": 65
|
||||
},
|
||||
"managementRate": "auto",
|
||||
"rxCellSizeDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"probeResponseThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"clientDisconnectThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"eirpTxPower": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": 18
|
||||
},
|
||||
"bestApEnabled": null,
|
||||
"neighbouringListApConfig": {
|
||||
"model_type": "NeighbouringAPListConfiguration",
|
||||
"minSignal": -85,
|
||||
"maxAps": 25
|
||||
},
|
||||
"perimeterDetectionEnabled": true,
|
||||
"channelHopSettings": {
|
||||
"model_type": "ChannelHopSettings",
|
||||
"noiseFloorThresholdInDB": -75,
|
||||
"noiseFloorThresholdTimeInSeconds": 180,
|
||||
"nonWifiThresholdInPercentage": 50,
|
||||
"nonWifiThresholdTimeInSeconds": 180,
|
||||
"obssHopMode": "NON_WIFI"
|
||||
},
|
||||
"bestApSettings": {
|
||||
"model_type": "RadioBestApSettings",
|
||||
"mlComputed": true,
|
||||
"dropInSnrPercentage": 20,
|
||||
"minLoadFactor": 50
|
||||
}
|
||||
},
|
||||
"is5GHzU": {
|
||||
"model_type": "RfElementConfiguration",
|
||||
"rf": "TipWlan-rf",
|
||||
"beaconInterval": 100,
|
||||
"forceScanDuringVoice": "disabled",
|
||||
"rtsCtsThreshold": 65535,
|
||||
"channelBandwidth": "is80MHz",
|
||||
"mimoMode": "twoByTwo",
|
||||
"maxNumClients": 100,
|
||||
"multicastRate": "auto",
|
||||
"autoChannelSelection": false,
|
||||
"activeScanSettings": {
|
||||
"model_type": "ActiveScanSettings",
|
||||
"enabled": true,
|
||||
"scanFrequencySeconds": 10,
|
||||
"scanDurationMillis": 65
|
||||
},
|
||||
"managementRate": "auto",
|
||||
"rxCellSizeDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"probeResponseThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"clientDisconnectThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"eirpTxPower": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": 18
|
||||
},
|
||||
"bestApEnabled": null,
|
||||
"neighbouringListApConfig": {
|
||||
"model_type": "NeighbouringAPListConfiguration",
|
||||
"minSignal": -85,
|
||||
"maxAps": 25
|
||||
},
|
||||
"perimeterDetectionEnabled": true,
|
||||
"channelHopSettings": {
|
||||
"model_type": "ChannelHopSettings",
|
||||
"noiseFloorThresholdInDB": -75,
|
||||
"noiseFloorThresholdTimeInSeconds": 180,
|
||||
"nonWifiThresholdInPercentage": 50,
|
||||
"nonWifiThresholdTimeInSeconds": 180,
|
||||
"obssHopMode": "NON_WIFI"
|
||||
},
|
||||
"bestApSettings": {
|
||||
"model_type": "RadioBestApSettings",
|
||||
"mlComputed": true,
|
||||
"dropInSnrPercentage": 30,
|
||||
"minLoadFactor": 40
|
||||
}
|
||||
},
|
||||
"is5GHzL": {
|
||||
"model_type": "RfElementConfiguration",
|
||||
"rf": "TipWlan-rf",
|
||||
"beaconInterval": 100,
|
||||
"forceScanDuringVoice": "disabled",
|
||||
"rtsCtsThreshold": 65535,
|
||||
"channelBandwidth": "is80MHz",
|
||||
"mimoMode": "twoByTwo",
|
||||
"maxNumClients": 100,
|
||||
"multicastRate": "auto",
|
||||
"autoChannelSelection": false,
|
||||
"activeScanSettings": {
|
||||
"model_type": "ActiveScanSettings",
|
||||
"enabled": true,
|
||||
"scanFrequencySeconds": 10,
|
||||
"scanDurationMillis": 65
|
||||
},
|
||||
"managementRate": "auto",
|
||||
"rxCellSizeDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"probeResponseThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"clientDisconnectThresholdDb": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": -90
|
||||
},
|
||||
"eirpTxPower": {
|
||||
"model_type": "AutoOrManualValue",
|
||||
"auto": true,
|
||||
"value": 18
|
||||
},
|
||||
"bestApEnabled": null,
|
||||
"neighbouringListApConfig": {
|
||||
"model_type": "NeighbouringAPListConfiguration",
|
||||
"minSignal": -85,
|
||||
"maxAps": 25
|
||||
},
|
||||
"perimeterDetectionEnabled": true,
|
||||
"channelHopSettings": {
|
||||
"model_type": "ChannelHopSettings",
|
||||
"noiseFloorThresholdInDB": -75,
|
||||
"noiseFloorThresholdTimeInSeconds": 180,
|
||||
"nonWifiThresholdInPercentage": 50,
|
||||
"nonWifiThresholdTimeInSeconds": 180,
|
||||
"obssHopMode": "NON_WIFI"
|
||||
},
|
||||
"bestApSettings": {
|
||||
"model_type": "RadioBestApSettings",
|
||||
"mlComputed": true,
|
||||
"dropInSnrPercentage": 30,
|
||||
"minLoadFactor": 40
|
||||
}
|
||||
}
|
||||
},
|
||||
"profileType": "rf"
|
||||
},
|
||||
"createdTimestamp": 1601961452390,
|
||||
"lastModifiedTimestamp": 1601961452390,
|
||||
"childProfileIds": []
|
||||
}
|
||||
@@ -1,186 +1,69 @@
|
||||
[
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 6,
|
||||
"customerId": 2,
|
||||
"profileType": "ssid",
|
||||
"name": "DefaultSsid-2g",
|
||||
"details": {
|
||||
"model_type": "SsidConfiguration",
|
||||
"ssid": "Default-SSID-2g",
|
||||
"appliedRadios": [
|
||||
"is2dot4GHz"
|
||||
],
|
||||
"ssidAdminState": "enabled",
|
||||
"secureMode": "wpa2PSK",
|
||||
"vlanId": 1,
|
||||
"keyStr": "12345678",
|
||||
"broadcastSsid": "enabled",
|
||||
"keyRefresh": 0,
|
||||
"noLocalSubnets": false,
|
||||
"radiusServiceName": null,
|
||||
"captivePortalId": null,
|
||||
"bandwidthLimitDown": 0,
|
||||
"bandwidthLimitUp": 0,
|
||||
"clientBandwidthLimitDown": 0,
|
||||
"clientBandwidthLimitUp": 0,
|
||||
"videoTrafficOnly": false,
|
||||
"radioBasedConfigs": {
|
||||
"is5GHz": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is2dot4GHz": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is5GHzU": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is5GHzL": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
}
|
||||
},
|
||||
"bonjourGatewayProfileId": null,
|
||||
"enable80211w": null,
|
||||
"wepConfig": null,
|
||||
"forwardMode": null,
|
||||
"profileType": "ssid"
|
||||
},
|
||||
"createdTimestamp": 1591653239983,
|
||||
"lastModifiedTimestamp": 1591653239983,
|
||||
"childProfileIds": []
|
||||
},
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 7,
|
||||
"customerId": 2,
|
||||
"profileType": "ssid",
|
||||
"name": "DefaultSsid-5gl",
|
||||
"details": {
|
||||
"model_type": "SsidConfiguration",
|
||||
"ssid": "Default-SSID-5gl",
|
||||
"appliedRadios": [
|
||||
"is5GHzL"
|
||||
],
|
||||
"ssidAdminState": "enabled",
|
||||
"secureMode": "wpaEAP",
|
||||
"vlanId": 1,
|
||||
"keyStr": "12345678",
|
||||
"broadcastSsid": "enabled",
|
||||
"keyRefresh": 0,
|
||||
"noLocalSubnets": false,
|
||||
"radiusServiceName": "RadiusProfileOttawa",
|
||||
"captivePortalId": null,
|
||||
"bandwidthLimitDown": 0,
|
||||
"bandwidthLimitUp": 0,
|
||||
"videoTrafficOnly": false,
|
||||
"radioBasedConfigs": {
|
||||
"is5GHz": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is2dot4GHz": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is5GHzU": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is5GHzL": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
}
|
||||
},
|
||||
"bonjourGatewayProfileId": null,
|
||||
"enable80211w": null,
|
||||
"wepConfig": null,
|
||||
"forwardMode": null,
|
||||
"profileType": "ssid"
|
||||
},
|
||||
"createdTimestamp": 1591653240017,
|
||||
"lastModifiedTimestamp": 1591654215374,
|
||||
"childProfileIds": [
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"model_type": "Profile",
|
||||
"id": 8,
|
||||
"customerId": 2,
|
||||
"profileType": "ssid",
|
||||
"name": "DefaultSsid-5gu",
|
||||
"details": {
|
||||
"model_type": "SsidConfiguration",
|
||||
"ssid": "Default-SSID-5gu",
|
||||
"appliedRadios": [
|
||||
"is5GHzU"
|
||||
],
|
||||
"ssidAdminState": "enabled",
|
||||
"secureMode": "wpa2PSK",
|
||||
"vlanId": 1,
|
||||
"keyStr": "12345678",
|
||||
"broadcastSsid": "enabled",
|
||||
"keyRefresh": 0,
|
||||
"noLocalSubnets": false,
|
||||
"radiusServiceName": null,
|
||||
"captivePortalId": null,
|
||||
"bandwidthLimitDown": 0,
|
||||
"bandwidthLimitUp": 0,
|
||||
"videoTrafficOnly": false,
|
||||
"radioBasedConfigs": {
|
||||
"is5GHz": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is2dot4GHz": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is5GHzU": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is5GHzL": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
}
|
||||
},
|
||||
"bonjourGatewayProfileId": null,
|
||||
"enable80211w": null,
|
||||
"wepConfig": null,
|
||||
"forwardMode": null,
|
||||
"profileType": "ssid"
|
||||
},
|
||||
"createdTimestamp": 1591654301763,
|
||||
"lastModifiedTimestamp": 1591654301763,
|
||||
"childProfileIds": []
|
||||
}
|
||||
"model_type": "Profile",
|
||||
"id": 9,
|
||||
"customerId": 2,
|
||||
"profileType": "ssid",
|
||||
"name": "TipWlan-cloud-3-radios",
|
||||
"details": {
|
||||
"model_type": "SsidConfiguration",
|
||||
"ssid": "TipWlan-cloud-3-radios",
|
||||
"appliedRadios": [
|
||||
"is5GHzU",
|
||||
"is2dot4GHz",
|
||||
"is5GHzL"
|
||||
],
|
||||
"ssidAdminState": "enabled",
|
||||
"secureMode": "open",
|
||||
"vlanId": 1,
|
||||
"keyStr": null,
|
||||
"broadcastSsid": "enabled",
|
||||
"keyRefresh": 0,
|
||||
"noLocalSubnets": false,
|
||||
"radiusServiceName": null,
|
||||
"captivePortalId": null,
|
||||
"bandwidthLimitDown": 0,
|
||||
"bandwidthLimitUp": 0,
|
||||
"clientBandwidthLimitDown": 0,
|
||||
"clientBandwidthLimitUp": 0,
|
||||
"videoTrafficOnly": false,
|
||||
"radioBasedConfigs": {
|
||||
"is5GHz": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is2dot4GHz": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is5GHzU": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
},
|
||||
"is5GHzL": {
|
||||
"model_type": "RadioBasedSsidConfiguration",
|
||||
"enable80211r": null,
|
||||
"enable80211k": null,
|
||||
"enable80211v": null
|
||||
}
|
||||
},
|
||||
"bonjourGatewayProfileId": null,
|
||||
"enable80211w": null,
|
||||
"wepConfig": null,
|
||||
"forwardMode": null,
|
||||
"profileType": "ssid"
|
||||
},
|
||||
"createdTimestamp": 1601961452385,
|
||||
"lastModifiedTimestamp": 1601961452385,
|
||||
"childProfileIds": [
|
||||
7,
|
||||
8
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1,40 +1,42 @@
|
||||
[
|
||||
{
|
||||
"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": "Profile",
|
||||
"id": 6,
|
||||
"customerId": 2,
|
||||
"profileType": "venue",
|
||||
"name": "TipWlan-Hotspot20-Venue",
|
||||
"details": {
|
||||
"model_type": "VenueProfile",
|
||||
"venueNameSet": [
|
||||
{
|
||||
"model_type": "VenueName",
|
||||
"locale": "fr_CA",
|
||||
"dupleIso3Language": "fra",
|
||||
"dupleName": "Exemple de lieu",
|
||||
"defaultDupleSeparator": ":",
|
||||
"venueUrl": "http://www.example.com/info-fra",
|
||||
"asDuple": "fra:Exemple de lieu"
|
||||
},
|
||||
{
|
||||
"model_type": "VenueName",
|
||||
"locale": "en_CA",
|
||||
"dupleIso3Language": "eng",
|
||||
"dupleName": "Example venue",
|
||||
"defaultDupleSeparator": ":",
|
||||
"venueUrl": "http://www.example.com/info-eng",
|
||||
"asDuple": "eng:Example venue"
|
||||
}
|
||||
],
|
||||
"venueTypeAssignment": {
|
||||
"model_type": "VenueTypeAssignment",
|
||||
"venueDescription": "Research and Development Facility",
|
||||
"venueGroupId": 2,
|
||||
"venueTypeId": 8
|
||||
},
|
||||
{
|
||||
"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"
|
||||
},
|
||||
"profileType": "venue"
|
||||
},
|
||||
"createdTimestamp": 1601595306891,
|
||||
"lastModifiedTimestamp": 1601595306891,
|
||||
"childProfileIds": []
|
||||
}
|
||||
"createdTimestamp": 1601961451781,
|
||||
"lastModifiedTimestamp": 1601961451781,
|
||||
"childProfileIds": []
|
||||
}
|
||||
]
|
||||
@@ -24,6 +24,10 @@ 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.idProviderProfileFileName=$OVSDB_IDPROVIDERPROFILE_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"
|
||||
|
||||
@@ -15,6 +15,7 @@ import java.util.EnumMap;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -86,7 +87,12 @@ import com.telecominfraproject.wlan.profile.models.common.ManagedFileInfo;
|
||||
import com.telecominfraproject.wlan.profile.network.models.ApNetworkConfiguration;
|
||||
import com.telecominfraproject.wlan.profile.network.models.RadioProfileConfiguration;
|
||||
import com.telecominfraproject.wlan.profile.passpoint.hotspot.models.Hotspot2Profile;
|
||||
import com.telecominfraproject.wlan.profile.passpoint.models.Hotspot20Duple;
|
||||
import com.telecominfraproject.wlan.profile.passpoint.models.MccMnc;
|
||||
import com.telecominfraproject.wlan.profile.passpoint.operator.models.OperatorProfile;
|
||||
import com.telecominfraproject.wlan.profile.passpoint.provider.models.Hotspot20IdProviderProfile;
|
||||
import com.telecominfraproject.wlan.profile.passpoint.provider.models.NaiRealmInformation;
|
||||
import com.telecominfraproject.wlan.profile.passpoint.provider.models.OsuIcon;
|
||||
import com.telecominfraproject.wlan.profile.passpoint.venue.models.VenueProfile;
|
||||
import com.telecominfraproject.wlan.profile.radius.models.RadiusProfile;
|
||||
import com.telecominfraproject.wlan.profile.radius.models.RadiusServer;
|
||||
@@ -276,7 +282,7 @@ public class AllInOneStartListener implements ApplicationRunner {
|
||||
radiusDetails.addRadiusServiceRegion(radiusServiceRegion);
|
||||
profileRadius.setDetails(radiusDetails);
|
||||
profileRadius = profileServiceInterface.create(profileRadius);
|
||||
|
||||
|
||||
Profile profileMetrics_3_radios = new Profile();
|
||||
profileMetrics_3_radios.setCustomerId(customer.getId());
|
||||
profileMetrics_3_radios.setProfileType(ProfileType.metrics);
|
||||
@@ -285,18 +291,20 @@ public class AllInOneStartListener implements ApplicationRunner {
|
||||
profileMetrics_3_radioTypes.add(RadioType.is2dot4GHz);
|
||||
profileMetrics_3_radioTypes.add(RadioType.is5GHzL);
|
||||
profileMetrics_3_radioTypes.add(RadioType.is5GHzU);
|
||||
|
||||
|
||||
Set<ServiceMetricDataType> metricTypes = new HashSet<>();
|
||||
metricTypes.add(ServiceMetricDataType.ApNode);
|
||||
metricTypes.add(ServiceMetricDataType.ApSsid);
|
||||
metricTypes.add(ServiceMetricDataType.Channel);
|
||||
metricTypes.add(ServiceMetricDataType.Client);
|
||||
metricTypes.add(ServiceMetricDataType.Neighbour);
|
||||
ServiceMetricsCollectionConfigProfile metricsProfileDetails3Radios = ServiceMetricsCollectionConfigProfile.createWithDefaults();
|
||||
metricsProfileDetails3Radios.setAllNetworkConfigParametersToDefaults(profileMetrics_3_radioTypes, metricTypes, true);
|
||||
ServiceMetricsCollectionConfigProfile metricsProfileDetails3Radios = ServiceMetricsCollectionConfigProfile
|
||||
.createWithDefaults();
|
||||
metricsProfileDetails3Radios.setAllNetworkConfigParametersToDefaults(profileMetrics_3_radioTypes, metricTypes,
|
||||
true);
|
||||
profileMetrics_3_radios.setDetails(metricsProfileDetails3Radios);
|
||||
profileMetrics_3_radios = profileServiceInterface.create(profileMetrics_3_radios);
|
||||
|
||||
|
||||
Profile profileMetrics_2_radios = new Profile();
|
||||
profileMetrics_2_radios.setCustomerId(customer.getId());
|
||||
profileMetrics_2_radios.setProfileType(ProfileType.metrics);
|
||||
@@ -304,9 +312,11 @@ public class AllInOneStartListener implements ApplicationRunner {
|
||||
Set<RadioType> profileMetrics_2_radioTypes = new HashSet<>();
|
||||
profileMetrics_2_radioTypes.add(RadioType.is2dot4GHz);
|
||||
profileMetrics_2_radioTypes.add(RadioType.is5GHz);
|
||||
|
||||
ServiceMetricsCollectionConfigProfile metricsProfileDetails2Radios = ServiceMetricsCollectionConfigProfile.createWithDefaults();
|
||||
metricsProfileDetails3Radios.setAllNetworkConfigParametersToDefaults(profileMetrics_2_radioTypes, metricTypes, true);
|
||||
|
||||
ServiceMetricsCollectionConfigProfile metricsProfileDetails2Radios = ServiceMetricsCollectionConfigProfile
|
||||
.createWithDefaults();
|
||||
metricsProfileDetails3Radios.setAllNetworkConfigParametersToDefaults(profileMetrics_2_radioTypes, metricTypes,
|
||||
true);
|
||||
|
||||
profileMetrics_2_radios.setDetails(metricsProfileDetails2Radios);
|
||||
profileMetrics_2_radios = profileServiceInterface.create(profileMetrics_2_radios);
|
||||
@@ -329,15 +339,14 @@ public class AllInOneStartListener implements ApplicationRunner {
|
||||
profileSsidEAP.setChildProfileIds(childIds);
|
||||
profileSsidEAP = profileServiceInterface.create(profileSsidEAP);
|
||||
|
||||
|
||||
|
||||
|
||||
Profile passpointOperatorProfile = new Profile();
|
||||
passpointOperatorProfile.setCustomerId(customer.getId());
|
||||
passpointOperatorProfile.setName("TipWlan-Hotspot20-Operator");
|
||||
passpointOperatorProfile.setProfileType(ProfileType.operator);
|
||||
passpointOperatorProfile.setDetails(OperatorProfile.createWithDefaults());
|
||||
passpointOperatorProfile = profileServiceInterface.create(passpointOperatorProfile);
|
||||
|
||||
|
||||
Profile passpointVenueProfile = new Profile();
|
||||
passpointVenueProfile.setCustomerId(customer.getId());
|
||||
passpointVenueProfile.setName("TipWlan-Hotspot20-Venue");
|
||||
@@ -345,6 +354,56 @@ public class AllInOneStartListener implements ApplicationRunner {
|
||||
passpointVenueProfile.setDetails(VenueProfile.createWithDefaults());
|
||||
passpointVenueProfile = profileServiceInterface.create(passpointVenueProfile);
|
||||
|
||||
Profile hotspot20IdProviderProfile = new Profile();
|
||||
hotspot20IdProviderProfile.setCustomerId(customer.getId());
|
||||
hotspot20IdProviderProfile.setName("TipWlan-Hotspot20-OSU-Provider");
|
||||
hotspot20IdProviderProfile.setProfileType(ProfileType.id_provider);
|
||||
Hotspot20IdProviderProfile passpointIdProviderProfile = Hotspot20IdProviderProfile.createWithDefaults();
|
||||
MccMnc mccMnc = MccMnc.createWithDefaults();
|
||||
mccMnc.setMcc(302);
|
||||
mccMnc.setMnc(720);
|
||||
mccMnc.setIso("ca");
|
||||
mccMnc.setCountry("Canada");
|
||||
mccMnc.setCountryCode(1);
|
||||
mccMnc.setNetwork("Rogers AT&T Wireless");
|
||||
List<MccMnc> mccMncList = new ArrayList<>();
|
||||
mccMncList.add(mccMnc);
|
||||
passpointIdProviderProfile.setMccMncList(mccMncList);
|
||||
List<OsuIcon> osuIconList = new ArrayList<>();
|
||||
osuIconList.add(OsuIcon.createWithDefaults());
|
||||
passpointIdProviderProfile.setOsuIconList(osuIconList);
|
||||
List<NaiRealmInformation> naiRealmList = new ArrayList<>();
|
||||
naiRealmList.add(NaiRealmInformation.createWithDefaults());
|
||||
passpointIdProviderProfile.setNaiRealmList(naiRealmList);
|
||||
passpointIdProviderProfile.setDomainName("example.com");
|
||||
passpointIdProviderProfile.setOsuNaiStandalone("anonymous@example.com");
|
||||
passpointIdProviderProfile.setOsuNaiShared("anonymous@example.com");
|
||||
List<Integer> methodList = new ArrayList<>();
|
||||
methodList.add(1);
|
||||
methodList.add(0);
|
||||
passpointIdProviderProfile.setOsuMethodList(methodList);
|
||||
Hotspot20Duple enOsuProvider = Hotspot20Duple.createWithDefaults();
|
||||
enOsuProvider.setLocale(Locale.CANADA);
|
||||
enOsuProvider.setDupleName("Example provider");
|
||||
passpointIdProviderProfile.setOsuFriendlyName(enOsuProvider);
|
||||
List<Hotspot20Duple> osuServiceDescription = new ArrayList<>();
|
||||
Hotspot20Duple enService = Hotspot20Duple.createWithDefaults();
|
||||
enService.setLocale(Locale.CANADA);
|
||||
enService.setDupleName("Example services");
|
||||
osuServiceDescription.add(enService);
|
||||
Hotspot20Duple frService = Hotspot20Duple.createWithDefaults();
|
||||
frService.setLocale(Locale.CANADA_FRENCH);
|
||||
frService.setDupleName("Exemples de services");
|
||||
osuServiceDescription.add(frService);
|
||||
passpointIdProviderProfile.setOsuServiceDescription(osuServiceDescription);
|
||||
passpointIdProviderProfile.setOsuSsid("TipWlan-cloud-3-radios");
|
||||
passpointIdProviderProfile.setOsuServerUri("https://example.com/osu/");
|
||||
passpointIdProviderProfile.setRadiusProfileAccounting("Radius-Profile");
|
||||
passpointIdProviderProfile.setRadiusProfileAuth("Radius-Profile");
|
||||
hotspot20IdProviderProfile.setDetails(passpointIdProviderProfile);
|
||||
hotspot20IdProviderProfile = profileServiceInterface.create(hotspot20IdProviderProfile);
|
||||
|
||||
|
||||
Profile passpointHotspotConfig = new Profile();
|
||||
passpointHotspotConfig.setCustomerId(customer.getId());
|
||||
passpointHotspotConfig.setName("TipWlan-Hotspot20-Config");
|
||||
@@ -352,11 +411,15 @@ public class AllInOneStartListener implements ApplicationRunner {
|
||||
Set<Long> passpointHotspotConfigChildIds = new HashSet<>();
|
||||
passpointHotspotConfigChildIds.add(passpointOperatorProfile.getId());
|
||||
passpointHotspotConfigChildIds.add(passpointVenueProfile.getId());
|
||||
passpointHotspotConfigChildIds.add(hotspot20IdProviderProfile.getId());
|
||||
passpointHotspotConfig.setChildProfileIds(passpointHotspotConfigChildIds);
|
||||
passpointHotspotConfig.setDetails(Hotspot2Profile.createWithDefaults());
|
||||
List<String> associatedSsids = new ArrayList<>();
|
||||
associatedSsids.add("TipWlan-cloud-3-radios");
|
||||
((Hotspot2Profile) passpointHotspotConfig.getDetails()).setAssociatedSsids(associatedSsids);
|
||||
passpointHotspotConfig = profileServiceInterface.create(passpointHotspotConfig);
|
||||
|
||||
|
||||
|
||||
|
||||
Profile profileSsid_3_radios = new Profile();
|
||||
profileSsid_3_radios.setCustomerId(customer.getId());
|
||||
profileSsid_3_radios.setName("TipWlan-cloud-3-radios");
|
||||
@@ -370,6 +433,8 @@ public class AllInOneStartListener implements ApplicationRunner {
|
||||
profileSsid_3_radios.setDetails(ssidConfig_3_radios);
|
||||
Set<Long> ssidChildIds = new HashSet<>();
|
||||
ssidChildIds.add(passpointHotspotConfig.getId());
|
||||
ssidChildIds.add(hotspot20IdProviderProfile.getId());
|
||||
|
||||
profileSsid_3_radios.setChildProfileIds(ssidChildIds);
|
||||
profileSsid_3_radios = profileServiceInterface.create(profileSsid_3_radios);
|
||||
|
||||
@@ -385,14 +450,14 @@ public class AllInOneStartListener implements ApplicationRunner {
|
||||
profileSsid_2_radios.setDetails(ssidConfig_2_radios);
|
||||
profileSsid_2_radios.setChildProfileIds(ssidChildIds);
|
||||
profileSsid_2_radios = profileServiceInterface.create(profileSsid_2_radios);
|
||||
|
||||
|
||||
Profile profileRf = new Profile();
|
||||
profileRf.setCustomerId(customer.getId());
|
||||
profileRf.setName("TipWlan-rf");
|
||||
RfConfiguration rfConfig = RfConfiguration.createWithDefaults();
|
||||
rfConfig.getRfConfigMap().forEach((x, y) -> y.setRf("TipWlan-rf"));
|
||||
profileRf.setDetails(rfConfig);
|
||||
profileRf = profileServiceInterface.create(profileRf);
|
||||
profileRf.setCustomerId(customer.getId());
|
||||
profileRf.setName("TipWlan-rf");
|
||||
RfConfiguration rfConfig = RfConfiguration.createWithDefaults();
|
||||
rfConfig.getRfConfigMap().forEach((x, y) -> y.setRf("TipWlan-rf"));
|
||||
profileRf.setDetails(rfConfig);
|
||||
profileRf = profileServiceInterface.create(profileRf);
|
||||
|
||||
// Captive portal profile
|
||||
Profile profileCaptivePortal = new Profile();
|
||||
@@ -725,7 +790,7 @@ public class AllInOneStartListener implements ApplicationRunner {
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -918,7 +983,7 @@ public class AllInOneStartListener implements ApplicationRunner {
|
||||
apNodeMetrics.setChannelUtilization(RadioType.is5GHzU, getRandomInt(30, 70));
|
||||
|
||||
apPerformance.setCpuTemperature(getRandomInt(25, 90));
|
||||
apPerformance.setCpuUtilized(new int[] { getRandomInt(5, 98), getRandomInt(5, 98) });
|
||||
apPerformance.setCpuUtilized(new int[] { getRandomInt(5, 98), getRandomInt(5, 98) });
|
||||
|
||||
apPerformance.setEthLinkState(EthernetLinkState.UP1000_FULL_DUPLEX);
|
||||
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
package com.telecominfraproject.wlan.profile.passpoint.hotspot.models;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.ListIterator;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -15,6 +18,7 @@ import com.telecominfraproject.wlan.profile.models.common.ManagedFileInfo;
|
||||
import com.telecominfraproject.wlan.profile.passpoint.models.AccessNetworkType;
|
||||
import com.telecominfraproject.wlan.profile.passpoint.models.GasAddress3Behaviour;
|
||||
import com.telecominfraproject.wlan.profile.passpoint.models.IPv4PasspointAddressType;
|
||||
import com.telecominfraproject.wlan.profile.passpoint.models.MccMnc;
|
||||
import com.telecominfraproject.wlan.profile.passpoint.models.NetworkAuthenticationType;
|
||||
|
||||
|
||||
@@ -64,6 +68,12 @@ public class Hotspot2Profile extends ProfileDetails implements PushableConfigura
|
||||
|
||||
private boolean disableDownstreamGroupAddressedForwarding;
|
||||
|
||||
private boolean enable2pt4GHz;
|
||||
private boolean enable5GHz;
|
||||
|
||||
private List<String> associatedSsids;
|
||||
|
||||
private List<MccMnc> mccMnc3gppCellularNetworkInfo;
|
||||
|
||||
private Hotspot2Profile() {
|
||||
|
||||
@@ -85,6 +95,17 @@ public class Hotspot2Profile extends ProfileDetails implements PushableConfigura
|
||||
termsAndConditionsFile.setApExportUrl("https://localhost:9091/filestore/termsAndConditions");
|
||||
termsAndConditionsFile.setFileCategory(FileCategory.ExternalPolicyConfiguration);
|
||||
termsAndConditionsFile.setFileType(FileType.TEXT);
|
||||
enable2pt4GHz = true;
|
||||
enable5GHz = true;
|
||||
mccMnc3gppCellularNetworkInfo = new ArrayList<>();
|
||||
MccMnc mccMnc = MccMnc.createWithDefaults();
|
||||
mccMnc.setMcc(302);
|
||||
mccMnc.setMnc(720);
|
||||
mccMnc.setIso("ca");
|
||||
mccMnc.setCountry("Canada");
|
||||
mccMnc.setCountryCode(1);
|
||||
mccMnc.setNetwork("Rogers AT&T Wireless");
|
||||
mccMnc3gppCellularNetworkInfo.add(mccMnc);
|
||||
}
|
||||
|
||||
public static Hotspot2Profile createWithDefaults() {
|
||||
@@ -316,6 +337,56 @@ public class Hotspot2Profile extends ProfileDetails implements PushableConfigura
|
||||
this.connectionCapabilitySet = connectionCapabilitySet;
|
||||
}
|
||||
|
||||
|
||||
public boolean isEnable2pt4GHz() {
|
||||
return enable2pt4GHz;
|
||||
}
|
||||
|
||||
|
||||
public void setEnable2pt4GHz(boolean enable2pt4gHz) {
|
||||
enable2pt4GHz = enable2pt4gHz;
|
||||
}
|
||||
|
||||
|
||||
public boolean isEnable5GHz() {
|
||||
return enable5GHz;
|
||||
}
|
||||
|
||||
|
||||
public void setEnable5GHz(boolean enable5gHz) {
|
||||
enable5GHz = enable5gHz;
|
||||
}
|
||||
|
||||
|
||||
public List<String> getAssociatedSsids() {
|
||||
return associatedSsids;
|
||||
}
|
||||
|
||||
|
||||
public void setAssociatedSsids(List<String> associatedSsids) {
|
||||
this.associatedSsids = associatedSsids;
|
||||
}
|
||||
|
||||
public List<MccMnc> getMccMnc3gppCellularNetworkInfo() {
|
||||
return mccMnc3gppCellularNetworkInfo;
|
||||
}
|
||||
|
||||
public String getMccMncList() {
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
ListIterator<MccMnc> listIterator = mccMnc3gppCellularNetworkInfo.listIterator();
|
||||
while (listIterator.hasNext()) {
|
||||
buffer.append(listIterator.next().getMccMncPairing());
|
||||
if (listIterator.hasNext()) {
|
||||
buffer.append(";");
|
||||
}
|
||||
}
|
||||
return buffer.toString();
|
||||
}
|
||||
|
||||
public void setMccMnc3gppCellularNetworkInfo(List<MccMnc> mccMnc3gppCellularNetworkInfo) {
|
||||
this.mccMnc3gppCellularNetworkInfo = mccMnc3gppCellularNetworkInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Hotspot2Profile clone() {
|
||||
Hotspot2Profile returnValue = (Hotspot2Profile) super.clone();
|
||||
@@ -344,17 +415,24 @@ public class Hotspot2Profile extends ProfileDetails implements PushableConfigura
|
||||
returnValue.setTermsAndConditionsFile(termsAndConditionsFile);
|
||||
returnValue.setUnauthenticatedEmergencyServiceAccessible(unauthenticatedEmergencyServiceAccessible);
|
||||
returnValue.setWhitelistDomain(whitelistDomain);
|
||||
returnValue.setEnable2pt4GHz(enable2pt4GHz);
|
||||
returnValue.setEnable5GHz(enable5GHz);
|
||||
|
||||
if (associatedSsids != null) {
|
||||
returnValue.setAssociatedSsids(associatedSsids);
|
||||
}
|
||||
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(accessNetworkType, additionalStepsRequiredForAccess, anqpDomainId, apCivicLocation,
|
||||
apGeospatialLocation, apPublicLocationIdUri, connectionCapabilitySet, deauthRequestTimeout,
|
||||
disableDownstreamGroupAddressedForwarding, emergencyServicesReachable, enableInterworkingAndHs20,
|
||||
gasAddr3Behaviour, hessid, internetConnectivity, ipAddressTypeAvailability, networkAuthenticationType,
|
||||
operatingClass, qosMapSetConfiguration, termsAndConditionsFile,
|
||||
unauthenticatedEmergencyServiceAccessible, whitelistDomain);
|
||||
apGeospatialLocation, apPublicLocationIdUri, associatedSsids, connectionCapabilitySet,
|
||||
deauthRequestTimeout, disableDownstreamGroupAddressedForwarding, emergencyServicesReachable,
|
||||
enable2pt4GHz, enable5GHz, enableInterworkingAndHs20, gasAddr3Behaviour, hessid, internetConnectivity,
|
||||
ipAddressTypeAvailability, networkAuthenticationType, operatingClass, qosMapSetConfiguration,
|
||||
termsAndConditionsFile, unauthenticatedEmergencyServiceAccessible, whitelistDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -371,10 +449,12 @@ public class Hotspot2Profile extends ProfileDetails implements PushableConfigura
|
||||
&& anqpDomainId == other.anqpDomainId && Objects.equals(apCivicLocation, other.apCivicLocation)
|
||||
&& Objects.equals(apGeospatialLocation, other.apGeospatialLocation)
|
||||
&& Objects.equals(apPublicLocationIdUri, other.apPublicLocationIdUri)
|
||||
&& Objects.equals(associatedSsids, other.associatedSsids)
|
||||
&& Objects.equals(connectionCapabilitySet, other.connectionCapabilitySet)
|
||||
&& deauthRequestTimeout == other.deauthRequestTimeout
|
||||
&& disableDownstreamGroupAddressedForwarding == other.disableDownstreamGroupAddressedForwarding
|
||||
&& emergencyServicesReachable == other.emergencyServicesReachable
|
||||
&& enable2pt4GHz == other.enable2pt4GHz && enable5GHz == other.enable5GHz
|
||||
&& enableInterworkingAndHs20 == other.enableInterworkingAndHs20
|
||||
&& Objects.equals(gasAddr3Behaviour, other.gasAddr3Behaviour) && Objects.equals(hessid, other.hessid)
|
||||
&& internetConnectivity == other.internetConnectivity
|
||||
|
||||
@@ -0,0 +1,123 @@
|
||||
package com.telecominfraproject.wlan.profile.passpoint.models;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
||||
|
||||
public class MccMnc extends BaseJsonModel {
|
||||
|
||||
private static final long serialVersionUID = -4481708731385084502L;
|
||||
|
||||
private int mcc;
|
||||
private int mnc;
|
||||
private String iso;
|
||||
private String country;
|
||||
private int countryCode;
|
||||
private String network;
|
||||
|
||||
public MccMnc() {
|
||||
|
||||
}
|
||||
|
||||
public static MccMnc createWithDefaults() {
|
||||
return new MccMnc();
|
||||
}
|
||||
|
||||
public MccMnc(int mcc, int mnc) {
|
||||
this();
|
||||
this.mcc = mcc;
|
||||
this.mnc = mnc;
|
||||
}
|
||||
|
||||
public int getMcc() {
|
||||
return mcc;
|
||||
}
|
||||
|
||||
|
||||
public void setMcc(int mcc) {
|
||||
this.mcc = mcc;
|
||||
}
|
||||
|
||||
|
||||
public int getMnc() {
|
||||
return mnc;
|
||||
}
|
||||
|
||||
|
||||
public void setMnc(int mnc) {
|
||||
this.mnc = mnc;
|
||||
}
|
||||
|
||||
|
||||
public String getIso() {
|
||||
return iso;
|
||||
}
|
||||
|
||||
|
||||
public void setIso(String iso) {
|
||||
this.iso = iso;
|
||||
}
|
||||
|
||||
|
||||
public String getCountry() {
|
||||
return country;
|
||||
}
|
||||
|
||||
|
||||
public void setCountry(String country) {
|
||||
this.country = country;
|
||||
}
|
||||
|
||||
public int getCountryCode() {
|
||||
return countryCode;
|
||||
}
|
||||
|
||||
public void setCountryCode(int countryCode) {
|
||||
this.countryCode = countryCode;
|
||||
}
|
||||
|
||||
public String getMccMncPairing() {
|
||||
return getMcc() + "," + getMnc();
|
||||
}
|
||||
|
||||
public String getNetwork() {
|
||||
return network;
|
||||
}
|
||||
|
||||
public void setNetwork(String network) {
|
||||
this.network = network;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MccMnc clone() {
|
||||
MccMnc ret = (MccMnc) super.clone();
|
||||
ret.country = country;
|
||||
ret.countryCode = countryCode;
|
||||
ret.network = network;
|
||||
ret.iso = iso;
|
||||
ret.mcc = mcc;
|
||||
ret.mnc = mnc;
|
||||
return ret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(country, countryCode, iso, mcc, mnc, network);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof MccMnc)) {
|
||||
return false;
|
||||
}
|
||||
MccMnc other = (MccMnc) obj;
|
||||
return Objects.equals(country, other.country) && Objects.equals(countryCode, other.countryCode)
|
||||
&& Objects.equals(iso, other.iso) && mcc == other.mcc && mnc == other.mnc
|
||||
&& Objects.equals(network, other.network);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
package com.telecominfraproject.wlan.profile.passpoint.models;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
|
||||
|
||||
public class MobileCountryAndNetworkCodes {
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(MobileCountryAndNetworkCodes.class);
|
||||
|
||||
@Value("${tip.wlan.mobileCountryAndNetworkCodesUrl:https://tip-read:tip-read@tip.jfrog.io/artifactory/tip-wlan-cloud-schemas/MobileCountryAndNetworkCodes.txt}")
|
||||
private static String mobileCountryAndNetworkCodesUrl;
|
||||
|
||||
@Value("${tip.wlan.mobileCountryAndNetworkCodesLocalPath:./MobileCountryAndNetworkCodes.txt}")
|
||||
private static String mobileCountryAndNetworkCodesLocalPath = "./src/main/resources/MobileCountryAndNetworkCodes.txt";
|
||||
|
||||
public static File mccMncCodesFile = new File(mobileCountryAndNetworkCodesLocalPath);
|
||||
|
||||
private static Set<MccMnc> mccMncCodeSet = new HashSet<>();
|
||||
|
||||
static {
|
||||
if (mccMncCodesFile.canRead()) {
|
||||
try {
|
||||
List<String> lines = Files.readAllLines(Paths.get(mobileCountryAndNetworkCodesLocalPath));
|
||||
|
||||
for (String line : lines) {
|
||||
|
||||
LOG.debug("Line {}", line);
|
||||
String[] tokens = line.split("\t");
|
||||
MccMnc mccMnc = MccMnc.createWithDefaults();
|
||||
try {
|
||||
mccMnc.setMcc(Integer.parseInt(tokens[0]));
|
||||
mccMnc.setMnc(Integer.parseInt(tokens[1]));
|
||||
} catch (NumberFormatException e) {
|
||||
LOG.info("Couldn't parse: {}", e.getMessage());
|
||||
continue;
|
||||
}
|
||||
mccMnc.setIso(tokens[2]);
|
||||
mccMnc.setCountry(tokens[3]);
|
||||
mccMnc.setCountryCode(Integer.parseInt(tokens[4]));
|
||||
mccMnc.setNetwork(tokens[5]);
|
||||
mccMncCodeSet.add(mccMnc);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static String getMobileCountryAndNetworkCodesUrl() {
|
||||
return mobileCountryAndNetworkCodesUrl;
|
||||
}
|
||||
|
||||
|
||||
public static void setMobileCountryAndNetworkCodesUrl(String mobileCountryAndNetworkCodesUrl) {
|
||||
MobileCountryAndNetworkCodes.mobileCountryAndNetworkCodesUrl = mobileCountryAndNetworkCodesUrl;
|
||||
}
|
||||
|
||||
|
||||
public static String getMobileCountryAndNetworkCodesLocalPath() {
|
||||
return mobileCountryAndNetworkCodesLocalPath;
|
||||
}
|
||||
|
||||
|
||||
public static void setMobileCountryAndNetworkCodesLocalPath(String mobileCountryAndNetworkCodesLocalPath) {
|
||||
MobileCountryAndNetworkCodes.mobileCountryAndNetworkCodesLocalPath = mobileCountryAndNetworkCodesLocalPath;
|
||||
}
|
||||
|
||||
|
||||
public static File getMccMncCodesFile() {
|
||||
return mccMncCodesFile;
|
||||
}
|
||||
|
||||
|
||||
public static void setMccMncCodesFile(File mccMncCodesFile) {
|
||||
MobileCountryAndNetworkCodes.mccMncCodesFile = mccMncCodesFile;
|
||||
}
|
||||
|
||||
|
||||
public static Set<MccMnc> getMccMncCodeSet() {
|
||||
return mccMncCodeSet;
|
||||
}
|
||||
|
||||
|
||||
public static void setMccMncCodeSet(Set<MccMnc> mccMncCodeSet) {
|
||||
MobileCountryAndNetworkCodes.mccMncCodeSet = mccMncCodeSet;
|
||||
}
|
||||
|
||||
public static void main(String args[]) {
|
||||
getMccMncCodeSet().stream().forEach(m -> {
|
||||
LOG.debug("MCC_MNC {}", m.toPrettyString());
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
package com.telecominfraproject.wlan.profile.passpoint.provider.models;
|
||||
|
||||
import com.telecominfraproject.wlan.core.model.equipment.PushableConfiguration;
|
||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
||||
|
||||
|
||||
public class CellularNetworkInformation extends BaseJsonModel
|
||||
implements PushableConfiguration<CellularNetworkInformation> {
|
||||
|
||||
private static final long serialVersionUID = -7725583150308531978L;
|
||||
|
||||
@Override
|
||||
public boolean needsToBeUpdatedOnDevice(CellularNetworkInformation previousVersion) {
|
||||
if (this.equals(previousVersion))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
package com.telecominfraproject.wlan.profile.passpoint.provider.models;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.telecominfraproject.wlan.core.model.extensibleenum.EnumWithId;
|
||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
||||
|
||||
|
||||
public class CredentialType extends BaseJsonModel implements EnumWithId {
|
||||
|
||||
private static final long serialVersionUID = 3414126959454909905L;
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(CredentialType.class);
|
||||
|
||||
private static Object lock = new Object();
|
||||
private static final Map<Integer, CredentialType> ELEMENTS = new ConcurrentHashMap<>();
|
||||
private static final Map<String, CredentialType> ELEMENTS_BY_NAME = new ConcurrentHashMap<>();
|
||||
|
||||
public static final CredentialType
|
||||
|
||||
sim = new CredentialType(1, "SIM"), usim = new CredentialType(2, "USIM"),
|
||||
nfc_secure_element = new CredentialType(3, "NFC Secure Element"),
|
||||
hardware_token = new CredentialType(4, "Hardware Token"), softoken = new CredentialType(5, "Softoken"),
|
||||
certificate = new CredentialType(6, "Certificate"),
|
||||
username_password = new CredentialType(7, "username/password"),
|
||||
none = new CredentialType(8, "none (server-side authentication only)"),
|
||||
reserved = new CredentialType(9, "Reserved"), vendor_specific = new CredentialType(10, "Vendor Specific"),
|
||||
UNSUPPORTED = new CredentialType(-1, "UNSUPPORTED");
|
||||
static {
|
||||
// try to load all the subclasses explicitly - to avoid timing issues
|
||||
// when items coming from subclasses may be registered some time later,
|
||||
// after the parent class is loaded
|
||||
Set<Class<? extends CredentialType>> subclasses = BaseJsonModel.getReflections()
|
||||
.getSubTypesOf(CredentialType.class);
|
||||
for (Class<?> cls : subclasses) {
|
||||
try {
|
||||
Class.forName(cls.getName());
|
||||
} catch (ClassNotFoundException e) {
|
||||
LOG.warn("Cannot load class {} : {}", cls.getName(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private final int id;
|
||||
private final String name;
|
||||
|
||||
protected CredentialType(int id, String name) {
|
||||
synchronized (lock) {
|
||||
|
||||
LOG.debug("Registering NonEapInnerAuthenticationTypes by {} : {}", this.getClass().getSimpleName(), name);
|
||||
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
|
||||
ELEMENTS_BY_NAME.values().forEach(s -> {
|
||||
if (s.getName().equals(name)) {
|
||||
throw new IllegalStateException("NonEapInnerAuthenticationTypes item for " + name
|
||||
+ " is already defined, cannot have more than one of them");
|
||||
}
|
||||
});
|
||||
|
||||
if (ELEMENTS.containsKey(id)) {
|
||||
throw new IllegalStateException("NonEapInnerAuthenticationTypes item " + name + "(" + id
|
||||
+ ") is already defined, cannot have more than one of them");
|
||||
}
|
||||
|
||||
ELEMENTS.put(id, this);
|
||||
ELEMENTS_BY_NAME.put(name, this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@JsonIgnore
|
||||
public String name() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@JsonIgnore
|
||||
public static CredentialType[] values() {
|
||||
return new ArrayList<>(ELEMENTS.values()).toArray(new CredentialType[0]);
|
||||
}
|
||||
|
||||
public static CredentialType getById(int enumId) {
|
||||
return ELEMENTS.get(enumId);
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static CredentialType getByName(String value) {
|
||||
CredentialType ret = ELEMENTS_BY_NAME.get(value);
|
||||
if (ret == null) {
|
||||
ret = UNSUPPORTED;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
public static List<CredentialType> getValues() {
|
||||
return new ArrayList<>(ELEMENTS.values());
|
||||
}
|
||||
|
||||
public static boolean isUnsupported(CredentialType value) {
|
||||
return (UNSUPPORTED.equals(value));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof CredentialType)) {
|
||||
return false;
|
||||
}
|
||||
CredentialType other = (CredentialType) obj;
|
||||
return id == other.id && Objects.equals(name, other.name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
package com.telecominfraproject.wlan.profile.passpoint.provider.models;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.telecominfraproject.wlan.core.model.extensibleenum.EnumWithId;
|
||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
||||
|
||||
|
||||
public class EapMethods extends BaseJsonModel implements EnumWithId {
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = -1873755168561965743L;
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(EapMethods.class);
|
||||
|
||||
private static Object lock = new Object();
|
||||
private static final Map<Integer, EapMethods> ELEMENTS = new ConcurrentHashMap<>();
|
||||
private static final Map<String, EapMethods> ELEMENTS_BY_NAME = new ConcurrentHashMap<>();
|
||||
|
||||
public static final EapMethods
|
||||
|
||||
eap_tls = new EapMethods(13, "EAP-TLS with certificate"),
|
||||
eap_ttls = new EapMethods(21, "EAP-TTLS with username/password"),
|
||||
eap_mschap_v2 = new EapMethods(29, "EAP-MSCHAP-V2 with username/password"),
|
||||
|
||||
UNSUPPORTED = new EapMethods(-1, "UNSUPPORTED");
|
||||
|
||||
static {
|
||||
// try to load all the subclasses explicitly - to avoid timing issues
|
||||
// when items coming from subclasses may be registered some time later,
|
||||
// after the parent class is loaded
|
||||
Set<Class<? extends EapMethods>> subclasses = BaseJsonModel.getReflections().getSubTypesOf(EapMethods.class);
|
||||
for (Class<?> cls : subclasses) {
|
||||
try {
|
||||
Class.forName(cls.getName());
|
||||
} catch (ClassNotFoundException e) {
|
||||
LOG.warn("Cannot load class {} : {}", cls.getName(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private final int id;
|
||||
private final String name;
|
||||
|
||||
protected EapMethods(int id, String name) {
|
||||
synchronized (lock) {
|
||||
|
||||
LOG.debug("Registering EapMethods by {} : {}", this.getClass().getSimpleName(), name);
|
||||
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
|
||||
ELEMENTS_BY_NAME.values().forEach(s -> {
|
||||
if (s.getName().equals(name)) {
|
||||
throw new IllegalStateException(
|
||||
"EapMethods item for " + name + " is already defined, cannot have more than one of them");
|
||||
}
|
||||
});
|
||||
|
||||
if (ELEMENTS.containsKey(id)) {
|
||||
throw new IllegalStateException("EapMethods item " + name + "(" + id
|
||||
+ ") is already defined, cannot have more than one of them");
|
||||
}
|
||||
|
||||
ELEMENTS.put(id, this);
|
||||
ELEMENTS_BY_NAME.put(name, this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@JsonIgnore
|
||||
public String name() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@JsonIgnore
|
||||
public static EapMethods[] values() {
|
||||
return new ArrayList<>(ELEMENTS.values()).toArray(new EapMethods[0]);
|
||||
}
|
||||
|
||||
public static EapMethods getById(int enumId) {
|
||||
return ELEMENTS.get(enumId);
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static EapMethods getByName(String value) {
|
||||
EapMethods ret = ELEMENTS_BY_NAME.get(value);
|
||||
if (ret == null) {
|
||||
ret = UNSUPPORTED;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
public static List<EapMethods> getValues() {
|
||||
return new ArrayList<>(ELEMENTS.values());
|
||||
}
|
||||
|
||||
public static boolean isUnsupported(EapMethods value) {
|
||||
return (UNSUPPORTED.equals(value));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof EapMethods)) {
|
||||
return false;
|
||||
}
|
||||
EapMethods other = (EapMethods) obj;
|
||||
return id == other.id && Objects.equals(name, other.name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return name;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,236 @@
|
||||
package com.telecominfraproject.wlan.profile.passpoint.provider.models;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import com.telecominfraproject.wlan.core.model.equipment.PushableConfiguration;
|
||||
import com.telecominfraproject.wlan.profile.models.ProfileDetails;
|
||||
import com.telecominfraproject.wlan.profile.models.ProfileType;
|
||||
import com.telecominfraproject.wlan.profile.passpoint.models.Hotspot20Duple;
|
||||
import com.telecominfraproject.wlan.profile.passpoint.models.MccMnc;
|
||||
|
||||
|
||||
public class Hotspot20IdProviderProfile extends ProfileDetails
|
||||
implements PushableConfiguration<Hotspot20IdProviderProfile> {
|
||||
|
||||
|
||||
private String domainName;
|
||||
|
||||
private List<MccMnc> mccMncList;
|
||||
private List<NaiRealmInformation> naiRealmList;
|
||||
private List<OsuIcon> osuIconList;
|
||||
private String radiusProfileAuth;
|
||||
private String radiusProfileAccounting;
|
||||
private String osuSsid;
|
||||
private String osuServerUri;
|
||||
private Hotspot20Duple osuFriendlyName;
|
||||
private String osuNaiStandalone; // needs to be unsigned, so do take byte
|
||||
// value, and make osuNaiStandalone & 0xff;
|
||||
private String osuNaiShared;
|
||||
private List<Integer> osuMethodList;
|
||||
private List<Hotspot20Duple> osuServiceDescription;
|
||||
|
||||
private static final long serialVersionUID = -6146454085334670280L;
|
||||
|
||||
public String getDomainName() {
|
||||
return domainName;
|
||||
}
|
||||
|
||||
public void setDomainName(String domainName) {
|
||||
this.domainName = domainName;
|
||||
}
|
||||
|
||||
private Hotspot20IdProviderProfile() {
|
||||
}
|
||||
|
||||
public static Hotspot20IdProviderProfile createWithDefaults() {
|
||||
|
||||
return new Hotspot20IdProviderProfile();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public ProfileType getProfileType() {
|
||||
return ProfileType.id_provider;
|
||||
}
|
||||
|
||||
|
||||
public List<MccMnc> getMccMncList() {
|
||||
return mccMncList;
|
||||
}
|
||||
|
||||
|
||||
public void setMccMncList(List<MccMnc> mccMncList) {
|
||||
this.mccMncList = mccMncList;
|
||||
}
|
||||
|
||||
|
||||
public List<NaiRealmInformation> getNaiRealmList() {
|
||||
return naiRealmList;
|
||||
}
|
||||
|
||||
|
||||
public void setNaiRealmList(List<NaiRealmInformation> naiRealmList) {
|
||||
this.naiRealmList = naiRealmList;
|
||||
}
|
||||
|
||||
|
||||
public List<OsuIcon> getOsuIconList() {
|
||||
return osuIconList;
|
||||
}
|
||||
|
||||
|
||||
public void setOsuIconList(List<OsuIcon> osuIconList) {
|
||||
this.osuIconList = osuIconList;
|
||||
}
|
||||
|
||||
|
||||
public String getRadiusProfileAuth() {
|
||||
return radiusProfileAuth;
|
||||
}
|
||||
|
||||
|
||||
public void setRadiusProfileAuth(String radiusProfileAuth) {
|
||||
this.radiusProfileAuth = radiusProfileAuth;
|
||||
}
|
||||
|
||||
|
||||
public String getRadiusProfileAccounting() {
|
||||
return radiusProfileAccounting;
|
||||
}
|
||||
|
||||
|
||||
public void setRadiusProfileAccounting(String radiusProfileAccounting) {
|
||||
this.radiusProfileAccounting = radiusProfileAccounting;
|
||||
}
|
||||
|
||||
|
||||
public String getOsuSsid() {
|
||||
return osuSsid;
|
||||
}
|
||||
|
||||
|
||||
public void setOsuSsid(String osuSsid) {
|
||||
this.osuSsid = osuSsid;
|
||||
}
|
||||
|
||||
|
||||
public String getOsuServerUri() {
|
||||
return osuServerUri;
|
||||
}
|
||||
|
||||
|
||||
public void setOsuServerUri(String osuServerUri) {
|
||||
this.osuServerUri = osuServerUri;
|
||||
}
|
||||
|
||||
|
||||
public Hotspot20Duple getOsuFriendlyName() {
|
||||
return osuFriendlyName;
|
||||
}
|
||||
|
||||
public void setOsuFriendlyName(Hotspot20Duple osuFriendlyName) {
|
||||
this.osuFriendlyName = osuFriendlyName;
|
||||
}
|
||||
|
||||
|
||||
public String getOsuNaiStandalone() {
|
||||
return osuNaiStandalone;
|
||||
}
|
||||
|
||||
|
||||
public void setOsuNaiStandalone(String osuNaiStandalone) {
|
||||
this.osuNaiStandalone = osuNaiStandalone;
|
||||
}
|
||||
|
||||
|
||||
public String getOsuNaiShared() {
|
||||
return osuNaiShared;
|
||||
}
|
||||
|
||||
|
||||
public void setOsuNaiShared(String osuNaiShared) {
|
||||
this.osuNaiShared = osuNaiShared;
|
||||
}
|
||||
|
||||
|
||||
public List<Integer> getOsuMethodList() {
|
||||
return osuMethodList;
|
||||
}
|
||||
|
||||
|
||||
public void setOsuMethodList(List<Integer> osuMethodList) {
|
||||
this.osuMethodList = osuMethodList;
|
||||
}
|
||||
|
||||
|
||||
public List<Hotspot20Duple> getOsuServiceDescription() {
|
||||
return osuServiceDescription;
|
||||
}
|
||||
|
||||
|
||||
public void setOsuServiceDescription(List<Hotspot20Duple> osuServiceDescription) {
|
||||
this.osuServiceDescription = osuServiceDescription;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean needsToBeUpdatedOnDevice(Hotspot20IdProviderProfile previousVersion) {
|
||||
if (this.equals(previousVersion))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
public Hotspot20IdProviderProfile clone() {
|
||||
Hotspot20IdProviderProfile ret = (Hotspot20IdProviderProfile) super.clone();
|
||||
ret.domainName = getDomainName();
|
||||
if (mccMncList != null)
|
||||
ret.mccMncList = getMccMncList();
|
||||
if (naiRealmList != null)
|
||||
ret.naiRealmList = getNaiRealmList();
|
||||
if (osuIconList != null)
|
||||
ret.osuIconList = getOsuIconList();
|
||||
if (osuMethodList != null)
|
||||
ret.osuMethodList = getOsuMethodList();
|
||||
if (osuServiceDescription != null)
|
||||
ret.osuServiceDescription = getOsuServiceDescription();
|
||||
ret.radiusProfileAccounting = getRadiusProfileAccounting();
|
||||
ret.radiusProfileAuth = getRadiusProfileAuth();
|
||||
ret.osuSsid = getOsuSsid();
|
||||
ret.osuServerUri = getOsuServerUri();
|
||||
ret.osuFriendlyName = getOsuFriendlyName();
|
||||
ret.osuNaiShared = getOsuNaiShared();
|
||||
ret.osuNaiStandalone = getOsuNaiStandalone();
|
||||
return ret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(domainName, mccMncList, naiRealmList, osuFriendlyName, osuIconList, osuMethodList,
|
||||
osuNaiShared, osuNaiStandalone, osuServerUri, osuServiceDescription, osuSsid, radiusProfileAccounting,
|
||||
radiusProfileAuth);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof Hotspot20IdProviderProfile)) {
|
||||
return false;
|
||||
}
|
||||
Hotspot20IdProviderProfile other = (Hotspot20IdProviderProfile) obj;
|
||||
return Objects.equals(domainName, other.domainName) && Objects.equals(mccMncList, other.mccMncList)
|
||||
&& Objects.equals(naiRealmList, other.naiRealmList)
|
||||
&& Objects.equals(osuFriendlyName, other.osuFriendlyName)
|
||||
&& Objects.equals(osuIconList, other.osuIconList) && Objects.equals(osuMethodList, other.osuMethodList)
|
||||
&& Objects.equals(osuNaiShared, other.osuNaiShared)
|
||||
&& Objects.equals(osuNaiStandalone, other.osuNaiStandalone)
|
||||
&& Objects.equals(osuServerUri, other.osuServerUri)
|
||||
&& Objects.equals(osuServiceDescription, other.osuServiceDescription)
|
||||
&& Objects.equals(osuSsid, other.osuSsid)
|
||||
&& Objects.equals(radiusProfileAccounting, other.radiusProfileAccounting)
|
||||
&& Objects.equals(radiusProfileAuth, other.radiusProfileAuth);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
package com.telecominfraproject.wlan.profile.passpoint.provider.models;
|
||||
|
||||
import com.telecominfraproject.wlan.core.model.equipment.PushableConfiguration;
|
||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
||||
|
||||
|
||||
public class NaiRealm extends BaseJsonModel implements PushableConfiguration<NaiRealm> {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = -6102005274671968193L;
|
||||
|
||||
@Override
|
||||
public boolean needsToBeUpdatedOnDevice(NaiRealm previousVersion) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
package com.telecominfraproject.wlan.profile.passpoint.provider.models;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.telecominfraproject.wlan.core.model.extensibleenum.EnumWithId;
|
||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
||||
|
||||
|
||||
public class NaiRealmEncoding extends BaseJsonModel implements EnumWithId {
|
||||
|
||||
private static final long serialVersionUID = -8656752874673129263L;
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(NaiRealmEncoding.class);
|
||||
|
||||
private static Object lock = new Object();
|
||||
private static final Map<Integer, NaiRealmEncoding> ELEMENTS = new ConcurrentHashMap<>();
|
||||
private static final Map<String, NaiRealmEncoding> ELEMENTS_BY_NAME = new ConcurrentHashMap<>();
|
||||
|
||||
public static final NaiRealmEncoding
|
||||
|
||||
// # encoding:
|
||||
// # 0 = Realm formatted in accordance with IETF RFC 4282
|
||||
// # 1 = UTF-8 formatted character string that is not formatted in
|
||||
// accordance with IETF RFC 4282
|
||||
ietf_rfc_4282_encoding = new NaiRealmEncoding(0, "Realm formatted in accordance with IETF RFC 4282"),
|
||||
utf8_non_ietf_rfc_4282_encoding = new NaiRealmEncoding(1,
|
||||
"UTF-8 formatted character string that is not formatted in accordance with IETF RFC 4282"),
|
||||
UNSUPPORTED = new NaiRealmEncoding(-1, "UNSUPPORTED");
|
||||
static {
|
||||
// try to load all the subclasses explicitly - to avoid timing issues
|
||||
// when items coming from subclasses may be registered some time later,
|
||||
// after the parent class is loaded
|
||||
Set<Class<? extends NaiRealmEncoding>> subclasses = BaseJsonModel.getReflections()
|
||||
.getSubTypesOf(NaiRealmEncoding.class);
|
||||
for (Class<?> cls : subclasses) {
|
||||
try {
|
||||
Class.forName(cls.getName());
|
||||
} catch (ClassNotFoundException e) {
|
||||
LOG.warn("Cannot load class {} : {}", cls.getName(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private final int id;
|
||||
private final String name;
|
||||
|
||||
protected NaiRealmEncoding(int id, String name) {
|
||||
synchronized (lock) {
|
||||
|
||||
LOG.debug("Registering NonEapInnerAuthenticationTypes by {} : {}", this.getClass().getSimpleName(), name);
|
||||
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
|
||||
ELEMENTS_BY_NAME.values().forEach(s -> {
|
||||
if (s.getName().equals(name)) {
|
||||
throw new IllegalStateException("NonEapInnerAuthenticationTypes item for " + name
|
||||
+ " is already defined, cannot have more than one of them");
|
||||
}
|
||||
});
|
||||
|
||||
if (ELEMENTS.containsKey(id)) {
|
||||
throw new IllegalStateException("NonEapInnerAuthenticationTypes item " + name + "(" + id
|
||||
+ ") is already defined, cannot have more than one of them");
|
||||
}
|
||||
|
||||
ELEMENTS.put(id, this);
|
||||
ELEMENTS_BY_NAME.put(name, this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@JsonIgnore
|
||||
public String name() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@JsonIgnore
|
||||
public static NaiRealmEncoding[] values() {
|
||||
return new ArrayList<>(ELEMENTS.values()).toArray(new NaiRealmEncoding[0]);
|
||||
}
|
||||
|
||||
public static NaiRealmEncoding getById(int enumId) {
|
||||
return ELEMENTS.get(enumId);
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static NaiRealmEncoding getByName(String value) {
|
||||
NaiRealmEncoding ret = ELEMENTS_BY_NAME.get(value);
|
||||
if (ret == null) {
|
||||
ret = UNSUPPORTED;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
public static List<NaiRealmEncoding> getValues() {
|
||||
return new ArrayList<>(ELEMENTS.values());
|
||||
}
|
||||
|
||||
public static boolean isUnsupported(NaiRealmEncoding value) {
|
||||
return (UNSUPPORTED.equals(value));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(id, name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof NaiRealmEncoding)) {
|
||||
return false;
|
||||
}
|
||||
NaiRealmEncoding other = (NaiRealmEncoding) obj;
|
||||
return id == other.id && Objects.equals(name, other.name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
package com.telecominfraproject.wlan.profile.passpoint.provider.models;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
import com.telecominfraproject.wlan.core.model.equipment.PushableConfiguration;
|
||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
||||
|
||||
|
||||
public class NaiRealmInformation extends BaseJsonModel implements PushableConfiguration<NaiRealmInformation> {
|
||||
|
||||
private static final long serialVersionUID = -6102005274671968193L;
|
||||
|
||||
private Set<String> naiRealms;
|
||||
private int encoding;
|
||||
private Set<String> eapMethods;
|
||||
private Map<String, Set<String>> eapMap;
|
||||
|
||||
public NaiRealmInformation() {
|
||||
|
||||
}
|
||||
|
||||
public static NaiRealmInformation createWithDefaults() {
|
||||
NaiRealmInformation ret = new NaiRealmInformation();
|
||||
ret.setEncoding(NaiRealmEncoding.ietf_rfc_4282_encoding.getId());
|
||||
ret.naiRealms = new HashSet<>();
|
||||
ret.naiRealms.add("example.com");
|
||||
ret.naiRealms.add("example.net");
|
||||
ret.eapMethods = new HashSet<>();
|
||||
ret.eapMethods.add(EapMethods.eap_tls.getName());
|
||||
ret.eapMap = new HashMap<>();
|
||||
|
||||
Set<String> credentialsSet = new HashSet<>();
|
||||
credentialsSet.add(CredentialType.softoken.getName());
|
||||
credentialsSet.add(CredentialType.certificate.getName());
|
||||
ret.eapMap.put(EapMethods.eap_tls.getName(), credentialsSet);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
public int getEncoding() {
|
||||
return encoding;
|
||||
}
|
||||
|
||||
public void setEncoding(int i) {
|
||||
this.encoding = i;
|
||||
}
|
||||
|
||||
|
||||
public Set<String> getNaiRealms() {
|
||||
return naiRealms;
|
||||
}
|
||||
|
||||
|
||||
public void setNaiRealms(Set<String> naiRealms) {
|
||||
this.naiRealms = naiRealms;
|
||||
}
|
||||
|
||||
|
||||
public Set<String> getEapMethods() {
|
||||
return eapMethods;
|
||||
}
|
||||
|
||||
|
||||
public void setEapMethods(Set<String> eapMethods) {
|
||||
this.eapMethods = eapMethods;
|
||||
}
|
||||
|
||||
|
||||
public Map<String, Set<String>> getEapMap() {
|
||||
return eapMap;
|
||||
}
|
||||
|
||||
|
||||
public void setEapMap(Map<String, Set<String>> eapMap) {
|
||||
this.eapMap = eapMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean needsToBeUpdatedOnDevice(NaiRealmInformation previousVersion) {
|
||||
if (this.equals(previousVersion))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NaiRealmInformation clone() {
|
||||
NaiRealmInformation ret = (NaiRealmInformation) super.clone();
|
||||
if (eapMap != null)
|
||||
ret.eapMap = eapMap;
|
||||
if (eapMethods != null)
|
||||
ret.eapMethods = eapMethods;
|
||||
if (naiRealms != null)
|
||||
ret.naiRealms = naiRealms;
|
||||
ret.encoding = encoding;
|
||||
return ret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(eapMap, eapMethods, encoding, naiRealms);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof NaiRealmInformation)) {
|
||||
return false;
|
||||
}
|
||||
NaiRealmInformation other = (NaiRealmInformation) obj;
|
||||
return Objects.equals(eapMap, other.eapMap) && Objects.equals(eapMethods, other.eapMethods)
|
||||
&& encoding == other.encoding && Objects.equals(naiRealms, other.naiRealms);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,145 @@
|
||||
package com.telecominfraproject.wlan.profile.passpoint.provider.models;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.telecominfraproject.wlan.core.model.extensibleenum.EnumWithId;
|
||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
||||
|
||||
|
||||
public class NonEapInnerAuthenticationTypes extends BaseJsonModel implements EnumWithId {
|
||||
|
||||
private static final long serialVersionUID = 3414126959454909905L;
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(NonEapInnerAuthenticationTypes.class);
|
||||
|
||||
private static Object lock = new Object();
|
||||
private static final Map<Integer, NonEapInnerAuthenticationTypes> ELEMENTS = new ConcurrentHashMap<>();
|
||||
private static final Map<String, NonEapInnerAuthenticationTypes> ELEMENTS_BY_NAME = new ConcurrentHashMap<>();
|
||||
|
||||
public static final NonEapInnerAuthenticationTypes
|
||||
|
||||
reserved = new NonEapInnerAuthenticationTypes(0, "Reserved"), pap = new NonEapInnerAuthenticationTypes(1, "PAP"),
|
||||
chap = new NonEapInnerAuthenticationTypes(2, "CHAP"),
|
||||
mschap = new NonEapInnerAuthenticationTypes(3, "MSCHAP"),
|
||||
mschap_v2 = new NonEapInnerAuthenticationTypes(4, "MSCHAPV2"),
|
||||
UNSUPPORTED = new NonEapInnerAuthenticationTypes(-1, "UNSUPPORTED");
|
||||
static {
|
||||
// try to load all the subclasses explicitly - to avoid timing issues
|
||||
// when items coming from subclasses may be registered some time later,
|
||||
// after the parent class is loaded
|
||||
Set<Class<? extends NonEapInnerAuthenticationTypes>> subclasses = BaseJsonModel.getReflections()
|
||||
.getSubTypesOf(NonEapInnerAuthenticationTypes.class);
|
||||
for (Class<?> cls : subclasses) {
|
||||
try {
|
||||
Class.forName(cls.getName());
|
||||
} catch (ClassNotFoundException e) {
|
||||
LOG.warn("Cannot load class {} : {}", cls.getName(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private final int id;
|
||||
private final String name;
|
||||
|
||||
protected NonEapInnerAuthenticationTypes(int id, String name) {
|
||||
synchronized (lock) {
|
||||
|
||||
LOG.debug("Registering NonEapInnerAuthenticationTypes by {} : {}", this.getClass().getSimpleName(), name);
|
||||
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
|
||||
ELEMENTS_BY_NAME.values().forEach(s -> {
|
||||
if (s.getName().equals(name)) {
|
||||
throw new IllegalStateException("NonEapInnerAuthenticationTypes item for " + name
|
||||
+ " is already defined, cannot have more than one of them");
|
||||
}
|
||||
});
|
||||
|
||||
if (ELEMENTS.containsKey(id)) {
|
||||
throw new IllegalStateException("NonEapInnerAuthenticationTypes item " + name + "(" + id
|
||||
+ ") is already defined, cannot have more than one of them");
|
||||
}
|
||||
|
||||
ELEMENTS.put(id, this);
|
||||
ELEMENTS_BY_NAME.put(name, this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@JsonIgnore
|
||||
public String name() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@JsonIgnore
|
||||
public static NonEapInnerAuthenticationTypes[] values() {
|
||||
return new ArrayList<>(ELEMENTS.values()).toArray(new NonEapInnerAuthenticationTypes[0]);
|
||||
}
|
||||
|
||||
public static NonEapInnerAuthenticationTypes getById(int enumId) {
|
||||
return ELEMENTS.get(enumId);
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static NonEapInnerAuthenticationTypes getByName(String value) {
|
||||
NonEapInnerAuthenticationTypes ret = ELEMENTS_BY_NAME.get(value);
|
||||
if (ret == null) {
|
||||
ret = UNSUPPORTED;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
public static List<NonEapInnerAuthenticationTypes> getValues() {
|
||||
return new ArrayList<>(ELEMENTS.values());
|
||||
}
|
||||
|
||||
public static boolean isUnsupported(NonEapInnerAuthenticationTypes value) {
|
||||
return (UNSUPPORTED.equals(value));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof NonEapInnerAuthenticationTypes)) {
|
||||
return false;
|
||||
}
|
||||
NonEapInnerAuthenticationTypes other = (NonEapInnerAuthenticationTypes) obj;
|
||||
return id == other.id && Objects.equals(name, other.name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,16 +1,157 @@
|
||||
package com.telecominfraproject.wlan.profile.passpoint.provider.models;
|
||||
|
||||
import java.util.Locale;
|
||||
import java.util.Objects;
|
||||
|
||||
import com.telecominfraproject.wlan.core.model.equipment.PushableConfiguration;
|
||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
||||
|
||||
public class OsuIcon extends BaseJsonModel implements PushableConfiguration<OsuIcon>{
|
||||
public class OsuIcon extends BaseJsonModel implements PushableConfiguration<OsuIcon> {
|
||||
|
||||
private static final String ICON_STRING_DELIMITER = ":";
|
||||
|
||||
private static final long serialVersionUID = 6779033020793748979L;
|
||||
|
||||
private static final Locale DEFAULT_ICON_LOCALE = Locale.CANADA;
|
||||
|
||||
private Integer iconWidth;
|
||||
private Integer iconHeight;
|
||||
private String languageCode;
|
||||
private Locale iconLocale;
|
||||
public static final String ICON_TYPE = "image/png";
|
||||
private String iconName;
|
||||
private String filePath;
|
||||
|
||||
public OsuIcon() {
|
||||
|
||||
}
|
||||
|
||||
public static OsuIcon createWithDefaults() {
|
||||
OsuIcon ret = new OsuIcon();
|
||||
ret.iconLocale = DEFAULT_ICON_LOCALE;
|
||||
ret.iconWidth = 32;
|
||||
ret.iconHeight = 32;
|
||||
ret.languageCode = ret.iconLocale.getISO3Language();
|
||||
ret.iconName = "icon32.png";
|
||||
ret.filePath = "/tmp/icon32.png";
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
public Integer getIconWidth() {
|
||||
return iconWidth;
|
||||
}
|
||||
|
||||
|
||||
public void setIconWidth(Integer iconWidth) {
|
||||
this.iconWidth = iconWidth;
|
||||
}
|
||||
|
||||
|
||||
public Integer getIconHeight() {
|
||||
return iconHeight;
|
||||
}
|
||||
|
||||
|
||||
public void setIconHeight(Integer iconHeight) {
|
||||
this.iconHeight = iconHeight;
|
||||
}
|
||||
|
||||
|
||||
public String getLanguageCode() {
|
||||
return languageCode;
|
||||
}
|
||||
|
||||
|
||||
public void setLanguageCode(String languageCode) {
|
||||
this.languageCode = languageCode;
|
||||
}
|
||||
|
||||
|
||||
public String getIconName() {
|
||||
return iconName;
|
||||
}
|
||||
|
||||
|
||||
public void setIconName(String iconName) {
|
||||
this.iconName = iconName;
|
||||
}
|
||||
|
||||
|
||||
public String getFilePath() {
|
||||
return filePath;
|
||||
}
|
||||
|
||||
|
||||
public void setFilePath(String filePath) {
|
||||
this.filePath = filePath;
|
||||
}
|
||||
|
||||
|
||||
public static String getIconStringDelimiter() {
|
||||
return ICON_STRING_DELIMITER;
|
||||
}
|
||||
|
||||
|
||||
public static String getIconType() {
|
||||
return ICON_TYPE;
|
||||
}
|
||||
|
||||
|
||||
public Locale getIconLocale() {
|
||||
return iconLocale;
|
||||
}
|
||||
|
||||
|
||||
public void setIconLocale(Locale iconLocale) {
|
||||
this.iconLocale = iconLocale;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean needsToBeUpdatedOnDevice(OsuIcon previousVersion) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
if (this.equals(previousVersion)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public OsuIcon clone() {
|
||||
OsuIcon ret = new OsuIcon();
|
||||
ret.filePath = getFilePath();
|
||||
ret.iconHeight = getIconHeight();
|
||||
ret.iconWidth = getIconWidth();
|
||||
ret.iconLocale = getIconLocale();
|
||||
ret.iconName = getIconName();
|
||||
ret.languageCode = getLanguageCode();
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(filePath, iconHeight, iconLocale, iconName, iconWidth, languageCode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof OsuIcon)) {
|
||||
return false;
|
||||
}
|
||||
OsuIcon other = (OsuIcon) obj;
|
||||
return Objects.equals(filePath, other.filePath) && Objects.equals(iconHeight, other.iconHeight)
|
||||
&& Objects.equals(iconLocale, other.iconLocale) && Objects.equals(iconName, other.iconName)
|
||||
&& Objects.equals(iconWidth, other.iconWidth) && Objects.equals(languageCode, other.languageCode);
|
||||
}
|
||||
|
||||
public String getHs20IconString() {
|
||||
|
||||
return iconWidth + ICON_STRING_DELIMITER + iconHeight + ICON_STRING_DELIMITER + languageCode
|
||||
+ ICON_STRING_DELIMITER + ICON_TYPE + ICON_STRING_DELIMITER + iconName + ICON_STRING_DELIMITER
|
||||
+ filePath;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
package com.telecominfraproject.wlan.profile.passpoint.provider.models;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.telecominfraproject.wlan.core.model.equipment.PushableConfiguration;
|
||||
import com.telecominfraproject.wlan.profile.models.ProfileDetails;
|
||||
import com.telecominfraproject.wlan.profile.models.ProfileType;
|
||||
import com.telecominfraproject.wlan.profile.passpoint.models.Hotspot20Duple;
|
||||
|
||||
|
||||
public class ProviderProfile extends ProfileDetails implements PushableConfiguration<ProviderProfile> {
|
||||
|
||||
|
||||
private String domainName;
|
||||
|
||||
byte[] mcc;
|
||||
byte[] mnc;
|
||||
|
||||
|
||||
List<CellularNetworkInformation> mccMncList;
|
||||
|
||||
List<NaiRealm> naiRealmList;
|
||||
|
||||
List<OsuIcon> osuIconList;
|
||||
|
||||
String radiusProfileAuth;
|
||||
String radiusProfileAccounting;
|
||||
String osuSsid;
|
||||
String osuServerUri;
|
||||
String osuFriendlyName;
|
||||
int osuNaiStandalone; // needs to be unsigned, so do take byte value, and make osuNaiStandalone & 0xff;
|
||||
int osuNaiShared;
|
||||
List<Integer> osuMethodList;
|
||||
List<Hotspot20Duple> osuServiceDescription;
|
||||
|
||||
private static final long serialVersionUID = -6146454085334670280L;
|
||||
|
||||
public String getDomainName() {
|
||||
return domainName;
|
||||
}
|
||||
|
||||
public void setDomainName(String domainName) {
|
||||
this.domainName = domainName;
|
||||
}
|
||||
|
||||
private ProviderProfile() {
|
||||
}
|
||||
|
||||
public static ProviderProfile createWithDefaults() {
|
||||
return new ProviderProfile();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public ProfileType getProfileType() {
|
||||
return ProfileType.id_provider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean needsToBeUpdatedOnDevice(ProviderProfile previousVersion) {
|
||||
if (this.equals(previousVersion))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
1690
profile-models/src/main/resources/MobileCountryAndNetworkCodes.txt
Normal file
1690
profile-models/src/main/resources/MobileCountryAndNetworkCodes.txt
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user