mirror of
				https://github.com/Telecominfraproject/wlan-cloud-opensync-controller.git
				synced 2025-10-31 10:37:51 +00:00 
			
		
		
		
	Compare commits
	
		
			70 Commits
		
	
	
		
			WIFI-797-R
			...
			20201204-1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | b8cd98017d | ||
|   | 0c89e6c624 | ||
|   | becf59dc0f | ||
|   | feff3d6530 | ||
|   | 2e7a090722 | ||
|   | 6ece024535 | ||
|   | 4837b0e026 | ||
|   | 0eca082a4d | ||
|   | db4672a9a2 | ||
|   | 9e58a9d7b7 | ||
|   | f083c3488c | ||
|   | b28655a5bd | ||
|   | 124b6054b5 | ||
|   | d79917d20f | ||
|   | c0bb71aed2 | ||
|   | 5e32798159 | ||
|   | 01fa2d3977 | ||
|   | f0daa18906 | ||
|   | d6d454bfc1 | ||
|   | f30b1ca02e | ||
|   | 84f3d4ea5d | ||
|   | a5fb061359 | ||
|   | d8ff2f1a31 | ||
|   | 1d1b5f1c42 | ||
|   | 74587349fe | ||
|   | b463d6720a | ||
|   | 036bd8ccc2 | ||
|   | eebdfba431 | ||
|   | 52a5a2ac72 | ||
|   | 44b3d5e526 | ||
|   | f9ece26ccf | ||
|   | 5f35b59a34 | ||
|   | d3729a47d2 | ||
|   | dc8e22a1b5 | ||
|   | 20484b634a | ||
|   | a7af164bb1 | ||
|   | e31b8ebd12 | ||
|   | bdde9561f3 | ||
|   | 2964aa3c3c | ||
|   | 01d9d7538c | ||
|   | ed5f445f11 | ||
|   | b47d2ccda1 | ||
|   | b6d6e4dea7 | ||
|   | 1e822e432c | ||
|   | 95173ada39 | ||
|   | 5bfd5dfac7 | ||
|   | 14b410e84b | ||
|   | c8bace4850 | ||
|   | b182a6953d | ||
|   | acdd5eddbf | ||
|   | c1de88aa05 | ||
|   | 28fcf06175 | ||
|   | a3159ed34e | ||
|   | ee56a5b2bb | ||
|   | b60a72c202 | ||
|   | b9dd818ca4 | ||
|   | 1d7f822ed4 | ||
|   | 6c784367ed | ||
|   | 176f549168 | ||
|   | 896c38c024 | ||
|   | 15e26fd829 | ||
|   | 4df03431ed | ||
|   | 7ef59937f2 | ||
|   | 0e80415e52 | ||
|   | 10b3a6227d | ||
|   | 3adb56f113 | ||
|   | 39da1f83a3 | ||
|   | 7f51486979 | ||
|   | 62672f090b | ||
|   | 012935818d | 
							
								
								
									
										1
									
								
								opensync-ext-cloud/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								opensync-ext-cloud/.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1 +0,0 @@ | ||||
| /target/ | ||||
| @@ -13,21 +13,17 @@ | ||||
| 	<name>opensync-ext-cloud</name> | ||||
| 	<description>Configuration interface that provides config from the cloud services.</description> | ||||
| 	<dependencies> | ||||
| 		<dependency> | ||||
| 			<groupId>com.telecominfraproject.wlan</groupId> | ||||
| 			<artifactId>opensync-ext-interface</artifactId> | ||||
| 			<version>${tip-wlan-cloud.release.version}</version> | ||||
| 		</dependency> | ||||
| <!-- 		<dependency> --> | ||||
| <!-- 			<groupId>com.telecominfraproject.wlan</groupId> --> | ||||
| <!-- 			<artifactId>opensync-ext-interface</artifactId> --> | ||||
| <!-- 			<version>${tip-wlan-cloud.release.version}</version> --> | ||||
| <!-- 		</dependency> --> | ||||
| 		<dependency> | ||||
| 			<groupId>com.telecominfraproject.wlan</groupId> | ||||
| 			<artifactId>opensync-gateway</artifactId> | ||||
| 			<version>${tip-wlan-cloud.release.version}</version> | ||||
| 		</dependency> | ||||
|  	  <dependency> | ||||
|         <artifactId>base-container</artifactId> | ||||
|         <groupId>com.telecominfraproject.wlan</groupId> | ||||
|         <version>${tip-wlan-cloud.release.version}</version> | ||||
|       </dependency> | ||||
|  	  | ||||
|         <dependency> | ||||
|             <artifactId>base-client</artifactId> | ||||
|             <groupId>com.telecominfraproject.wlan</groupId> | ||||
| @@ -39,7 +35,7 @@ | ||||
|         <groupId>com.telecominfraproject.wlan</groupId> | ||||
|         <version>${tip-wlan-cloud.release.version}</version> | ||||
|       </dependency> | ||||
|  | ||||
|       | ||||
|       <dependency> | ||||
|         <artifactId>customer-service-interface</artifactId> | ||||
|         <groupId>com.telecominfraproject.wlan</groupId> | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -88,7 +88,6 @@ import sts.OpensyncStats.Client; | ||||
| import sts.OpensyncStats.ClientReport; | ||||
| import sts.OpensyncStats.EventReport; | ||||
| import sts.OpensyncStats.EventReport.ClientAssocEvent; | ||||
| import sts.OpensyncStats.EventType; | ||||
| import sts.OpensyncStats.RadioBandType; | ||||
| import sts.OpensyncStats.Report; | ||||
|  | ||||
| @@ -162,20 +161,6 @@ public class OpensyncExternalIntegrationCloudTest { | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testGetCustomerEquipment() { | ||||
|  | ||||
|         Equipment equipment = new Equipment(); | ||||
|         equipment.setDetails(ApElementConfiguration.createWithDefaults()); | ||||
|  | ||||
|         Mockito.when( | ||||
|                 equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.eq("Test_Client_21P10C68818122"))) | ||||
|                 .thenReturn(equipment); | ||||
|         assertNotNull(opensyncExternalIntegrationCloud.getCustomerEquipment("Test_Client_21P10C68818122")); | ||||
|         assertNull(opensyncExternalIntegrationCloud.getCustomerEquipment("Test_Client_21P10C68818133")); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testApConnected() { | ||||
|  | ||||
| @@ -697,7 +682,7 @@ public class OpensyncExternalIntegrationCloudTest { | ||||
|         protocolStatus.setCustomerId(2); | ||||
|         protocolStatus.setEquipmentId(1L); | ||||
|         EquipmentProtocolStatusData protocolStatusData = new EquipmentProtocolStatusData(); | ||||
|         protocolStatusData.setReportedCC(CountryCode.ca); | ||||
|         protocolStatusData.setReportedCC(CountryCode.CA); | ||||
|         protocolStatus.setDetails(protocolStatusData); | ||||
|         protocolStatus.setStatusDataType(StatusDataType.PROTOCOL); | ||||
|  | ||||
|   | ||||
| @@ -7,6 +7,7 @@ import java.net.InetAddress; | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | ||||
| import com.telecominfraproject.wlan.systemevent.models.SystemEvent; | ||||
| import org.junit.After; | ||||
| import org.junit.Before; | ||||
| import org.junit.Ignore; | ||||
| @@ -39,6 +40,8 @@ import com.telecominfraproject.wlan.core.model.equipment.MacAddress; | ||||
| import com.telecominfraproject.wlan.core.model.equipment.RadioType; | ||||
| import com.telecominfraproject.wlan.customer.service.CustomerServiceInterface; | ||||
| import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface; | ||||
| import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration; | ||||
| import com.telecominfraproject.wlan.equipment.models.Equipment; | ||||
| import com.telecominfraproject.wlan.firmware.FirmwareServiceInterface; | ||||
| import com.telecominfraproject.wlan.location.service.LocationServiceInterface; | ||||
| import com.telecominfraproject.wlan.opensync.external.integration.controller.OpensyncCloudGatewayController; | ||||
| @@ -52,18 +55,21 @@ import com.telecominfraproject.wlan.status.equipment.report.models.ActiveBSSIDs; | ||||
| import com.telecominfraproject.wlan.status.models.Status; | ||||
| import com.telecominfraproject.wlan.status.models.StatusDataType; | ||||
|  | ||||
| import sts.OpensyncStats; | ||||
| import sts.OpensyncStats.AssocType; | ||||
| import sts.OpensyncStats.ChannelSwitchReason; | ||||
| import sts.OpensyncStats.Client; | ||||
| import sts.OpensyncStats.ClientReport; | ||||
| import sts.OpensyncStats.DNSProbeMetric; | ||||
| import sts.OpensyncStats.EventReport; | ||||
| import sts.OpensyncStats.EventReport.ChannelSwitchEvent; | ||||
| import sts.OpensyncStats.EventReport.ClientAssocEvent; | ||||
| import sts.OpensyncStats.NetworkProbe; | ||||
| import sts.OpensyncStats.RADIUSMetrics; | ||||
| import sts.OpensyncStats.RadioBandType; | ||||
| import sts.OpensyncStats.Report; | ||||
| import sts.OpensyncStats.StateUpDown; | ||||
| import sts.OpensyncStats.VLANMetrics; | ||||
| import sts.OpensyncStats.EventReport.ClientAssocEvent; | ||||
|  | ||||
| @RunWith(SpringRunner.class) | ||||
| @ActiveProfiles(profiles = { "integration_test", }) | ||||
| @@ -164,6 +170,20 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest { | ||||
|  | ||||
|     @Test | ||||
|     public void testProcessMqttMessageStringReport() { | ||||
|         Equipment equipment = new Equipment(); | ||||
|  | ||||
|         equipment.setDetails(ApElementConfiguration.createWithDefaults()); | ||||
|          | ||||
|         equipment.setId(1L); | ||||
|  | ||||
|         Mockito.when( | ||||
|                 equipmentServiceInterface.getByInventoryIdOrNull(ArgumentMatchers.eq("Test_Client_21P10C68818122"))) | ||||
|                 .thenReturn(equipment); | ||||
|          | ||||
|         equipment.setProfileId(0L); | ||||
|          | ||||
|         Mockito.when(equipmentServiceInterface.getOrNull(1L)).thenReturn(equipment); | ||||
|         Mockito.when(equipmentServiceInterface.get(1L)).thenReturn(equipment); | ||||
|  | ||||
|         Report report = Report.newBuilder().setNodeID("21P10C68818122") | ||||
|                 .addAllClients(getOpensyncStatsClientReportsList()) | ||||
| @@ -239,6 +259,55 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest { | ||||
|         // TODO: implement me when wcs stats reports supported | ||||
|     } | ||||
|  | ||||
|     // Verify CallStart, CallStop and CallReport are properly processed and published as | ||||
|     // respective events (5 events in total) | ||||
|     @Test | ||||
|     public void testProcessMqttMessageStringMultipleVideoVoiceReport() { | ||||
|         OpensyncStats.VideoVoiceReport.Builder callStartVoiceReportBuilder = OpensyncStats.VideoVoiceReport.newBuilder(). | ||||
|                 setCallStart(getDefaultCallStart()); | ||||
|         OpensyncStats.VideoVoiceReport.Builder callReportGotPublishVoiceReportBuilder = OpensyncStats.VideoVoiceReport.newBuilder(). | ||||
|                 setCallReport(getDefaultCallReport(OpensyncStats.CallReport.CallReportReason.GOT_PUBLISH, 121, 1028, 1316, 1888, 298, 2, 100, 200)); | ||||
|         OpensyncStats.VideoVoiceReport.Builder callReportRoamedToVoiceReportBuilder = OpensyncStats.VideoVoiceReport.newBuilder(). | ||||
|                 setCallReport(getDefaultCallReport(OpensyncStats.CallReport.CallReportReason.ROAMED_TO, 123, 1020, 1116, 1345, 223, 0, 102, 203)); | ||||
|         OpensyncStats.VideoVoiceReport.Builder callReportRoamedFromVoiceReportBuilder = OpensyncStats.VideoVoiceReport.newBuilder(). | ||||
|                 setCallReport(getDefaultCallReport(OpensyncStats.CallReport.CallReportReason.ROAMED_FROM, 122, 1029, 1300, 1234, 111, 3, 101, 201)); | ||||
|         OpensyncStats.VideoVoiceReport.Builder callStopVoiceReportBuilder = OpensyncStats.VideoVoiceReport.newBuilder(). | ||||
|                 setCallStop(getDefaultCallStop()); | ||||
|         // Create report with multiple voiceReports in one | ||||
|         Report multipleVoiceReportsInOneReport = Report.newBuilder().addVideoVoiceReport(callStartVoiceReportBuilder). | ||||
|                 addVideoVoiceReport(callReportGotPublishVoiceReportBuilder). | ||||
|                 addVideoVoiceReport(callReportRoamedFromVoiceReportBuilder). | ||||
|                 addVideoVoiceReport(callReportRoamedToVoiceReportBuilder). | ||||
|                 addVideoVoiceReport(callStopVoiceReportBuilder). | ||||
|                 setNodeID("1"). | ||||
|                 build(); | ||||
|  | ||||
|         opensyncExternalIntegrationMqttProcessor.populateSipCallReport(null, multipleVoiceReportsInOneReport, 1, 2L, "TestAP", 12L); | ||||
|  | ||||
|         Mockito.verify(equipmentMetricsCollectorInterface, Mockito.times(1)).publishEventsBulk(Mockito.anyList()); | ||||
|     } | ||||
|  | ||||
|     // Create report with 1 voiceReports that contains multiple Calls | ||||
|     // Note that GOT_PUBLISH and ROAMED_FROM are ignored in the CallReport. ROAMED_TO overwrites them | ||||
|     @Test | ||||
|     public void testProcessMqttMessageStringOneVideoVoiceReport() { | ||||
|  | ||||
|         OpensyncStats.VideoVoiceReport.Builder videoVoiceReportBuilder = OpensyncStats.VideoVoiceReport.newBuilder(). | ||||
|                 setCallReport(getDefaultCallReport(OpensyncStats.CallReport.CallReportReason.GOT_PUBLISH, 121, 1028, 1316,1888, 298, 2, 100,200)). | ||||
|                 setCallReport(getDefaultCallReport(OpensyncStats.CallReport.CallReportReason.ROAMED_FROM, 122, 1029, 1300,1234, 111, 3, 101,201)). | ||||
|                 setCallReport(getDefaultCallReport(OpensyncStats.CallReport.CallReportReason.ROAMED_TO, 123, 1020, 1116,1345, 223, 0, 102,203)). | ||||
|                 setCallStart(getDefaultCallStart()). | ||||
|                 setCallStop(getDefaultCallStop()); | ||||
|         Report oneVoiceReportWithMultipleCallsInOneReport = Report.getDefaultInstance().toBuilder(). | ||||
|                 addVideoVoiceReport(videoVoiceReportBuilder). | ||||
|                 setNodeID("1"). | ||||
|                 build(); | ||||
|  | ||||
|         opensyncExternalIntegrationMqttProcessor.populateSipCallReport(null, oneVoiceReportWithMultipleCallsInOneReport, 1, 2L, "TestAP", 12L); | ||||
|  | ||||
|         Mockito.verify(equipmentMetricsCollectorInterface, Mockito.times(1)).publishEventsBulk(Mockito.anyList()); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testpopulateNetworkProbeMetrics() throws Exception { | ||||
|  | ||||
| @@ -297,6 +366,74 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest { | ||||
|         return bssidList; | ||||
|     } | ||||
|  | ||||
|     private OpensyncStats.CallStart getDefaultCallStart() { | ||||
|         OpensyncStats.CallStart.Builder callStartBuilder = OpensyncStats.CallStart.newBuilder(); | ||||
|         callStartBuilder.setBand(RadioBandType.BAND5G); | ||||
|         callStartBuilder.setChannel(40); | ||||
|         callStartBuilder.addCodecs("110 opus/48000/2"); | ||||
|         callStartBuilder.addCodecs("102 iLBC/8000"); | ||||
|         callStartBuilder.setClientMac(ByteString.copyFrom("C0:9A:D0:76:A9:69".getBytes())); | ||||
|         callStartBuilder.setDeviceInfo("Test Device"); | ||||
|         callStartBuilder.setProviderDomain("skype"); | ||||
|         callStartBuilder.setSessionId(123L); | ||||
|         callStartBuilder.setWifiSessionId(1234L); | ||||
|  | ||||
|         return callStartBuilder.build(); | ||||
|     } | ||||
|  | ||||
|     private OpensyncStats.CallStop getDefaultCallStop() { | ||||
|         OpensyncStats.CallStop.Builder callStopBuilder = OpensyncStats.CallStop.newBuilder(); | ||||
|         callStopBuilder.setBand(RadioBandType.BAND5G); | ||||
|         callStopBuilder.setChannel(40); | ||||
|         callStopBuilder.addCodecs("110 opus/48000/2"); | ||||
|         callStopBuilder.addCodecs("102 iLBC/8000"); | ||||
|         callStopBuilder.setClientMac(ByteString.copyFrom("C0:9A:D0:76:A9:69".getBytes())); | ||||
|         callStopBuilder.setCallDuration(1230); | ||||
|         callStopBuilder.setProviderDomain("skype"); | ||||
|         callStopBuilder.setSessionId(123L); | ||||
|         callStopBuilder.setWifiSessionId(1234L); | ||||
|         callStopBuilder.setReason(OpensyncStats.CallStop.CallStopReason.BYE_OK); | ||||
|         callStopBuilder.addStats(getRtpFlowStats(121, 1380, 1400,3000, 119, 3, 205,350)); | ||||
|  | ||||
|         return callStopBuilder.build(); | ||||
|     } | ||||
|      | ||||
|     private OpensyncStats.RtpFlowStats getRtpFlowStats(int codec, int jitter, int latency, int totalPackets, | ||||
|                                                        int totalPacketsLost, int mos, int firstRtpSeq, int lastRtpSeq) { | ||||
|         OpensyncStats.RtpFlowStats.Builder rtpFlowStatsBuilder = OpensyncStats.RtpFlowStats.newBuilder(); | ||||
|         rtpFlowStatsBuilder.setCodec(codec); | ||||
|         rtpFlowStatsBuilder.setBlockCodecs(ByteString.copyFrom(new byte[] { (byte) 0xe6, 0x1 })); | ||||
|         rtpFlowStatsBuilder.setDirection(OpensyncStats.RtpFlowStats.RtpFlowDirection.RTP_DOWNSTREAM); | ||||
|         rtpFlowStatsBuilder.setRtpFlowType(OpensyncStats.RtpFlowStats.RtpFlowType.RTP_VOICE); | ||||
|         rtpFlowStatsBuilder.setJitter(jitter); | ||||
|         rtpFlowStatsBuilder.setLatency(latency); | ||||
|         rtpFlowStatsBuilder.setTotalPacketsSent(totalPackets); | ||||
|         rtpFlowStatsBuilder.setTotalPacketsLost(totalPacketsLost); | ||||
|         rtpFlowStatsBuilder.setMosx100(mos); | ||||
|         rtpFlowStatsBuilder.setRtpSeqFirst(firstRtpSeq); | ||||
|         rtpFlowStatsBuilder.setRtpSeqLast(lastRtpSeq); | ||||
|  | ||||
|         return rtpFlowStatsBuilder.build(); | ||||
|     } | ||||
|  | ||||
|     private OpensyncStats.CallReport getDefaultCallReport(OpensyncStats.CallReport.CallReportReason reason, int codec, | ||||
|                                                           int jitter, int latency, int totalPackets, int totalPacketsLost, | ||||
|                                                           int mos, int firstRtpSeq, int lastRtpSeq) { | ||||
|         OpensyncStats.CallReport.Builder callReportBuilder = OpensyncStats.CallReport.newBuilder(); | ||||
|         callReportBuilder.setBand(RadioBandType.BAND5G); | ||||
|         callReportBuilder.setChannel(40); | ||||
|         callReportBuilder.addCodecs("110 opus/48000/2"); | ||||
|         callReportBuilder.addCodecs("102 iLBC/8000"); | ||||
|         callReportBuilder.setClientMac(ByteString.copyFrom("C0:9A:D0:76:A9:69".getBytes())); | ||||
|         callReportBuilder.setProviderDomain("skype"); | ||||
|         callReportBuilder.setSessionId(123L); | ||||
|         callReportBuilder.setWifiSessionId(1234L); | ||||
|         callReportBuilder.setReason(reason); | ||||
|         callReportBuilder.addStats(getRtpFlowStats(codec, jitter, latency, totalPackets, totalPacketsLost, | ||||
|                 mos, firstRtpSeq, lastRtpSeq)); | ||||
|  | ||||
|         return callReportBuilder.build(); | ||||
|     } | ||||
|  | ||||
|     private List<EventReport> getOpensyncStatsEventReportsList() { | ||||
|  | ||||
| @@ -341,8 +478,15 @@ public class OpensyncExternalIntegrationMqttMessageProcessorTest { | ||||
|         clientSessionBuilder.addAllClientAssocEvent(clientAssocEventList); | ||||
|         List<sts.OpensyncStats.EventReport.ClientSession> clientSessionList = new ArrayList<>(); | ||||
|         clientSessionList.add(clientSessionBuilder.build()); | ||||
|          | ||||
|         sts.OpensyncStats.EventReport.ChannelSwitchEvent.Builder channelSwitchEventBuilder = sts.OpensyncStats.EventReport.ChannelSwitchEvent.getDefaultInstance().toBuilder(); | ||||
|         channelSwitchEventBuilder.setBand(RadioBandType.BAND5GL).setChannel(40).setReason(ChannelSwitchReason.high_interference).setTimestampMs(System.currentTimeMillis()); | ||||
|  | ||||
|         List<ChannelSwitchEvent> channelSwitchEventList = new ArrayList<>(); | ||||
|         channelSwitchEventList.add(channelSwitchEventBuilder.build()); | ||||
|          | ||||
|         eventReportBuilder.addAllClientSession(clientSessionList); | ||||
|         eventReportBuilder.addAllChannelSwitch(channelSwitchEventList); | ||||
|  | ||||
|         eventReportList.add(eventReportBuilder.build()); | ||||
|  | ||||
|   | ||||
| @@ -22,11 +22,7 @@ | ||||
| 			<artifactId>tip-wlan-opensync-protobuf</artifactId> | ||||
| 			<version>${tip-wlan-cloud.release.version}</version> | ||||
| 		</dependency> | ||||
| 		<dependency> | ||||
| 			<artifactId>customer-models</artifactId> | ||||
| 			<groupId>com.telecominfraproject.wlan</groupId> | ||||
| 			<version>${tip-wlan-cloud.release.version}</version> | ||||
| 		</dependency> | ||||
| 		 | ||||
| 		<dependency> | ||||
| 			<artifactId>equipment-models</artifactId> | ||||
| 			<groupId>com.telecominfraproject.wlan</groupId> | ||||
| @@ -47,11 +43,7 @@ | ||||
| 			<groupId>com.telecominfraproject.wlan</groupId> | ||||
| 			<version>${tip-wlan-cloud.release.version}</version> | ||||
| 		</dependency> | ||||
| 		<dependency> | ||||
| 			<artifactId>client-models</artifactId> | ||||
| 			<groupId>com.telecominfraproject.wlan</groupId> | ||||
| 			<version>${tip-wlan-cloud.release.version}</version> | ||||
| 		</dependency> | ||||
| 		 | ||||
|  | ||||
| 		<dependency> | ||||
| 			<groupId>com.vmware.ovsdb</groupId> | ||||
|   | ||||
| @@ -3,6 +3,7 @@ package com.telecominfraproject.wlan.opensync.external.integration.models; | ||||
| import java.util.ArrayList; | ||||
| import java.util.HashSet; | ||||
| import java.util.List; | ||||
| import java.util.Objects; | ||||
| import java.util.Set; | ||||
|  | ||||
| import com.telecominfraproject.wlan.core.model.entity.CountryCode; | ||||
| @@ -282,4 +283,34 @@ public class OpensyncAPConfig extends BaseJsonModel { | ||||
|     public List<Profile> getMetricsProfiles() { | ||||
|         return metricsProfile;        | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hash(apProfile, blockedClients, bonjourGatewayProfiles, captiveProfiles, customerEquipment, | ||||
|                 equipmentGateway, equipmentLocation, equipmentRouting, hotspotConfig, metricsProfile, | ||||
|                 radiusProfiles, rfProfile, ssidProfile); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object obj) { | ||||
|         if (this == obj) { | ||||
|             return true; | ||||
|         } | ||||
|         if (!(obj instanceof OpensyncAPConfig)) { | ||||
|             return false; | ||||
|         } | ||||
|         OpensyncAPConfig other = (OpensyncAPConfig) obj; | ||||
|         return Objects.equals(apProfile, other.apProfile) && Objects.equals(blockedClients, other.blockedClients) | ||||
|                 && Objects.equals(bonjourGatewayProfiles, other.bonjourGatewayProfiles) | ||||
|                 && Objects.equals(captiveProfiles, other.captiveProfiles) | ||||
|                 && Objects.equals(customerEquipment, other.customerEquipment) | ||||
|                 && Objects.equals(equipmentGateway, other.equipmentGateway) | ||||
|                 && Objects.equals(equipmentLocation, other.equipmentLocation) | ||||
|                 && Objects.equals(equipmentRouting, other.equipmentRouting) | ||||
|                 && Objects.equals(hotspotConfig, other.hotspotConfig) | ||||
|                 && Objects.equals(metricsProfile, other.metricsProfile) | ||||
|                 && Objects.equals(radiusProfiles, other.radiusProfiles) && Objects.equals(rfProfile, other.rfProfile) | ||||
|                 && Objects.equals(ssidProfile, other.ssidProfile); | ||||
|     } | ||||
|      | ||||
| } | ||||
|   | ||||
| @@ -6,13 +6,12 @@ import java.util.Map; | ||||
| import com.telecominfraproject.wlan.core.model.json.BaseJsonModel; | ||||
| import com.vmware.ovsdb.protocol.operation.notation.Uuid; | ||||
|  | ||||
| public class OpensyncAPInetState extends BaseJsonModel  { | ||||
|  | ||||
| public class OpensyncAPInetState extends BaseJsonModel { | ||||
|  | ||||
| 	private static final long serialVersionUID = 1707053648715030173L; | ||||
| 	 | ||||
|  | ||||
| 	public String ifName; | ||||
| 	public String dhcpd; | ||||
| 	public Map<String, String> dhcpd; | ||||
| 	public String unpnpMode; | ||||
| 	public String ifType; | ||||
| 	public String softwdsMacAddr; | ||||
| @@ -37,175 +36,423 @@ public class OpensyncAPInetState extends BaseJsonModel  { | ||||
| 	public String inetConfig; | ||||
| 	public Uuid _uuid; | ||||
| 	public Uuid version; | ||||
| 	public String greLocalInetAddr; | ||||
| 	public String greRemoteMacAddr; | ||||
|  | ||||
| 	 | ||||
| 	 | ||||
| 	 | ||||
| 	public OpensyncAPInetState() { | ||||
|         super(); | ||||
|         dns = new HashMap<>(); | ||||
|         dhcpc = new HashMap<>(); | ||||
|     } | ||||
|     public String getIfName() { | ||||
| 		super(); | ||||
| 		dns = new HashMap<>(); | ||||
| 		dhcpc = new HashMap<>(); | ||||
| 	} | ||||
|  | ||||
| 	public String getIfName() { | ||||
| 		return ifName; | ||||
| 	} | ||||
|  | ||||
| 	public void setIfName(String ifName) { | ||||
| 		this.ifName = ifName; | ||||
| 	} | ||||
| 	public String getDhcpd() { | ||||
|  | ||||
| 	public Map<String, String> getDhcpd() { | ||||
| 		return dhcpd; | ||||
| 	} | ||||
| 	public void setDhcpd(String dhcpd) { | ||||
|  | ||||
| 	public void setDhcpd(Map<String, String> dhcpd) { | ||||
| 		this.dhcpd = dhcpd; | ||||
| 	} | ||||
|  | ||||
| 	public String getUnpnpMode() { | ||||
| 		return unpnpMode; | ||||
| 	} | ||||
|  | ||||
| 	public void setUnpnpMode(String unpnpMode) { | ||||
| 		this.unpnpMode = unpnpMode; | ||||
| 	} | ||||
|  | ||||
| 	public String getIfType() { | ||||
| 		return ifType; | ||||
| 	} | ||||
|  | ||||
| 	public void setIfType(String ifType) { | ||||
| 		this.ifType = ifType; | ||||
| 	} | ||||
|  | ||||
| 	public String getSoftwdsMacAddr() { | ||||
| 		return softwdsMacAddr; | ||||
| 	} | ||||
|  | ||||
| 	public void setSoftwdsMacAddr(String softwdsMacAddr) { | ||||
| 		this.softwdsMacAddr = softwdsMacAddr; | ||||
| 	} | ||||
|  | ||||
| 	public boolean isEnabled() { | ||||
| 		return enabled; | ||||
| 	} | ||||
|  | ||||
| 	public void setEnabled(boolean enabled) { | ||||
| 		this.enabled = enabled; | ||||
| 	} | ||||
|  | ||||
| 	public boolean isSofwdsWrap() { | ||||
| 		return sofwdsWrap; | ||||
| 	} | ||||
|  | ||||
| 	public void setSofwdsWrap(boolean sofwdsWrap) { | ||||
| 		this.sofwdsWrap = sofwdsWrap; | ||||
| 	} | ||||
|  | ||||
| 	public int getVlanId() { | ||||
| 		return vlanId; | ||||
| 	} | ||||
|  | ||||
| 	public void setVlanId(int vlanId) { | ||||
| 		this.vlanId = vlanId; | ||||
| 	} | ||||
|  | ||||
| 	public String getNetmask() { | ||||
| 		return netmask; | ||||
| 	} | ||||
|  | ||||
| 	public void setNetmask(String netmask) { | ||||
| 		this.netmask = netmask; | ||||
| 	} | ||||
|  | ||||
| 	public boolean isNat() { | ||||
| 		return nat; | ||||
| 	} | ||||
|  | ||||
| 	public void setNat(boolean nat) { | ||||
| 		this.nat = nat; | ||||
| 	} | ||||
|  | ||||
| 	public String getGreRemoteInetAddr() { | ||||
| 		return greRemoteInetAddr; | ||||
| 	} | ||||
|  | ||||
| 	public void setGreRemoteInetAddr(String greRemoteInetAddr) { | ||||
| 		this.greRemoteInetAddr = greRemoteInetAddr; | ||||
| 	} | ||||
|  | ||||
| 	public String getIfUuid() { | ||||
| 		return ifUuid; | ||||
| 	} | ||||
|  | ||||
| 	public void setIfUuid(String ifUuid) { | ||||
| 		this.ifUuid = ifUuid; | ||||
| 	} | ||||
|  | ||||
| 	public String getInetAddr() { | ||||
| 		return inetAddr; | ||||
| 	} | ||||
|  | ||||
| 	public void setInetAddr(String inetAddr) { | ||||
| 		this.inetAddr = inetAddr; | ||||
| 	} | ||||
|  | ||||
| 	public String getHwAddr() { | ||||
| 		return hwAddr; | ||||
| 	} | ||||
|  | ||||
| 	public void setHwAddr(String hwAddr) { | ||||
| 		this.hwAddr = hwAddr; | ||||
| 	} | ||||
|  | ||||
| 	public int getMtw() { | ||||
| 		return mtw; | ||||
| 	} | ||||
|  | ||||
| 	public void setMtw(int mtw) { | ||||
| 		this.mtw = mtw; | ||||
| 	} | ||||
|  | ||||
| 	public boolean isNetwork() { | ||||
| 		return network; | ||||
| 	} | ||||
|  | ||||
| 	public void setNetwork(boolean network) { | ||||
| 		this.network = network; | ||||
| 	} | ||||
|  | ||||
| 	public Map<String, String> getDns() { | ||||
| 		return dns; | ||||
| 	} | ||||
|  | ||||
| 	public void setDns(Map<String, String> dns) { | ||||
| 		this.dns = dns; | ||||
| 	} | ||||
|  | ||||
| 	public String getParentIfName() { | ||||
| 		return parentIfName; | ||||
| 	} | ||||
|  | ||||
| 	public void setParentIfName(String parentIfName) { | ||||
| 		this.parentIfName = parentIfName; | ||||
| 	} | ||||
|  | ||||
| 	public String getGreIfName() { | ||||
| 		return greIfName; | ||||
| 	} | ||||
|  | ||||
| 	public void setGreIfName(String greIfName) { | ||||
| 		this.greIfName = greIfName; | ||||
| 	} | ||||
|  | ||||
| 	public String getBroadcast() { | ||||
| 		return broadcast; | ||||
| 	} | ||||
|  | ||||
| 	public void setBroadcast(String broadcast) { | ||||
| 		this.broadcast = broadcast; | ||||
| 	} | ||||
|  | ||||
| 	public Map<String, String> getDhcpc() { | ||||
| 		return dhcpc; | ||||
| 	} | ||||
|  | ||||
| 	public void setDhcpc(Map<String, String> dhcpc) { | ||||
| 		this.dhcpc = dhcpc; | ||||
| 	} | ||||
|  | ||||
| 	public String getGateway() { | ||||
| 		return gateway; | ||||
| 	} | ||||
|  | ||||
| 	public void setGateway(String gateway) { | ||||
| 		this.gateway = gateway; | ||||
| 	} | ||||
|  | ||||
| 	public String getIpAssignScheme() { | ||||
| 		return ipAssignScheme; | ||||
| 	} | ||||
|  | ||||
| 	public void setIpAssignScheme(String ipAssignScheme) { | ||||
| 		this.ipAssignScheme = ipAssignScheme; | ||||
| 	} | ||||
|  | ||||
| 	public String getInetConfig() { | ||||
| 		return inetConfig; | ||||
| 	} | ||||
|  | ||||
| 	public void setInetConfig(String inetConfig) { | ||||
| 		this.inetConfig = inetConfig; | ||||
| 	} | ||||
|  | ||||
| 	public static long getSerialversionuid() { | ||||
| 		return serialVersionUID; | ||||
| 	} | ||||
|  | ||||
| 	public Uuid get_uuid() { | ||||
| 		return _uuid; | ||||
| 	} | ||||
|  | ||||
| 	public void set_uuid(Uuid _uuid) { | ||||
| 		this._uuid = _uuid; | ||||
| 	} | ||||
|  | ||||
| 	public Uuid getVersion() { | ||||
| 		return version; | ||||
| 	} | ||||
|  | ||||
| 	public void setVersion(Uuid version) { | ||||
| 		this.version = version; | ||||
| 	} | ||||
| 	 | ||||
| 	 | ||||
|  | ||||
| 	public void setGreLocalInetAddr(String greLocalInetAddr) { | ||||
| 		this.greLocalInetAddr = greLocalInetAddr; | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	public String getGreLocalInetAddr() { | ||||
| 		return greLocalInetAddr; | ||||
| 	} | ||||
|  | ||||
| 	public void setGreRemoteMacAddr(String greRemoteMacAddr) { | ||||
| 		this.greRemoteMacAddr = greRemoteMacAddr; | ||||
| 	} | ||||
|  | ||||
| 	public String getGreRemoteMacAddr(){ | ||||
| 		return this.greRemoteMacAddr; | ||||
| 	} | ||||
| 	@Override | ||||
| 	public int hashCode() { | ||||
| 		final int prime = 31; | ||||
| 		int result = 1; | ||||
| 		result = prime * result + ((_uuid == null) ? 0 : _uuid.hashCode()); | ||||
| 		result = prime * result + ((broadcast == null) ? 0 : broadcast.hashCode()); | ||||
| 		result = prime * result + ((dhcpc == null) ? 0 : dhcpc.hashCode()); | ||||
| 		result = prime * result + ((dhcpd == null) ? 0 : dhcpd.hashCode()); | ||||
| 		result = prime * result + ((dns == null) ? 0 : dns.hashCode()); | ||||
| 		result = prime * result + (enabled ? 1231 : 1237); | ||||
| 		result = prime * result + ((gateway == null) ? 0 : gateway.hashCode()); | ||||
| 		result = prime * result + ((greIfName == null) ? 0 : greIfName.hashCode()); | ||||
| 		result = prime * result + ((greLocalInetAddr == null) ? 0 : greLocalInetAddr.hashCode()); | ||||
| 		result = prime * result + ((greRemoteInetAddr == null) ? 0 : greRemoteInetAddr.hashCode()); | ||||
| 		result = prime * result + ((hwAddr == null) ? 0 : hwAddr.hashCode()); | ||||
| 		result = prime * result + ((ifName == null) ? 0 : ifName.hashCode()); | ||||
| 		result = prime * result + ((ifType == null) ? 0 : ifType.hashCode()); | ||||
| 		result = prime * result + ((ifUuid == null) ? 0 : ifUuid.hashCode()); | ||||
| 		result = prime * result + ((inetAddr == null) ? 0 : inetAddr.hashCode()); | ||||
| 		result = prime * result + ((inetConfig == null) ? 0 : inetConfig.hashCode()); | ||||
| 		result = prime * result + ((ipAssignScheme == null) ? 0 : ipAssignScheme.hashCode()); | ||||
| 		result = prime * result + mtw; | ||||
| 		result = prime * result + (nat ? 1231 : 1237); | ||||
| 		result = prime * result + ((netmask == null) ? 0 : netmask.hashCode()); | ||||
| 		result = prime * result + (network ? 1231 : 1237); | ||||
| 		result = prime * result + ((parentIfName == null) ? 0 : parentIfName.hashCode()); | ||||
| 		result = prime * result + ((greRemoteMacAddr == null) ? 0 : greRemoteMacAddr.hashCode()); | ||||
| 		result = prime * result + ((softwdsMacAddr == null) ? 0 : softwdsMacAddr.hashCode()); | ||||
| 		result = prime * result + (sofwdsWrap ? 1231 : 1237); | ||||
| 		result = prime * result + ((unpnpMode == null) ? 0 : unpnpMode.hashCode()); | ||||
| 		result = prime * result + ((version == null) ? 0 : version.hashCode()); | ||||
| 		result = prime * result + vlanId; | ||||
| 		return result; | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public boolean equals(Object obj) { | ||||
| 		if (this == obj) | ||||
| 			return true; | ||||
| 		if (obj == null) | ||||
| 			return false; | ||||
| 		if (getClass() != obj.getClass()) | ||||
| 			return false; | ||||
| 		OpensyncAPInetState other = (OpensyncAPInetState) obj; | ||||
| 		if (_uuid == null) { | ||||
| 			if (other._uuid != null) | ||||
| 				return false; | ||||
| 		} else if (!_uuid.equals(other._uuid)) | ||||
| 			return false; | ||||
| 		if (broadcast == null) { | ||||
| 			if (other.broadcast != null) | ||||
| 				return false; | ||||
| 		} else if (!broadcast.equals(other.broadcast)) | ||||
| 			return false; | ||||
| 		if (dhcpc == null) { | ||||
| 			if (other.dhcpc != null) | ||||
| 				return false; | ||||
| 		} else if (!dhcpc.equals(other.dhcpc)) | ||||
| 			return false; | ||||
| 		if (dhcpd == null) { | ||||
| 			if (other.dhcpd != null) | ||||
| 				return false; | ||||
| 		} else if (!dhcpd.equals(other.dhcpd)) | ||||
| 			return false; | ||||
| 		if (dns == null) { | ||||
| 			if (other.dns != null) | ||||
| 				return false; | ||||
| 		} else if (!dns.equals(other.dns)) | ||||
| 			return false; | ||||
| 		if (enabled != other.enabled) | ||||
| 			return false; | ||||
| 		if (gateway == null) { | ||||
| 			if (other.gateway != null) | ||||
| 				return false; | ||||
| 		} else if (!gateway.equals(other.gateway)) | ||||
| 			return false; | ||||
| 		if (greIfName == null) { | ||||
| 			if (other.greIfName != null) | ||||
| 				return false; | ||||
| 		} else if (!greIfName.equals(other.greIfName)) | ||||
| 			return false; | ||||
| 		if (greLocalInetAddr == null) { | ||||
| 			if (other.greLocalInetAddr != null) | ||||
| 				return false; | ||||
| 		} else if (!greLocalInetAddr.equals(other.greLocalInetAddr)) | ||||
| 			return false; | ||||
| 		if (greRemoteInetAddr == null) { | ||||
| 			if (other.greRemoteInetAddr != null) | ||||
| 				return false; | ||||
| 		} else if (!greRemoteInetAddr.equals(other.greRemoteInetAddr)) | ||||
| 			return false; | ||||
| 		if (hwAddr == null) { | ||||
| 			if (other.hwAddr != null) | ||||
| 				return false; | ||||
| 		} else if (!hwAddr.equals(other.hwAddr)) | ||||
| 			return false; | ||||
| 		if (ifName == null) { | ||||
| 			if (other.ifName != null) | ||||
| 				return false; | ||||
| 		} else if (!ifName.equals(other.ifName)) | ||||
| 			return false; | ||||
| 		if (ifType == null) { | ||||
| 			if (other.ifType != null) | ||||
| 				return false; | ||||
| 		} else if (!ifType.equals(other.ifType)) | ||||
| 			return false; | ||||
| 		if (ifUuid == null) { | ||||
| 			if (other.ifUuid != null) | ||||
| 				return false; | ||||
| 		} else if (!ifUuid.equals(other.ifUuid)) | ||||
| 			return false; | ||||
| 		if (inetAddr == null) { | ||||
| 			if (other.inetAddr != null) | ||||
| 				return false; | ||||
| 		} else if (!inetAddr.equals(other.inetAddr)) | ||||
| 			return false; | ||||
| 		if (inetConfig == null) { | ||||
| 			if (other.inetConfig != null) | ||||
| 				return false; | ||||
| 		} else if (!inetConfig.equals(other.inetConfig)) | ||||
| 			return false; | ||||
| 		if (ipAssignScheme == null) { | ||||
| 			if (other.ipAssignScheme != null) | ||||
| 				return false; | ||||
| 		} else if (!ipAssignScheme.equals(other.ipAssignScheme)) | ||||
| 			return false; | ||||
| 		if (mtw != other.mtw) | ||||
| 			return false; | ||||
| 		if (nat != other.nat) | ||||
| 			return false; | ||||
| 		if (netmask == null) { | ||||
| 			if (other.netmask != null) | ||||
| 				return false; | ||||
| 		} else if (!netmask.equals(other.netmask)) | ||||
| 			return false; | ||||
| 		if (network != other.network) | ||||
| 			return false; | ||||
| 		if (parentIfName == null) { | ||||
| 			if (other.parentIfName != null) | ||||
| 				return false; | ||||
| 		} else if (!parentIfName.equals(other.parentIfName)) | ||||
| 			return false; | ||||
| 		if (greRemoteMacAddr == null) { | ||||
| 			if (other.greRemoteMacAddr != null) | ||||
| 				return false; | ||||
| 		} else if (!greRemoteMacAddr.equals(other.greRemoteMacAddr)) | ||||
| 			return false; | ||||
| 		if (softwdsMacAddr == null) { | ||||
| 			if (other.softwdsMacAddr != null) | ||||
| 				return false; | ||||
| 		} else if (!softwdsMacAddr.equals(other.softwdsMacAddr)) | ||||
| 			return false; | ||||
| 		if (sofwdsWrap != other.sofwdsWrap) | ||||
| 			return false; | ||||
| 		if (unpnpMode == null) { | ||||
| 			if (other.unpnpMode != null) | ||||
| 				return false; | ||||
| 		} else if (!unpnpMode.equals(other.unpnpMode)) | ||||
| 			return false; | ||||
| 		if (version == null) { | ||||
| 			if (other.version != null) | ||||
| 				return false; | ||||
| 		} else if (!version.equals(other.version)) | ||||
| 			return false; | ||||
| 		if (vlanId != other.vlanId) | ||||
| 			return false; | ||||
| 		return true; | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public String toString() { | ||||
| 		return "OpensyncAPInetState [ifName=" + ifName + ", dhcpd=" + dhcpd + ", unpnpMode=" + unpnpMode + ", ifType=" | ||||
| 				+ ifType + ", softwdsMacAddr=" + softwdsMacAddr + ", enabled=" + enabled + ", sofwdsWrap=" + sofwdsWrap | ||||
| 				+ ", vlanId=" + vlanId + ", netmask=" + netmask + ", nat=" + nat + ", greRemoteInetAddr=" | ||||
| 				+ greRemoteInetAddr + ", ifUuid=" + ifUuid + ", inetAddr=" + inetAddr + ", hwAddr=" + hwAddr + ", mtw=" | ||||
| 				+ mtw + ", network=" + network + ", dns=" + dns + ", parentIfName=" + parentIfName + ", greIfName=" | ||||
| 				+ greIfName + ", broadcast=" + broadcast + ", dhcpc=" + dhcpc + ", gateway=" + gateway | ||||
| 				+ ", ipAssignScheme=" + ipAssignScheme + ", inetConfig=" + inetConfig + ", _uuid=" + _uuid | ||||
| 				+ ", version=" + version + ", greLocalInetAddr=" + greLocalInetAddr + ", greRemoteMacAddr=" | ||||
| 				+ greRemoteMacAddr + "]"; | ||||
| 	} | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -12,7 +12,7 @@ | ||||
|   <dependencies> | ||||
|   	<dependency> | ||||
|   		<groupId>com.telecominfraproject.wlan</groupId> | ||||
|   		<artifactId>opensync-ext-interface</artifactId> | ||||
|   		<artifactId>opensync-gateway</artifactId> | ||||
|   		<version>${tip-wlan-cloud.release.version}</version> | ||||
|   	</dependency> | ||||
|   </dependencies> | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|   "model_type": "Equipment", | ||||
|   "id": 51, | ||||
|   "customerId": 2, | ||||
|   "profileId": 5, | ||||
|   "profileId": 12, | ||||
|   "locationId": 8, | ||||
|   "equipmentType": "AP", | ||||
|   "inventoryId": "Test_Client_21P10C68818122", | ||||
| @@ -38,37 +38,28 @@ | ||||
|         "channelNumber": 6, | ||||
|         "manualChannelNumber": 6, | ||||
|         "backupChannelNumber": 11, | ||||
|         "autoChannelSelection": false, | ||||
|         "channelBandwidth": "is20MHz", | ||||
|         "bannedChannels": [], | ||||
|         "allowedChannels": [], | ||||
|         "rxCellSizeDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "probeResponseThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "clientDisconnectThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "eirpTxPower": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": false, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": 32 | ||||
|         }, | ||||
|         "bestApEnabled": null, | ||||
|         "neighbouringListApConfig": { | ||||
|           "model_type": "NeighbouringAPListConfiguration", | ||||
|           "minSignal": -85, | ||||
|           "maxAps": 25 | ||||
|         }, | ||||
|         "minAutoCellSize": -80, | ||||
|         "perimeterDetectionEnabled": true, | ||||
|         "bestAPSteerType": "both", | ||||
|         "deauthAttackDetection": null, | ||||
| @@ -81,37 +72,28 @@ | ||||
|         "channelNumber": 149, | ||||
|         "manualChannelNumber": 149, | ||||
|         "backupChannelNumber": 154, | ||||
|         "autoChannelSelection": false, | ||||
|         "channelBandwidth": "is80MHz", | ||||
|         "bannedChannels": [], | ||||
|         "allowedChannels": [], | ||||
|         "rxCellSizeDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "probeResponseThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "clientDisconnectThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "eirpTxPower": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": false, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": 32 | ||||
|         }, | ||||
|         "bestApEnabled": null, | ||||
|         "neighbouringListApConfig": { | ||||
|           "model_type": "NeighbouringAPListConfiguration", | ||||
|           "minSignal": -85, | ||||
|           "maxAps": 25 | ||||
|         }, | ||||
|         "minAutoCellSize": -80, | ||||
|         "perimeterDetectionEnabled": true, | ||||
|         "bestAPSteerType": "both", | ||||
|         "deauthAttackDetection": null, | ||||
| @@ -124,37 +106,28 @@ | ||||
|         "channelNumber": 36, | ||||
|         "manualChannelNumber": 36, | ||||
|         "backupChannelNumber": 44, | ||||
|         "autoChannelSelection": false, | ||||
|         "channelBandwidth": "is80MHz", | ||||
|         "bannedChannels": [], | ||||
|         "allowedChannels": [], | ||||
|         "rxCellSizeDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "probeResponseThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "clientDisconnectThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "eirpTxPower": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": false, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": 32 | ||||
|         }, | ||||
|         "bestApEnabled": null, | ||||
|         "neighbouringListApConfig": { | ||||
|           "model_type": "NeighbouringAPListConfiguration", | ||||
|           "minSignal": -85, | ||||
|           "maxAps": 25 | ||||
|         }, | ||||
|         "minAutoCellSize": -80, | ||||
|         "perimeterDetectionEnabled": true, | ||||
|         "bestAPSteerType": "both", | ||||
|         "deauthAttackDetection": null, | ||||
| @@ -168,39 +141,24 @@ | ||||
|         "radioType": "is2dot4GHz", | ||||
|         "radioAdminState": "enabled", | ||||
|         "fragmentationThresholdBytes": 2346, | ||||
|         "rtsCtsThreshold": 65535, | ||||
|         "autoChannelSelection": "disabled", | ||||
|         "radioMode": "modeN", | ||||
|         "mimoMode": "twoByTwo", | ||||
|         "wmmState": "enabled", | ||||
|         "uapsdState": "enabled", | ||||
|         "maxNumClients": 100, | ||||
|         "stationIsolation": "disabled", | ||||
|         "multicastRate": "auto", | ||||
|         "managementRate": "auto", | ||||
|         "activeScanSettings": { | ||||
|           "model_type": "ActiveScanSettings", | ||||
|           "enabled": true, | ||||
|           "scanFrequencySeconds": 10, | ||||
|           "scanDurationMillis": 65 | ||||
|         }, | ||||
|         "channelHopSettings": { | ||||
|           "model_type": "ChannelHopSettings", | ||||
|           "noiseFloorThresholdInDB": -75, | ||||
|           "noiseFloorThresholdTimeInSeconds": 180, | ||||
|           "nonWifiThresholdInPercentage": 50, | ||||
|           "nonWifiThresholdTimeInSeconds": 180, | ||||
|           "obssHopMode": "NON_WIFI" | ||||
|         "managementRate": { | ||||
|           "model_type": "SourceSelectionManagement", | ||||
|           "source": "auto", | ||||
|           "value": "auto" | ||||
|         }, | ||||
|         "bestApSettings": { | ||||
|           "model_type": "RadioBestApSettings", | ||||
|           "mlComputed": true, | ||||
|           "dropInSnrPercentage": 20, | ||||
|           "minLoadFactor": 50 | ||||
|         "model_type": "SourceSelectionSteering", | ||||
|           "source": "auto", | ||||
|           "value": { | ||||
| 	          "model_type": "RadioBestApSettings", | ||||
| 	          "mlComputed": true, | ||||
| 	          "dropInSnrPercentage": 30, | ||||
| 	          "minLoadFactor": 40 | ||||
|           } | ||||
|         }, | ||||
|         "forceScanDuringVoice": "disabled", | ||||
|         "legacyBSSRate": "enabled", | ||||
|         "beaconInterval": 100, | ||||
|         "deauthAttackDetection": null | ||||
|       }, | ||||
|       "is5GHzU": { | ||||
| @@ -208,39 +166,24 @@ | ||||
|         "radioType": "is5GHzU", | ||||
|         "radioAdminState": "enabled", | ||||
|         "fragmentationThresholdBytes": 2346, | ||||
|         "rtsCtsThreshold": 65535, | ||||
|         "autoChannelSelection": "disabled", | ||||
|         "radioMode": "modeAC", | ||||
|         "mimoMode": "twoByTwo", | ||||
|         "wmmState": "enabled", | ||||
|         "uapsdState": "enabled", | ||||
|         "maxNumClients": 100, | ||||
|         "stationIsolation": "disabled", | ||||
|         "multicastRate": "auto", | ||||
|         "managementRate": "auto", | ||||
|         "activeScanSettings": { | ||||
|           "model_type": "ActiveScanSettings", | ||||
|           "enabled": true, | ||||
|           "scanFrequencySeconds": 10, | ||||
|           "scanDurationMillis": 65 | ||||
|         }, | ||||
|         "channelHopSettings": { | ||||
|           "model_type": "ChannelHopSettings", | ||||
|           "noiseFloorThresholdInDB": -75, | ||||
|           "noiseFloorThresholdTimeInSeconds": 180, | ||||
|           "nonWifiThresholdInPercentage": 50, | ||||
|           "nonWifiThresholdTimeInSeconds": 180, | ||||
|           "obssHopMode": "NON_WIFI" | ||||
|         "managementRate": { | ||||
|           "model_type": "SourceSelectionManagement", | ||||
|           "source": "auto", | ||||
|           "value": "auto" | ||||
|         }, | ||||
|         "bestApSettings": { | ||||
|           "model_type": "RadioBestApSettings", | ||||
|           "mlComputed": true, | ||||
|           "dropInSnrPercentage": 30, | ||||
|           "minLoadFactor": 40 | ||||
|         "model_type": "SourceSelectionSteering", | ||||
|           "source": "auto", | ||||
|           "value": { | ||||
| 	          "model_type": "RadioBestApSettings", | ||||
| 	          "mlComputed": true, | ||||
| 	          "dropInSnrPercentage": 30, | ||||
| 	          "minLoadFactor": 40 | ||||
|           } | ||||
|         }, | ||||
|         "forceScanDuringVoice": "disabled", | ||||
|         "legacyBSSRate": "enabled", | ||||
|         "beaconInterval": 100, | ||||
|         "deauthAttackDetection": null | ||||
|       }, | ||||
|       "is5GHzL": { | ||||
| @@ -248,39 +191,24 @@ | ||||
|         "radioType": "is5GHzL", | ||||
|         "radioAdminState": "enabled", | ||||
|         "fragmentationThresholdBytes": 2346, | ||||
|         "rtsCtsThreshold": 65535, | ||||
|         "autoChannelSelection": "disabled", | ||||
|         "radioMode": "modeAC", | ||||
|         "mimoMode": "twoByTwo", | ||||
|         "wmmState": "enabled", | ||||
|         "uapsdState": "enabled", | ||||
|         "maxNumClients": 100, | ||||
|         "stationIsolation": "disabled", | ||||
|         "multicastRate": "auto", | ||||
|         "managementRate": "auto", | ||||
|         "activeScanSettings": { | ||||
|           "model_type": "ActiveScanSettings", | ||||
|           "enabled": true, | ||||
|           "scanFrequencySeconds": 10, | ||||
|           "scanDurationMillis": 65 | ||||
|         }, | ||||
|         "channelHopSettings": { | ||||
|           "model_type": "ChannelHopSettings", | ||||
|           "noiseFloorThresholdInDB": -75, | ||||
|           "noiseFloorThresholdTimeInSeconds": 180, | ||||
|           "nonWifiThresholdInPercentage": 50, | ||||
|           "nonWifiThresholdTimeInSeconds": 180, | ||||
|           "obssHopMode": "NON_WIFI" | ||||
|         "managementRate": { | ||||
|           "model_type": "SourceSelectionManagement", | ||||
|           "source": "auto", | ||||
|           "value": "auto" | ||||
|         }, | ||||
|         "bestApSettings": { | ||||
|           "model_type": "RadioBestApSettings", | ||||
|           "mlComputed": true, | ||||
|           "dropInSnrPercentage": 30, | ||||
|           "minLoadFactor": 40 | ||||
|         "model_type": "SourceSelectionSteering", | ||||
|           "source": "auto", | ||||
|           "value": { | ||||
| 	          "model_type": "RadioBestApSettings", | ||||
| 	          "mlComputed": true, | ||||
| 	          "dropInSnrPercentage": 30, | ||||
| 	          "minLoadFactor": 40 | ||||
|           } | ||||
|         }, | ||||
|         "forceScanDuringVoice": "disabled", | ||||
|         "legacyBSSRate": "enabled", | ||||
|         "beaconInterval": 100, | ||||
|         "deauthAttackDetection": null | ||||
|       } | ||||
|     } | ||||
| @@ -290,4 +218,4 @@ | ||||
|   "serial": "21P10C68818122", | ||||
|   "createdTimestamp": 1591653239821, | ||||
|   "lastModifiedTimestamp": 1591653241398 | ||||
| } | ||||
| } | ||||
|   | ||||
| @@ -10,55 +10,48 @@ | ||||
|     "countryCode" : "ca", | ||||
|     "maintenanceWindow" : null, | ||||
|     "rrmEnabled" : true, | ||||
|     "dailyRebalancingDetails" : { | ||||
|     "dailyActivityDetails" : { | ||||
|       "SUNDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "MONDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "TUESDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "WEDNESDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "THURSDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "FRIDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "SATURDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 17, | ||||
|     "id": 12, | ||||
|     "customerId": 2, | ||||
|     "profileType": "equipment_ap", | ||||
|     "name": "ApProfile-3-radios", | ||||
| @@ -20,6 +20,11 @@ | ||||
|         "syntheticClientEnabled": true, | ||||
|         "ledControlEnabled": true, | ||||
|         "equipmentDiscovery": false, | ||||
|         "greTunnelName": null, | ||||
|         "greParentIfName": null, | ||||
|         "greLocalInetAddr": null, | ||||
|         "greRemoteInetAddr": null, | ||||
|         "greRemoteMacAddr": null, | ||||
|         "radioMap": { | ||||
|             "is2dot4GHz": { | ||||
|                 "model_type": "RadioProfileConfiguration", | ||||
| @@ -39,12 +44,13 @@ | ||||
|         }, | ||||
|         "profileType": "equipment_ap" | ||||
|     }, | ||||
|     "createdTimestamp": 1602182806348, | ||||
|     "lastModifiedTimestamp": 1602182806348, | ||||
|     "createdTimestamp": 1606778369934, | ||||
|     "lastModifiedTimestamp": 1606778443413, | ||||
|     "childProfileIds": [ | ||||
|         2, | ||||
|         16, | ||||
|         5, | ||||
|         10, | ||||
|         11, | ||||
|         13 | ||||
|         15 | ||||
|     ] | ||||
| } | ||||
| @@ -1,72 +1,71 @@ | ||||
| [ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 10, | ||||
|     "customerId": 2, | ||||
|     "profileType": "hotspot_2pt0", | ||||
|     "name": "TipWlan-Hotspot20-Config", | ||||
|     "details": { | ||||
|         "model_type": "Hotspot2Profile", | ||||
|         "enableInterworkingAndHs20": true, | ||||
|         "hessid": null, | ||||
|         "accessNetworkType": "free_public_network", | ||||
|         "networkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
|         "additionalStepsRequiredForAccess": 0, | ||||
|         "deauthRequestTimeout": 0, | ||||
|         "operatingClass": 0, | ||||
|         "termsAndConditionsFile": { | ||||
|             "model_type": "ManagedFileInfo", | ||||
|             "md5checksum": null, | ||||
|             "lastModifiedTimestamp": null, | ||||
|             "apExportUrl": "https://localhost:9091/filestore/termsAndConditions", | ||||
|             "fileCategory": "ExternalPolicyConfiguration", | ||||
|             "fileType": "TEXT", | ||||
|             "altSlot": false | ||||
|         }, | ||||
|         "whitelistDomain": null, | ||||
|         "emergencyServicesReachable": true, | ||||
|         "unauthenticatedEmergencyServiceAccessible": false, | ||||
|         "internetConnectivity": true, | ||||
|         "connectionCapabilitySet": [ | ||||
|             { | ||||
|                 "model_type": "ConnectionCapability", | ||||
|                 "connectionCapabilitiesPortNumber": 8888, | ||||
|                 "connectionCapabilitiesIpProtocol": "TCP", | ||||
|                 "connectionCapabilitiesStatus": "open" | ||||
|             } | ||||
|         ], | ||||
|         "ipAddressTypeAvailability": "public_IPv4_address_available", | ||||
|         "qosMapSetConfiguration": null, | ||||
|         "apGeospatialLocation": null, | ||||
|         "apCivicLocation": null, | ||||
|         "apPublicLocationIdUri": null, | ||||
|         "gasAddr3Behaviour": "p2pSpecWorkaroundFromRequest", | ||||
|         "anqpDomainId": 1234, | ||||
|         "disableDownstreamGroupAddressedForwarding": false, | ||||
|         "enable2pt4GHz": true, | ||||
|         "enable5GHz": true, | ||||
|         "associatedAccessSsidNames": [ | ||||
|             "TipWlan-cloud-hotspot-access" | ||||
|         ], | ||||
|         "osuSsidName": "TipWlan-cloud-3-radios", | ||||
|         "operatorProfileName": "TipWlan-Hotspot20-Operator", | ||||
|         "venueProfileName": "TipWlan-Hotspot20-Venue", | ||||
|         "idProviderProfileNames": [ | ||||
|             "TipWlan-Hotspot20-OSU-Provider-2", | ||||
|             "TipWlan-Hotspot20-OSU-Provider" | ||||
|         ], | ||||
|         "profileType": "hotspot_2pt0", | ||||
|         "associatedSsids": [ | ||||
|             "TipWlan-cloud-hotspot-access" | ||||
|         ] | ||||
|     }, | ||||
|     "createdTimestamp": 1602182806040, | ||||
|     "lastModifiedTimestamp": 1602182806040, | ||||
|     "childProfileIds": [ | ||||
|         6, | ||||
|         7, | ||||
|         8, | ||||
|         9 | ||||
|     ] | ||||
| } | ||||
| ] | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 24, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint", | ||||
| 		"name": "TipWlan-Passpoint-Config", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointProfile", | ||||
| 			"enableInterworkingAndHs20": true, | ||||
| 			"hessid": null, | ||||
| 			"passpointAccessNetworkType": "free_public_network", | ||||
| 			"passpointNetworkAuthenticationType": "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": "PasspointConnectionCapability", | ||||
| 					"connectionCapabilitiesPortNumber": 8888, | ||||
| 					"connectionCapabilitiesStatus": "open", | ||||
| 					"connectionCapabilitiesIpProtocol": "TCP" | ||||
| 				} | ||||
| 			], | ||||
| 			"ipAddressTypeAvailability": "public_IPv4_address_available", | ||||
| 			"qosMapSetConfiguration": null, | ||||
| 			"apGeospatialLocation": null, | ||||
| 			"apCivicLocation": null, | ||||
| 			"apPublicLocationIdUri": null, | ||||
| 			"gasAddr3Behaviour": "p2pSpecWorkaroundFromRequest", | ||||
| 			"anqpDomainId": 1234, | ||||
| 			"disableDownstreamGroupAddressedForwarding": false, | ||||
| 			"enable2pt4GHz": true, | ||||
| 			"enable5GHz": true, | ||||
| 			"associatedAccessSsidProfileIds": [ | ||||
| 				15 | ||||
| 			], | ||||
| 			"osuSsidProfileId": 16, | ||||
| 			"passpointOperatorProfileId": 17, | ||||
| 			"passpointVenueProfileId": 18, | ||||
| 			"passpointOsuProviderProfileIds": [ | ||||
| 				19, | ||||
| 				20 | ||||
| 			], | ||||
| 			"accessNetworkType": "free_public_network", | ||||
| 			"networkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
| 			"profileType": "passpoint" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370807, | ||||
| 		"lastModifiedTimestamp": 1606778370807, | ||||
| 		"childProfileIds": [ | ||||
| 			17, | ||||
| 			18, | ||||
| 			19, | ||||
| 			20 | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,256 +1,270 @@ | ||||
| [ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 8, | ||||
|     "customerId": 2, | ||||
|     "profileType": "id_provider", | ||||
|     "name": "TipWlan-Hotspot20-OSU-Provider", | ||||
|     "details": { | ||||
|         "model_type": "Hotspot20IdProviderProfile", | ||||
|         "domainName": "rogers.com", | ||||
|         "mccMncList": [ | ||||
|             { | ||||
|                 "model_type": "MccMnc", | ||||
|                 "mcc": 302, | ||||
|                 "mnc": 720, | ||||
|                 "iso": "ca", | ||||
|                 "country": "Canada", | ||||
|                 "countryCode": 1, | ||||
|                 "network": "Rogers AT&T Wireless", | ||||
|                 "mccMncPairing": "302,720" | ||||
|             } | ||||
|         ], | ||||
|         "naiRealmList": [ | ||||
|             { | ||||
|                 "model_type": "NaiRealmInformation", | ||||
|                 "naiRealms": [ | ||||
|                     "rogers.com" | ||||
|                 ], | ||||
|                 "encoding": 0, | ||||
|                 "eapMethods": [ | ||||
|                     "EAP-TTLS with username/password", | ||||
|                     "EAP-TLS with certificate" | ||||
|                 ], | ||||
|                 "eapMap": { | ||||
|                     "EAP-TTLS with username/password": [ | ||||
|                         "Credential Type:username/password", | ||||
|                         "Non-EAP Inner Authentication Type:MSCHAPV2" | ||||
|                     ], | ||||
|                     "EAP-TLS with certificate": [ | ||||
|                         "Credential Type:Certificate" | ||||
|                     ] | ||||
|                 } | ||||
|             } | ||||
|         ], | ||||
|         "osuIconList": [ | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "eng", | ||||
|                 "iconLocale": "en_CA", | ||||
|                 "iconName": "icon32eng", | ||||
|                 "filePath": "/tmp/icon32eng.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32eng.png", | ||||
|                 "hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "fra", | ||||
|                 "iconLocale": "fr_CA", | ||||
|                 "iconName": "icon32fra", | ||||
|                 "filePath": "/tmp/icon32fra.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32fra.png", | ||||
|                 "hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "eng", | ||||
|                 "iconLocale": "en_US", | ||||
|                 "iconName": "icon32usa", | ||||
|                 "filePath": "/tmp/icon32usa.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32usa.png", | ||||
|                 "hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png" | ||||
|             } | ||||
|         ], | ||||
|         "osuServerUri": "https://example.com/osu/rogers/", | ||||
|         "osuFriendlyName": [ | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "en_CA", | ||||
|                 "dupleIso3Language": "eng", | ||||
|                 "dupleName": "Example provider rogers", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "eng:Example provider rogers" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "fr_CA", | ||||
|                 "dupleIso3Language": "fra", | ||||
|                 "dupleName": "Exemple de fournisseur rogers", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "fra:Exemple de fournisseur rogers" | ||||
|             } | ||||
|         ], | ||||
|         "osuNaiStandalone": "anonymous@rogers.com", | ||||
|         "osuNaiShared": "anonymous@rogers.com", | ||||
|         "osuMethodList": [ | ||||
|             1, | ||||
|             0 | ||||
|         ], | ||||
|         "osuServiceDescription": [ | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "en_CA", | ||||
|                 "dupleIso3Language": "eng", | ||||
|                 "dupleName": "Example services rogers", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "eng:Example services rogers" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "fr_CA", | ||||
|                 "dupleIso3Language": "fra", | ||||
|                 "dupleName": "Exemples de services rogers", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "fra:Exemples de services rogers" | ||||
|             } | ||||
|         ], | ||||
|         "profileType": "id_provider" | ||||
|     }, | ||||
|     "createdTimestamp": 1602182805654, | ||||
|     "lastModifiedTimestamp": 1602182805654, | ||||
|     "childProfileIds": [] | ||||
| }, | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 9, | ||||
|     "customerId": 2, | ||||
|     "profileType": "id_provider", | ||||
|     "name": "TipWlan-Hotspot20-OSU-Provider-2", | ||||
|     "details": { | ||||
|         "model_type": "Hotspot20IdProviderProfile", | ||||
|         "domainName": "telus.com", | ||||
|         "mccMncList": [ | ||||
|             { | ||||
|                 "model_type": "MccMnc", | ||||
|                 "mcc": 302, | ||||
|                 "mnc": 220, | ||||
|                 "iso": "ca", | ||||
|                 "country": "Canada", | ||||
|                 "countryCode": 1, | ||||
|                 "network": "Telus Mobility", | ||||
|                 "mccMncPairing": "302,220" | ||||
|             } | ||||
|         ], | ||||
|         "naiRealmList": [ | ||||
|             { | ||||
|                 "model_type": "NaiRealmInformation", | ||||
|                 "naiRealms": [ | ||||
|                     "telus.com" | ||||
|                 ], | ||||
|                 "encoding": 0, | ||||
|                 "eapMethods": [ | ||||
|                     "EAP-TTLS with username/password", | ||||
|                     "EAP-TLS with certificate" | ||||
|                 ], | ||||
|                 "eapMap": { | ||||
|                     "EAP-TTLS with username/password": [ | ||||
|                         "Credential Type:username/password", | ||||
|                         "Non-EAP Inner Authentication Type:MSCHAPV2" | ||||
|                     ], | ||||
|                     "EAP-TLS with certificate": [ | ||||
|                         "Credential Type:Certificate" | ||||
|                     ] | ||||
|                 } | ||||
|             } | ||||
|         ], | ||||
|         "osuIconList": [ | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "eng", | ||||
|                 "iconLocale": "en_CA", | ||||
|                 "iconName": "icon32eng", | ||||
|                 "filePath": "/tmp/icon32eng.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32eng.png", | ||||
|                 "hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "fra", | ||||
|                 "iconLocale": "fr_CA", | ||||
|                 "iconName": "icon32fra", | ||||
|                 "filePath": "/tmp/icon32fra.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32fra.png", | ||||
|                 "hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "eng", | ||||
|                 "iconLocale": "en_US", | ||||
|                 "iconName": "icon32usa", | ||||
|                 "filePath": "/tmp/icon32usa.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32usa.png", | ||||
|                 "hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png" | ||||
|             } | ||||
|         ], | ||||
|         "osuServerUri": "https://example.com/osu/telus/", | ||||
|         "osuFriendlyName": [ | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "en_CA", | ||||
|                 "dupleIso3Language": "eng", | ||||
|                 "dupleName": "Example provider telus", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "eng:Example provider telus" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "fr_CA", | ||||
|                 "dupleIso3Language": "fra", | ||||
|                 "dupleName": "Exemple de fournisseur telus", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "fra:Exemple de fournisseur telus" | ||||
|             } | ||||
|         ], | ||||
|         "osuNaiStandalone": "anonymous@telus.com", | ||||
|         "osuNaiShared": "anonymous@telus.com", | ||||
|         "osuMethodList": [ | ||||
|             1, | ||||
|             0 | ||||
|         ], | ||||
|         "osuServiceDescription": [ | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "en_CA", | ||||
|                 "dupleIso3Language": "eng", | ||||
|                 "dupleName": "Example services telus", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "eng:Example services telus" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "fr_CA", | ||||
|                 "dupleIso3Language": "fra", | ||||
|                 "dupleName": "Exemples de services telus", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "fra:Exemples de services telus" | ||||
|             } | ||||
|         ], | ||||
|         "profileType": "id_provider" | ||||
|     }, | ||||
|     "createdTimestamp": 1602182805660, | ||||
|     "lastModifiedTimestamp": 1602182805660, | ||||
|     "childProfileIds": [] | ||||
| } | ||||
|     ] | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 19, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "rogers.com", | ||||
| 			"mccMncList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointMccMnc", | ||||
| 					"mcc": 302, | ||||
| 					"mnc": 720, | ||||
| 					"iso": "ca", | ||||
| 					"country": "Canada", | ||||
| 					"countryCode": 1, | ||||
| 					"network": "Rogers AT&T Wireless", | ||||
| 					"mccMncPairing": "302,720" | ||||
| 				} | ||||
| 			], | ||||
| 			"naiRealmList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointNaiRealmInformation", | ||||
| 					"naiRealms": [ | ||||
| 						"rogers.com" | ||||
| 					], | ||||
| 					"encoding": 0, | ||||
| 					"eapMethods": [ | ||||
| 						"EAP-TTLS with username/password", | ||||
| 						"EAP-TLS with certificate" | ||||
| 					], | ||||
| 					"eapMap": { | ||||
| 						"EAP-TTLS with username/password": [ | ||||
| 							"Credential Type:username/password", | ||||
| 							"Non-EAP Inner Authentication Type:MSCHAPV2" | ||||
| 						], | ||||
| 						"EAP-TLS with certificate": [ | ||||
| 							"Credential Type:Certificate" | ||||
| 						] | ||||
| 					} | ||||
| 				} | ||||
| 			], | ||||
| 			"osuIconList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "eng", | ||||
| 					"iconLocale": "en_CA", | ||||
| 					"iconName": "icon32eng", | ||||
| 					"filePath": "/tmp/icon32eng.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32eng.png", | ||||
| 					"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "fra", | ||||
| 					"iconLocale": "fr_CA", | ||||
| 					"iconName": "icon32fra", | ||||
| 					"filePath": "/tmp/icon32fra.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32fra.png", | ||||
| 					"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "eng", | ||||
| 					"iconLocale": "en_US", | ||||
| 					"iconName": "icon32usa", | ||||
| 					"filePath": "/tmp/icon32usa.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32usa.png", | ||||
| 					"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png" | ||||
| 				} | ||||
| 			], | ||||
| 			"osuServerUri": "https://example.com/osu/rogers", | ||||
| 			"osuFriendlyName": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example provider rogers", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Example provider rogers" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemple de fournisseur rogers", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "fra:Exemple de fournisseur rogers" | ||||
| 				} | ||||
| 			], | ||||
| 			"osuNaiStandalone": "anonymous@rogers.com", | ||||
| 			"osuNaiShared": "anonymous@rogers.com", | ||||
| 			"osuMethodList": [ | ||||
| 				1, | ||||
| 				0 | ||||
| 			], | ||||
| 			"osuServiceDescription": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example services rogers", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Example services rogers" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemples de services rogers", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "fra:Exemples de services rogers" | ||||
| 				} | ||||
| 			], | ||||
| 			"roamingOi": [ | ||||
| 				1, | ||||
| 				2, | ||||
| 				3, | ||||
| 				4 | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370345, | ||||
| 		"lastModifiedTimestamp": 1606778370345, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 20, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider-2", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "telus.com", | ||||
| 			"mccMncList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointMccMnc", | ||||
| 					"mcc": 302, | ||||
| 					"mnc": 220, | ||||
| 					"iso": "ca", | ||||
| 					"country": "Canada", | ||||
| 					"countryCode": 1, | ||||
| 					"network": "Telus Mobility", | ||||
| 					"mccMncPairing": "302,220" | ||||
| 				} | ||||
| 			], | ||||
| 			"naiRealmList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointNaiRealmInformation", | ||||
| 					"naiRealms": [ | ||||
| 						"telus.com" | ||||
| 					], | ||||
| 					"encoding": 0, | ||||
| 					"eapMethods": [ | ||||
| 						"EAP-TTLS with username/password", | ||||
| 						"EAP-TLS with certificate" | ||||
| 					], | ||||
| 					"eapMap": { | ||||
| 						"EAP-TTLS with username/password": [ | ||||
| 							"Credential Type:username/password", | ||||
| 							"Non-EAP Inner Authentication Type:MSCHAPV2" | ||||
| 						], | ||||
| 						"EAP-TLS with certificate": [ | ||||
| 							"Credential Type:Certificate" | ||||
| 						] | ||||
| 					} | ||||
| 				} | ||||
| 			], | ||||
| 			"osuIconList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "eng", | ||||
| 					"iconLocale": "en_CA", | ||||
| 					"iconName": "icon32eng", | ||||
| 					"filePath": "/tmp/icon32eng.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32eng.png", | ||||
| 					"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "fra", | ||||
| 					"iconLocale": "fr_CA", | ||||
| 					"iconName": "icon32fra", | ||||
| 					"filePath": "/tmp/icon32fra.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32fra.png", | ||||
| 					"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "eng", | ||||
| 					"iconLocale": "en_US", | ||||
| 					"iconName": "icon32usa", | ||||
| 					"filePath": "/tmp/icon32usa.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32usa.png", | ||||
| 					"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png" | ||||
| 				} | ||||
| 			], | ||||
| 			"osuServerUri": "https://example.com/osu/telus", | ||||
| 			"osuFriendlyName": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example provider telus", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Example provider telus" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemple de fournisseur telus", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "fra:Exemple de fournisseur telus" | ||||
| 				} | ||||
| 			], | ||||
| 			"osuNaiStandalone": "anonymous@telus.com", | ||||
| 			"osuNaiShared": "anonymous@telus.com", | ||||
| 			"osuMethodList": [ | ||||
| 				1, | ||||
| 				0 | ||||
| 			], | ||||
| 			"osuServiceDescription": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example services telus", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Example services telus" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemples de services telus", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "fra:Exemples de services telus" | ||||
| 				} | ||||
| 			], | ||||
| 			"roamingOi": [ | ||||
| 				1, | ||||
| 				2, | ||||
| 				3, | ||||
| 				4 | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370351, | ||||
| 		"lastModifiedTimestamp": 1606778370351, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,298 +1,299 @@ | ||||
| [ | ||||
|  { | ||||
|         "model_type": "Profile", | ||||
|         "id": 2, | ||||
|         "customerId": 2, | ||||
|         "profileType": "metrics", | ||||
|         "name": "Metrics-Profile-3-radios", | ||||
|         "details": { | ||||
|             "model_type": "ServiceMetricsCollectionConfigProfile", | ||||
|             "radioTypes": [ | ||||
|                 "is5GHzU", | ||||
|                 "is5GHzL", | ||||
|                 "is2dot4GHz" | ||||
|             ], | ||||
|             "serviceMetricDataTypes": [ | ||||
|                 "ApNode", | ||||
|                 "ApSsid", | ||||
|                 "Client", | ||||
|                 "Channel", | ||||
|                 "Neighbour" | ||||
|             ], | ||||
|             "metricConfigParameterMap": { | ||||
|                 "ApNode": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     } | ||||
|                 ], | ||||
|                 "ApSsid": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "ApSsid" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "ApSsid" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "ApSsid" | ||||
|                     } | ||||
|                 ], | ||||
|                 "Client": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Client" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Client" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Client" | ||||
|                     } | ||||
|                 ], | ||||
|                 "Channel": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     } | ||||
|                 ], | ||||
|                 "Neighbour": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     } | ||||
|                 ] | ||||
|             }, | ||||
|             "profileType": "metrics" | ||||
|         }, | ||||
|         "createdTimestamp": 1602113058699, | ||||
|         "lastModifiedTimestamp": 1602113058699, | ||||
|         "childProfileIds": [] | ||||
|     } | ||||
| ] | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 10, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "service_metrics_collection_config", | ||||
| 		"name": "Metrics-Profile-3-Radios", | ||||
| 		"details": { | ||||
| 			"model_type": "ServiceMetricsCollectionConfigProfile", | ||||
| 			"radioTypes": [ | ||||
| 				"is5GHzL", | ||||
| 				"is2dot4GHz", | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"serviceMetricDataTypes": [ | ||||
| 				"ApNode", | ||||
| 				"ApSsid", | ||||
| 				"Client", | ||||
| 				"Channel", | ||||
| 				"Neighbour" | ||||
| 			], | ||||
| 			"metricConfigParameterMap": { | ||||
| 				"ApNode": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"ApSsid": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					} | ||||
| 				], | ||||
| 				"Client": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Client" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Client" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Client" | ||||
| 					} | ||||
| 				], | ||||
| 				"Channel": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"Neighbour": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				] | ||||
| 			}, | ||||
| 			"profileType": "service_metrics_collection_config" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369931, | ||||
| 		"lastModifiedTimestamp": 1606778369931, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,37 +1,37 @@ | ||||
| [ | ||||
| { | ||||
|         "model_type": "Profile", | ||||
|         "id": 6, | ||||
|         "customerId": 2, | ||||
|         "profileType": "operator", | ||||
|         "name": "TipWlan-Hotspot20-Operator", | ||||
|         "details": { | ||||
|             "model_type": "OperatorProfile", | ||||
|             "domainName": "telecominfraproject.atlassian.net", | ||||
|             "serverOnlyAuthenticatedL2EncryptionNetwork": false, | ||||
|             "x509CertificateLocation": "/etc/ca.pem", | ||||
|             "operatorFriendlyName": [ | ||||
|                 { | ||||
|                     "model_type": "Hotspot20Duple", | ||||
|                     "locale": "en_CA", | ||||
|                     "dupleIso3Language": "eng", | ||||
|                     "dupleName": "Default friendly operator name", | ||||
|                     "defaultDupleSeparator": ":", | ||||
|                     "asDuple": "eng:Default friendly operator name" | ||||
|                 }, | ||||
|                 { | ||||
|                     "model_type": "Hotspot20Duple", | ||||
|                     "locale": "fr_CA", | ||||
|                     "dupleIso3Language": "fra", | ||||
|                     "dupleName": "Nom de l'opérateur convivial par défaut", | ||||
|                     "defaultDupleSeparator": ":", | ||||
|                     "asDuple": "fra:Nom de l'opérateur convivial par défaut" | ||||
|                 } | ||||
|             ], | ||||
|             "profileType": "operator" | ||||
|         }, | ||||
|         "createdTimestamp": 1602113058719, | ||||
|         "lastModifiedTimestamp": 1602113058719, | ||||
|         "childProfileIds": [] | ||||
|     } | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 17, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_operator", | ||||
| 		"name": "TipWlan-Passpoint-Operator", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOperatorProfile", | ||||
| 			"serverOnlyAuthenticatedL2EncryptionNetwork": false, | ||||
| 			"x509CertificateLocation": "/etc/ca.pem", | ||||
| 			"operatorFriendlyName": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Default friendly passpoint_operator name", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Default friendly passpoint_operator name" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"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": "passpoint_operator" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369945, | ||||
| 		"lastModifiedTimestamp": 1606778369945, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 13, | ||||
|     "id": 11, | ||||
|     "customerId": 2, | ||||
|     "profileType": "rf", | ||||
|     "name": "TipWlan-rf", | ||||
| @@ -9,6 +9,8 @@ | ||||
|         "rfConfigMap": { | ||||
|             "is5GHz": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHz", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
| @@ -16,7 +18,6 @@ | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "multicastRate": "auto", | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
| @@ -24,33 +25,12 @@ | ||||
|                     "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 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
| @@ -60,6 +40,13 @@ | ||||
|                     "nonWifiThresholdTimeInSeconds": 180, | ||||
|                     "obssHopMode": "NON_WIFI" | ||||
|                 }, | ||||
|                 "bestApEnabled": null, | ||||
|                 "multicastRate": "auto", | ||||
|                 "managementRate": "auto", | ||||
|                 "rxCellSizeDb": -90, | ||||
|                 "probeResponseThresholdDb": -90, | ||||
|                 "clientDisconnectThresholdDb": -90, | ||||
|                 "eirpTxPower": 18, | ||||
|                 "bestApSettings": { | ||||
|                     "model_type": "RadioBestApSettings", | ||||
|                     "mlComputed": true, | ||||
| @@ -69,6 +56,8 @@ | ||||
|             }, | ||||
|             "is2dot4GHz": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is2dot4GHz", | ||||
|                 "radioMode": "modeN", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
| @@ -76,7 +65,6 @@ | ||||
|                 "channelBandwidth": "is20MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "multicastRate": "auto", | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
| @@ -84,33 +72,12 @@ | ||||
|                     "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 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
| @@ -120,6 +87,13 @@ | ||||
|                     "nonWifiThresholdTimeInSeconds": 180, | ||||
|                     "obssHopMode": "NON_WIFI" | ||||
|                 }, | ||||
|                 "bestApEnabled": null, | ||||
|                 "multicastRate": "auto", | ||||
|                 "managementRate": "auto", | ||||
|                 "rxCellSizeDb": -90, | ||||
|                 "probeResponseThresholdDb": -90, | ||||
|                 "clientDisconnectThresholdDb": -90, | ||||
|                 "eirpTxPower": 18, | ||||
|                 "bestApSettings": { | ||||
|                     "model_type": "RadioBestApSettings", | ||||
|                     "mlComputed": true, | ||||
| @@ -129,6 +103,8 @@ | ||||
|             }, | ||||
|             "is5GHzU": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzU", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
| @@ -136,7 +112,6 @@ | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "multicastRate": "auto", | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
| @@ -144,33 +119,12 @@ | ||||
|                     "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 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
| @@ -180,6 +134,13 @@ | ||||
|                     "nonWifiThresholdTimeInSeconds": 180, | ||||
|                     "obssHopMode": "NON_WIFI" | ||||
|                 }, | ||||
|                 "bestApEnabled": null, | ||||
|                 "multicastRate": "auto", | ||||
|                 "managementRate": "auto", | ||||
|                 "rxCellSizeDb": -90, | ||||
|                 "probeResponseThresholdDb": -90, | ||||
|                 "clientDisconnectThresholdDb": -90, | ||||
|                 "eirpTxPower": 18, | ||||
|                 "bestApSettings": { | ||||
|                     "model_type": "RadioBestApSettings", | ||||
|                     "mlComputed": true, | ||||
| @@ -189,6 +150,8 @@ | ||||
|             }, | ||||
|             "is5GHzL": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzL", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
| @@ -196,7 +159,6 @@ | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "multicastRate": "auto", | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
| @@ -204,33 +166,12 @@ | ||||
|                     "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 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
| @@ -240,6 +181,13 @@ | ||||
|                     "nonWifiThresholdTimeInSeconds": 180, | ||||
|                     "obssHopMode": "NON_WIFI" | ||||
|                 }, | ||||
|                 "bestApEnabled": null, | ||||
|                 "multicastRate": "auto", | ||||
|                 "managementRate": "auto", | ||||
|                 "rxCellSizeDb": -90, | ||||
|                 "probeResponseThresholdDb": -90, | ||||
|                 "clientDisconnectThresholdDb": -90, | ||||
|                 "eirpTxPower": 18, | ||||
|                 "bestApSettings": { | ||||
|                     "model_type": "RadioBestApSettings", | ||||
|                     "mlComputed": true, | ||||
| @@ -250,7 +198,7 @@ | ||||
|         }, | ||||
|         "profileType": "rf" | ||||
|     }, | ||||
|     "createdTimestamp": 1602182806063, | ||||
|     "lastModifiedTimestamp": 1602182806063, | ||||
|     "createdTimestamp": 1606778369933, | ||||
|     "lastModifiedTimestamp": 1606778369933, | ||||
|     "childProfileIds": [] | ||||
| } | ||||
| @@ -4,72 +4,6 @@ | ||||
| 		"id": 5, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-hotspot-access", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-access", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzU", | ||||
| 				"is5GHzL", | ||||
| 				"is2dot4GHz" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "wpa2PSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": "testing123", | ||||
| 			"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": 1602113058718, | ||||
| 		"lastModifiedTimestamp": 1602113059547, | ||||
| 		"childProfileIds": [ | ||||
| 			10 | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 11, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-3-radios", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| @@ -80,13 +14,15 @@ | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "open", | ||||
| 			"secureMode": "wpa2OnlyPSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": null, | ||||
| 			"keyStr": "openwifi", | ||||
| 			"broadcastSsid": "enabled", | ||||
| 			"keyRefresh": 0, | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -94,7 +30,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -106,17 +42,83 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				} | ||||
| 			}, | ||||
| 			"bonjourGatewayProfileId": null, | ||||
| 			"enable80211w": null, | ||||
| 			"wepConfig": null, | ||||
| 			"forwardMode": "BRIDGE", | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369598, | ||||
| 		"lastModifiedTimestamp": 1606778369598, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 15, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-passpoint-access", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-access", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "wpa2PSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": "testing123", | ||||
| 			"broadcastSsid": "enabled", | ||||
| 			"keyRefresh": 0, | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| 			"clientBandwidthLimitDown": 0, | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is2dot4GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				} | ||||
| 			}, | ||||
| 			"bonjourGatewayProfileId": null, | ||||
| @@ -125,10 +127,77 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1602183994766, | ||||
| 		"lastModifiedTimestamp": 1602183994766, | ||||
| 		"createdTimestamp": 1606778369943, | ||||
| 		"lastModifiedTimestamp": 1606778370811, | ||||
| 		"childProfileIds": [ | ||||
| 			10 | ||||
| 			24 | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 16, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-passpoint-osu", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-osu", | ||||
| 			"appliedRadios": [ | ||||
| 				"is2dot4GHz" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "open", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": null, | ||||
| 			"broadcastSsid": "enabled", | ||||
| 			"keyRefresh": 0, | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| 			"clientBandwidthLimitDown": 0, | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is2dot4GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				} | ||||
| 			}, | ||||
| 			"bonjourGatewayProfileId": null, | ||||
| 			"enable80211w": null, | ||||
| 			"wepConfig": null, | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369944, | ||||
| 		"lastModifiedTimestamp": 1606778370352, | ||||
| 		"childProfileIds": [ | ||||
| 			19, | ||||
| 			20 | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,42 +1,43 @@ | ||||
| [ | ||||
|     { | ||||
|         "model_type": "Profile", | ||||
|         "id": 7, | ||||
|         "customerId": 2, | ||||
|         "profileType": "venue", | ||||
|         "name": "TipWlan-Hotspot20-Venue", | ||||
|         "details": { | ||||
|             "model_type": "VenueProfile", | ||||
|             "venueNameSet": [ | ||||
|                 { | ||||
|                     "model_type": "VenueName", | ||||
|                     "locale": "fr_CA", | ||||
|                     "dupleIso3Language": "fra", | ||||
|                     "dupleName": "Exemple de lieu", | ||||
|                     "defaultDupleSeparator": ":", | ||||
|                     "venueUrl": "http://www.example.com/info-fra", | ||||
|                     "asDuple": "fra:Exemple de lieu" | ||||
|                 }, | ||||
|                 { | ||||
|                     "model_type": "VenueName", | ||||
|                     "locale": "en_CA", | ||||
|                     "dupleIso3Language": "eng", | ||||
|                     "dupleName": "Example venue", | ||||
|                     "defaultDupleSeparator": ":", | ||||
|                     "venueUrl": "http://www.example.com/info-eng", | ||||
|                     "asDuple": "eng:Example venue" | ||||
|                 } | ||||
|             ], | ||||
|             "venueTypeAssignment": { | ||||
|                 "model_type": "VenueTypeAssignment", | ||||
|                 "venueDescription": "Research and Development Facility", | ||||
|                 "venueGroupId": 2, | ||||
|                 "venueTypeId": 8 | ||||
|             }, | ||||
|             "profileType": "venue" | ||||
|         }, | ||||
|         "createdTimestamp": 1602113058725, | ||||
|         "lastModifiedTimestamp": 1602113058725, | ||||
|         "childProfileIds": [] | ||||
|     } | ||||
| ] | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 18, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_venue", | ||||
| 		"name": "TipWlan-Passpoint-Venue", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointVenueProfile", | ||||
| 			"venueNameSet": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointVenueName", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemple de lieu", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"venueUrl": "http://www.example.com/info-fra", | ||||
| 					"asDuple": "fra:Exemple de lieu" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointVenueName", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example passpoint_venue", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"venueUrl": "http://www.example.com/info-eng", | ||||
| 					"asDuple": "eng:Example passpoint_venue" | ||||
| 				} | ||||
| 			], | ||||
| 			"venueTypeAssignment": { | ||||
| 				"model_type": "PasspointVenueTypeAssignment", | ||||
| 				"venueDescription": "Research and Development Facility", | ||||
| 				"venueGroupId": 2, | ||||
| 				"venueTypeId": 8 | ||||
| 			}, | ||||
| 			"profileType": "passpoint_venue" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369950, | ||||
| 		"lastModifiedTimestamp": 1606778369950, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -20,10 +20,10 @@ | ||||
|  | ||||
| 			<modules> | ||||
| 				<module>../opensync-ext-interface</module> | ||||
| 				<module>../opensync-ext-static</module> | ||||
| 				<module>../opensync-ext-cloud</module> | ||||
| 				<module>../opensync-gateway</module> | ||||
| 				<module>../opensync-ext-static</module> | ||||
| 				<module>../opensync-gateway-static-process</module> | ||||
| 				<module>../opensync-ext-cloud</module> | ||||
| 				<module>../opensync-gateway-cloud-process</module> | ||||
| 			</modules> | ||||
| 		</profile> | ||||
|   | ||||
| @@ -20,6 +20,11 @@ SSC_SERVER_HOST="${SSC_SERVER}" | ||||
| ALL_IN_ONE_HOST="${INTEGRATED_SERVER}" | ||||
| FILE_STORE_DIRECTORY="${FILE_STORE_DIRECTORY_INTERNAL:=/tmp/filestore}" | ||||
| FILE_STORE_EXTERNAL_URL="${FILE_STORE_URL}" | ||||
| MQTT_BROKER_EXTERNAL_PORT="${MQTT_BROKER_EXTERNAL_PORT}" | ||||
| OVSDB_EXTERNAL_PORT="${OVSDB_EXTERNAL_PORT}" | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| OVSDB_PROPS=" " | ||||
| OVSDB_PROPS+=" -Dtip.wlan.ovsdb.managerAddr=$OVSDB_MANAGER_HOST" | ||||
| @@ -33,6 +38,8 @@ OVSDB_PROPS+=" -Dtip.wlan.ovsdb.configFileName=/app/opensync/config_2_ssids.json | ||||
| MQTT_PROPS=" " | ||||
| MQTT_PROPS+=" -Dtip.wlan.mqttBroker.address.internal=$MQTT_BROKER_HOST_INTERNAL" | ||||
| MQTT_PROPS+=" -Dtip.wlan.mqttBroker.address.external=$MQTT_BROKER_HOST_EXTERNAL" | ||||
| MQTT_PROPS+=" -Dtip.wlan.ovsdb.externalPort=$OVSDB_EXTERNAL_PORT" | ||||
| MQTT_PROPS+=" -Dtip.wlan.mqttBroker.externalPort=$MQTT_BROKER_EXTERNAL_PORT" | ||||
| MQTT_PROPS+=" -Dtip.wlan.mqttBroker.listenPort=1883" | ||||
|  | ||||
| LOGBACK_CONFIG_FILE="${LOGBACK_CONFIG_FILE:=/app/opensync/logback.xml}" | ||||
|   | ||||
							
								
								
									
										1
									
								
								opensync-gateway-cloud-process/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								opensync-gateway-cloud-process/.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1 +0,0 @@ | ||||
| /target/ | ||||
| @@ -7,6 +7,7 @@ | ||||
|         <listEntry value="1"/> | ||||
|     </listAttribute> | ||||
|     <booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/> | ||||
|     <booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/> | ||||
|     <booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/> | ||||
|     <booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/> | ||||
|     <listAttribute key="org.eclipse.jdt.launching.CLASSPATH"> | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
| 				<artifactId>docker-maven-plugin</artifactId> | ||||
| 				<version>${docker.fabric.version}</version> | ||||
| 				<configuration> | ||||
| 					<verbose>true</verbose> | ||||
| 					<verbose>false</verbose> | ||||
| 					<apiVersion>1.23</apiVersion> | ||||
| 					<images> | ||||
| 						<image> | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|   "model_type": "Equipment", | ||||
|   "id": 51, | ||||
|   "customerId": 2, | ||||
|   "profileId": 5, | ||||
|   "profileId": 12, | ||||
|   "locationId": 8, | ||||
|   "equipmentType": "AP", | ||||
|   "inventoryId": "Test_Client_21P10C68818122", | ||||
| @@ -41,23 +41,23 @@ | ||||
|         "bannedChannels": [], | ||||
|         "allowedChannels": [], | ||||
|         "rxCellSizeDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "probeResponseThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "clientDisconnectThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "eirpTxPower": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": false, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": 32 | ||||
|         }, | ||||
|         "perimeterDetectionEnabled": true, | ||||
| @@ -75,23 +75,23 @@ | ||||
|         "bannedChannels": [], | ||||
|         "allowedChannels": [], | ||||
|         "rxCellSizeDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "probeResponseThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "clientDisconnectThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "eirpTxPower": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": false, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": 32 | ||||
|         }, | ||||
|         "perimeterDetectionEnabled": true, | ||||
| @@ -109,23 +109,23 @@ | ||||
|         "bannedChannels": [], | ||||
|         "allowedChannels": [], | ||||
|         "rxCellSizeDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "probeResponseThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "clientDisconnectThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "eirpTxPower": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": false, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": 32 | ||||
|         }, | ||||
|         "perimeterDetectionEnabled": true, | ||||
| @@ -141,16 +141,22 @@ | ||||
|         "radioType": "is2dot4GHz", | ||||
|         "radioAdminState": "enabled", | ||||
|         "fragmentationThresholdBytes": 2346, | ||||
|         "radioMode": "modeN", | ||||
|         "wmmState": "enabled", | ||||
|         "uapsdState": "enabled", | ||||
|         "stationIsolation": "disabled", | ||||
|         "managementRate": "auto", | ||||
|         "managementRate": { | ||||
|           "model_type": "SourceSelectionManagement", | ||||
|           "source": "auto", | ||||
|           "value": "auto" | ||||
|         }, | ||||
|         "bestApSettings": { | ||||
|           "model_type": "RadioBestApSettings", | ||||
|           "mlComputed": true, | ||||
|           "dropInSnrPercentage": 20, | ||||
|           "minLoadFactor": 50 | ||||
|         "model_type": "SourceSelectionSteering", | ||||
|           "source": "auto", | ||||
|           "value": { | ||||
| 	          "model_type": "RadioBestApSettings", | ||||
| 	          "mlComputed": true, | ||||
| 	          "dropInSnrPercentage": 30, | ||||
| 	          "minLoadFactor": 40 | ||||
|           } | ||||
|         }, | ||||
|         "legacyBSSRate": "enabled", | ||||
|         "deauthAttackDetection": null | ||||
| @@ -160,16 +166,22 @@ | ||||
|         "radioType": "is5GHzU", | ||||
|         "radioAdminState": "enabled", | ||||
|         "fragmentationThresholdBytes": 2346, | ||||
|         "radioMode": "modeAC", | ||||
|         "wmmState": "enabled", | ||||
|         "uapsdState": "enabled", | ||||
|         "stationIsolation": "disabled", | ||||
|         "managementRate": "auto", | ||||
|         "managementRate": { | ||||
|           "model_type": "SourceSelectionManagement", | ||||
|           "source": "auto", | ||||
|           "value": "auto" | ||||
|         }, | ||||
|         "bestApSettings": { | ||||
|           "model_type": "RadioBestApSettings", | ||||
|           "mlComputed": true, | ||||
|           "dropInSnrPercentage": 30, | ||||
|           "minLoadFactor": 40 | ||||
|         "model_type": "SourceSelectionSteering", | ||||
|           "source": "auto", | ||||
|           "value": { | ||||
| 	          "model_type": "RadioBestApSettings", | ||||
| 	          "mlComputed": true, | ||||
| 	          "dropInSnrPercentage": 30, | ||||
| 	          "minLoadFactor": 40 | ||||
|           } | ||||
|         }, | ||||
|         "legacyBSSRate": "enabled", | ||||
|         "deauthAttackDetection": null | ||||
| @@ -179,16 +191,22 @@ | ||||
|         "radioType": "is5GHzL", | ||||
|         "radioAdminState": "enabled", | ||||
|         "fragmentationThresholdBytes": 2346, | ||||
|         "radioMode": "modeAC", | ||||
|         "wmmState": "enabled", | ||||
|         "uapsdState": "enabled", | ||||
|         "stationIsolation": "disabled", | ||||
|         "managementRate": "auto", | ||||
|         "managementRate": { | ||||
|           "model_type": "SourceSelectionManagement", | ||||
|           "source": "auto", | ||||
|           "value": "auto" | ||||
|         }, | ||||
|         "bestApSettings": { | ||||
|           "model_type": "RadioBestApSettings", | ||||
|           "mlComputed": true, | ||||
|           "dropInSnrPercentage": 30, | ||||
|           "minLoadFactor": 40 | ||||
|         "model_type": "SourceSelectionSteering", | ||||
|           "source": "auto", | ||||
|           "value": { | ||||
| 	          "model_type": "RadioBestApSettings", | ||||
| 	          "mlComputed": true, | ||||
| 	          "dropInSnrPercentage": 30, | ||||
| 	          "minLoadFactor": 40 | ||||
|           } | ||||
|         }, | ||||
|         "legacyBSSRate": "enabled", | ||||
|         "deauthAttackDetection": null | ||||
| @@ -200,4 +218,4 @@ | ||||
|   "serial": "21P10C68818122", | ||||
|   "createdTimestamp": 1591653239821, | ||||
|   "lastModifiedTimestamp": 1591653241398 | ||||
| } | ||||
| } | ||||
|   | ||||
| @@ -10,55 +10,48 @@ | ||||
|     "countryCode" : "ca", | ||||
|     "maintenanceWindow" : null, | ||||
|     "rrmEnabled" : true, | ||||
|     "dailyRebalancingDetails" : { | ||||
|     "dailyActivityDetails" : { | ||||
|       "SUNDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "MONDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "TUESDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "WEDNESDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "THURSDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "FRIDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "SATURDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   | ||||
| @@ -10,55 +10,48 @@ | ||||
|     "countryCode" : "usa", | ||||
|     "maintenanceWindow" : null, | ||||
|     "rrmEnabled" : true, | ||||
|     "dailyRebalancingDetails" : { | ||||
|     "dailyActivityDetails" : { | ||||
|       "SUNDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "MONDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "TUESDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "WEDNESDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "THURSDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "FRIDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "SATURDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 17, | ||||
|     "id": 12, | ||||
|     "customerId": 2, | ||||
|     "profileType": "equipment_ap", | ||||
|     "name": "ApProfile-3-radios", | ||||
| @@ -20,6 +20,11 @@ | ||||
|         "syntheticClientEnabled": true, | ||||
|         "ledControlEnabled": true, | ||||
|         "equipmentDiscovery": false, | ||||
|         "greTunnelName": null, | ||||
|         "greParentIfName": null, | ||||
|         "greLocalInetAddr": null, | ||||
|         "greRemoteInetAddr": null, | ||||
|         "greRemoteMacAddr": null, | ||||
|         "radioMap": { | ||||
|             "is2dot4GHz": { | ||||
|                 "model_type": "RadioProfileConfiguration", | ||||
| @@ -39,12 +44,13 @@ | ||||
|         }, | ||||
|         "profileType": "equipment_ap" | ||||
|     }, | ||||
|     "createdTimestamp": 1602182806348, | ||||
|     "lastModifiedTimestamp": 1602182806348, | ||||
|     "createdTimestamp": 1606778369934, | ||||
|     "lastModifiedTimestamp": 1606778443413, | ||||
|     "childProfileIds": [ | ||||
|         2, | ||||
|         16, | ||||
|         5, | ||||
|         10, | ||||
|         11, | ||||
|         13 | ||||
|         15 | ||||
|     ] | ||||
| } | ||||
| @@ -1,72 +1,71 @@ | ||||
| [ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 10, | ||||
|     "customerId": 2, | ||||
|     "profileType": "hotspot_2pt0", | ||||
|     "name": "TipWlan-Hotspot20-Config", | ||||
|     "details": { | ||||
|         "model_type": "Hotspot2Profile", | ||||
|         "enableInterworkingAndHs20": true, | ||||
|         "hessid": null, | ||||
|         "accessNetworkType": "free_public_network", | ||||
|         "networkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
|         "additionalStepsRequiredForAccess": 0, | ||||
|         "deauthRequestTimeout": 0, | ||||
|         "operatingClass": 0, | ||||
|         "termsAndConditionsFile": { | ||||
|             "model_type": "ManagedFileInfo", | ||||
|             "md5checksum": null, | ||||
|             "lastModifiedTimestamp": null, | ||||
|             "apExportUrl": "https://localhost:9091/filestore/termsAndConditions", | ||||
|             "fileCategory": "ExternalPolicyConfiguration", | ||||
|             "fileType": "TEXT", | ||||
|             "altSlot": false | ||||
|         }, | ||||
|         "whitelistDomain": null, | ||||
|         "emergencyServicesReachable": true, | ||||
|         "unauthenticatedEmergencyServiceAccessible": false, | ||||
|         "internetConnectivity": true, | ||||
|         "connectionCapabilitySet": [ | ||||
|             { | ||||
|                 "model_type": "ConnectionCapability", | ||||
|                 "connectionCapabilitiesPortNumber": 8888, | ||||
|                 "connectionCapabilitiesIpProtocol": "TCP", | ||||
|                 "connectionCapabilitiesStatus": "open" | ||||
|             } | ||||
|         ], | ||||
|         "ipAddressTypeAvailability": "public_IPv4_address_available", | ||||
|         "qosMapSetConfiguration": null, | ||||
|         "apGeospatialLocation": null, | ||||
|         "apCivicLocation": null, | ||||
|         "apPublicLocationIdUri": null, | ||||
|         "gasAddr3Behaviour": "p2pSpecWorkaroundFromRequest", | ||||
|         "anqpDomainId": 1234, | ||||
|         "disableDownstreamGroupAddressedForwarding": false, | ||||
|         "enable2pt4GHz": true, | ||||
|         "enable5GHz": true, | ||||
|         "associatedAccessSsidNames": [ | ||||
|             "TipWlan-cloud-hotspot-access" | ||||
|         ], | ||||
|         "osuSsidName": "TipWlan-cloud-3-radios", | ||||
|         "operatorProfileName": "TipWlan-Hotspot20-Operator", | ||||
|         "venueProfileName": "TipWlan-Hotspot20-Venue", | ||||
|         "idProviderProfileNames": [ | ||||
|             "TipWlan-Hotspot20-OSU-Provider-2", | ||||
|             "TipWlan-Hotspot20-OSU-Provider" | ||||
|         ], | ||||
|         "profileType": "hotspot_2pt0", | ||||
|         "associatedSsids": [ | ||||
|             "TipWlan-cloud-hotspot-access" | ||||
|         ] | ||||
|     }, | ||||
|     "createdTimestamp": 1602182806040, | ||||
|     "lastModifiedTimestamp": 1602182806040, | ||||
|     "childProfileIds": [ | ||||
|         6, | ||||
|         7, | ||||
|         8, | ||||
|         9 | ||||
|     ] | ||||
| } | ||||
| ] | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 24, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint", | ||||
| 		"name": "TipWlan-Passpoint-Config", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointProfile", | ||||
| 			"enableInterworkingAndHs20": true, | ||||
| 			"hessid": null, | ||||
| 			"passpointAccessNetworkType": "free_public_network", | ||||
| 			"passpointNetworkAuthenticationType": "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": "PasspointConnectionCapability", | ||||
| 					"connectionCapabilitiesPortNumber": 8888, | ||||
| 					"connectionCapabilitiesStatus": "open", | ||||
| 					"connectionCapabilitiesIpProtocol": "TCP" | ||||
| 				} | ||||
| 			], | ||||
| 			"ipAddressTypeAvailability": "public_IPv4_address_available", | ||||
| 			"qosMapSetConfiguration": null, | ||||
| 			"apGeospatialLocation": null, | ||||
| 			"apCivicLocation": null, | ||||
| 			"apPublicLocationIdUri": null, | ||||
| 			"gasAddr3Behaviour": "p2pSpecWorkaroundFromRequest", | ||||
| 			"anqpDomainId": 1234, | ||||
| 			"disableDownstreamGroupAddressedForwarding": false, | ||||
| 			"enable2pt4GHz": true, | ||||
| 			"enable5GHz": true, | ||||
| 			"associatedAccessSsidProfileIds": [ | ||||
| 				15 | ||||
| 			], | ||||
| 			"osuSsidProfileId": 16, | ||||
| 			"passpointOperatorProfileId": 17, | ||||
| 			"passpointVenueProfileId": 18, | ||||
| 			"passpointOsuProviderProfileIds": [ | ||||
| 				19, | ||||
| 				20 | ||||
| 			], | ||||
| 			"accessNetworkType": "free_public_network", | ||||
| 			"networkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
| 			"profileType": "passpoint" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370807, | ||||
| 		"lastModifiedTimestamp": 1606778370807, | ||||
| 		"childProfileIds": [ | ||||
| 			17, | ||||
| 			18, | ||||
| 			19, | ||||
| 			20 | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,256 +1,270 @@ | ||||
| [ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 8, | ||||
|     "customerId": 2, | ||||
|     "profileType": "id_provider", | ||||
|     "name": "TipWlan-Hotspot20-OSU-Provider", | ||||
|     "details": { | ||||
|         "model_type": "Hotspot20IdProviderProfile", | ||||
|         "domainName": "rogers.com", | ||||
|         "mccMncList": [ | ||||
|             { | ||||
|                 "model_type": "MccMnc", | ||||
|                 "mcc": 302, | ||||
|                 "mnc": 720, | ||||
|                 "iso": "ca", | ||||
|                 "country": "Canada", | ||||
|                 "countryCode": 1, | ||||
|                 "network": "Rogers AT&T Wireless", | ||||
|                 "mccMncPairing": "302,720" | ||||
|             } | ||||
|         ], | ||||
|         "naiRealmList": [ | ||||
|             { | ||||
|                 "model_type": "NaiRealmInformation", | ||||
|                 "naiRealms": [ | ||||
|                     "rogers.com" | ||||
|                 ], | ||||
|                 "encoding": 0, | ||||
|                 "eapMethods": [ | ||||
|                     "EAP-TTLS with username/password", | ||||
|                     "EAP-TLS with certificate" | ||||
|                 ], | ||||
|                 "eapMap": { | ||||
|                     "EAP-TTLS with username/password": [ | ||||
|                         "Credential Type:username/password", | ||||
|                         "Non-EAP Inner Authentication Type:MSCHAPV2" | ||||
|                     ], | ||||
|                     "EAP-TLS with certificate": [ | ||||
|                         "Credential Type:Certificate" | ||||
|                     ] | ||||
|                 } | ||||
|             } | ||||
|         ], | ||||
|         "osuIconList": [ | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "eng", | ||||
|                 "iconLocale": "en_CA", | ||||
|                 "iconName": "icon32eng", | ||||
|                 "filePath": "/tmp/icon32eng.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32eng.png", | ||||
|                 "hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "fra", | ||||
|                 "iconLocale": "fr_CA", | ||||
|                 "iconName": "icon32fra", | ||||
|                 "filePath": "/tmp/icon32fra.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32fra.png", | ||||
|                 "hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "eng", | ||||
|                 "iconLocale": "en_US", | ||||
|                 "iconName": "icon32usa", | ||||
|                 "filePath": "/tmp/icon32usa.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32usa.png", | ||||
|                 "hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png" | ||||
|             } | ||||
|         ], | ||||
|         "osuServerUri": "https://example.com/osu/rogers/", | ||||
|         "osuFriendlyName": [ | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "en_CA", | ||||
|                 "dupleIso3Language": "eng", | ||||
|                 "dupleName": "Example provider rogers", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "eng:Example provider rogers" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "fr_CA", | ||||
|                 "dupleIso3Language": "fra", | ||||
|                 "dupleName": "Exemple de fournisseur rogers", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "fra:Exemple de fournisseur rogers" | ||||
|             } | ||||
|         ], | ||||
|         "osuNaiStandalone": "anonymous@rogers.com", | ||||
|         "osuNaiShared": "anonymous@rogers.com", | ||||
|         "osuMethodList": [ | ||||
|             1, | ||||
|             0 | ||||
|         ], | ||||
|         "osuServiceDescription": [ | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "en_CA", | ||||
|                 "dupleIso3Language": "eng", | ||||
|                 "dupleName": "Example services rogers", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "eng:Example services rogers" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "fr_CA", | ||||
|                 "dupleIso3Language": "fra", | ||||
|                 "dupleName": "Exemples de services rogers", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "fra:Exemples de services rogers" | ||||
|             } | ||||
|         ], | ||||
|         "profileType": "id_provider" | ||||
|     }, | ||||
|     "createdTimestamp": 1602182805654, | ||||
|     "lastModifiedTimestamp": 1602182805654, | ||||
|     "childProfileIds": [] | ||||
| }, | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 9, | ||||
|     "customerId": 2, | ||||
|     "profileType": "id_provider", | ||||
|     "name": "TipWlan-Hotspot20-OSU-Provider-2", | ||||
|     "details": { | ||||
|         "model_type": "Hotspot20IdProviderProfile", | ||||
|         "domainName": "telus.com", | ||||
|         "mccMncList": [ | ||||
|             { | ||||
|                 "model_type": "MccMnc", | ||||
|                 "mcc": 302, | ||||
|                 "mnc": 220, | ||||
|                 "iso": "ca", | ||||
|                 "country": "Canada", | ||||
|                 "countryCode": 1, | ||||
|                 "network": "Telus Mobility", | ||||
|                 "mccMncPairing": "302,220" | ||||
|             } | ||||
|         ], | ||||
|         "naiRealmList": [ | ||||
|             { | ||||
|                 "model_type": "NaiRealmInformation", | ||||
|                 "naiRealms": [ | ||||
|                     "telus.com" | ||||
|                 ], | ||||
|                 "encoding": 0, | ||||
|                 "eapMethods": [ | ||||
|                     "EAP-TTLS with username/password", | ||||
|                     "EAP-TLS with certificate" | ||||
|                 ], | ||||
|                 "eapMap": { | ||||
|                     "EAP-TTLS with username/password": [ | ||||
|                         "Credential Type:username/password", | ||||
|                         "Non-EAP Inner Authentication Type:MSCHAPV2" | ||||
|                     ], | ||||
|                     "EAP-TLS with certificate": [ | ||||
|                         "Credential Type:Certificate" | ||||
|                     ] | ||||
|                 } | ||||
|             } | ||||
|         ], | ||||
|         "osuIconList": [ | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "eng", | ||||
|                 "iconLocale": "en_CA", | ||||
|                 "iconName": "icon32eng", | ||||
|                 "filePath": "/tmp/icon32eng.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32eng.png", | ||||
|                 "hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "fra", | ||||
|                 "iconLocale": "fr_CA", | ||||
|                 "iconName": "icon32fra", | ||||
|                 "filePath": "/tmp/icon32fra.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32fra.png", | ||||
|                 "hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "eng", | ||||
|                 "iconLocale": "en_US", | ||||
|                 "iconName": "icon32usa", | ||||
|                 "filePath": "/tmp/icon32usa.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32usa.png", | ||||
|                 "hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png" | ||||
|             } | ||||
|         ], | ||||
|         "osuServerUri": "https://example.com/osu/telus/", | ||||
|         "osuFriendlyName": [ | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "en_CA", | ||||
|                 "dupleIso3Language": "eng", | ||||
|                 "dupleName": "Example provider telus", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "eng:Example provider telus" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "fr_CA", | ||||
|                 "dupleIso3Language": "fra", | ||||
|                 "dupleName": "Exemple de fournisseur telus", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "fra:Exemple de fournisseur telus" | ||||
|             } | ||||
|         ], | ||||
|         "osuNaiStandalone": "anonymous@telus.com", | ||||
|         "osuNaiShared": "anonymous@telus.com", | ||||
|         "osuMethodList": [ | ||||
|             1, | ||||
|             0 | ||||
|         ], | ||||
|         "osuServiceDescription": [ | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "en_CA", | ||||
|                 "dupleIso3Language": "eng", | ||||
|                 "dupleName": "Example services telus", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "eng:Example services telus" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "fr_CA", | ||||
|                 "dupleIso3Language": "fra", | ||||
|                 "dupleName": "Exemples de services telus", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "fra:Exemples de services telus" | ||||
|             } | ||||
|         ], | ||||
|         "profileType": "id_provider" | ||||
|     }, | ||||
|     "createdTimestamp": 1602182805660, | ||||
|     "lastModifiedTimestamp": 1602182805660, | ||||
|     "childProfileIds": [] | ||||
| } | ||||
|     ] | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 19, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "rogers.com", | ||||
| 			"mccMncList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointMccMnc", | ||||
| 					"mcc": 302, | ||||
| 					"mnc": 720, | ||||
| 					"iso": "ca", | ||||
| 					"country": "Canada", | ||||
| 					"countryCode": 1, | ||||
| 					"network": "Rogers AT&T Wireless", | ||||
| 					"mccMncPairing": "302,720" | ||||
| 				} | ||||
| 			], | ||||
| 			"naiRealmList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointNaiRealmInformation", | ||||
| 					"naiRealms": [ | ||||
| 						"rogers.com" | ||||
| 					], | ||||
| 					"encoding": 0, | ||||
| 					"eapMethods": [ | ||||
| 						"EAP-TTLS with username/password", | ||||
| 						"EAP-TLS with certificate" | ||||
| 					], | ||||
| 					"eapMap": { | ||||
| 						"EAP-TTLS with username/password": [ | ||||
| 							"Credential Type:username/password", | ||||
| 							"Non-EAP Inner Authentication Type:MSCHAPV2" | ||||
| 						], | ||||
| 						"EAP-TLS with certificate": [ | ||||
| 							"Credential Type:Certificate" | ||||
| 						] | ||||
| 					} | ||||
| 				} | ||||
| 			], | ||||
| 			"osuIconList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "eng", | ||||
| 					"iconLocale": "en_CA", | ||||
| 					"iconName": "icon32eng", | ||||
| 					"filePath": "/tmp/icon32eng.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32eng.png", | ||||
| 					"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "fra", | ||||
| 					"iconLocale": "fr_CA", | ||||
| 					"iconName": "icon32fra", | ||||
| 					"filePath": "/tmp/icon32fra.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32fra.png", | ||||
| 					"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "eng", | ||||
| 					"iconLocale": "en_US", | ||||
| 					"iconName": "icon32usa", | ||||
| 					"filePath": "/tmp/icon32usa.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32usa.png", | ||||
| 					"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png" | ||||
| 				} | ||||
| 			], | ||||
| 			"osuServerUri": "https://example.com/osu/rogers", | ||||
| 			"osuFriendlyName": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example provider rogers", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Example provider rogers" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemple de fournisseur rogers", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "fra:Exemple de fournisseur rogers" | ||||
| 				} | ||||
| 			], | ||||
| 			"osuNaiStandalone": "anonymous@rogers.com", | ||||
| 			"osuNaiShared": "anonymous@rogers.com", | ||||
| 			"osuMethodList": [ | ||||
| 				1, | ||||
| 				0 | ||||
| 			], | ||||
| 			"osuServiceDescription": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example services rogers", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Example services rogers" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemples de services rogers", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "fra:Exemples de services rogers" | ||||
| 				} | ||||
| 			], | ||||
| 			"roamingOi": [ | ||||
| 				1, | ||||
| 				2, | ||||
| 				3, | ||||
| 				4 | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370345, | ||||
| 		"lastModifiedTimestamp": 1606778370345, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 20, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider-2", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "telus.com", | ||||
| 			"mccMncList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointMccMnc", | ||||
| 					"mcc": 302, | ||||
| 					"mnc": 220, | ||||
| 					"iso": "ca", | ||||
| 					"country": "Canada", | ||||
| 					"countryCode": 1, | ||||
| 					"network": "Telus Mobility", | ||||
| 					"mccMncPairing": "302,220" | ||||
| 				} | ||||
| 			], | ||||
| 			"naiRealmList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointNaiRealmInformation", | ||||
| 					"naiRealms": [ | ||||
| 						"telus.com" | ||||
| 					], | ||||
| 					"encoding": 0, | ||||
| 					"eapMethods": [ | ||||
| 						"EAP-TTLS with username/password", | ||||
| 						"EAP-TLS with certificate" | ||||
| 					], | ||||
| 					"eapMap": { | ||||
| 						"EAP-TTLS with username/password": [ | ||||
| 							"Credential Type:username/password", | ||||
| 							"Non-EAP Inner Authentication Type:MSCHAPV2" | ||||
| 						], | ||||
| 						"EAP-TLS with certificate": [ | ||||
| 							"Credential Type:Certificate" | ||||
| 						] | ||||
| 					} | ||||
| 				} | ||||
| 			], | ||||
| 			"osuIconList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "eng", | ||||
| 					"iconLocale": "en_CA", | ||||
| 					"iconName": "icon32eng", | ||||
| 					"filePath": "/tmp/icon32eng.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32eng.png", | ||||
| 					"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "fra", | ||||
| 					"iconLocale": "fr_CA", | ||||
| 					"iconName": "icon32fra", | ||||
| 					"filePath": "/tmp/icon32fra.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32fra.png", | ||||
| 					"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "eng", | ||||
| 					"iconLocale": "en_US", | ||||
| 					"iconName": "icon32usa", | ||||
| 					"filePath": "/tmp/icon32usa.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32usa.png", | ||||
| 					"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png" | ||||
| 				} | ||||
| 			], | ||||
| 			"osuServerUri": "https://example.com/osu/telus", | ||||
| 			"osuFriendlyName": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example provider telus", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Example provider telus" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemple de fournisseur telus", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "fra:Exemple de fournisseur telus" | ||||
| 				} | ||||
| 			], | ||||
| 			"osuNaiStandalone": "anonymous@telus.com", | ||||
| 			"osuNaiShared": "anonymous@telus.com", | ||||
| 			"osuMethodList": [ | ||||
| 				1, | ||||
| 				0 | ||||
| 			], | ||||
| 			"osuServiceDescription": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example services telus", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Example services telus" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemples de services telus", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "fra:Exemples de services telus" | ||||
| 				} | ||||
| 			], | ||||
| 			"roamingOi": [ | ||||
| 				1, | ||||
| 				2, | ||||
| 				3, | ||||
| 				4 | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370351, | ||||
| 		"lastModifiedTimestamp": 1606778370351, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,298 +1,299 @@ | ||||
| [ | ||||
|  { | ||||
|         "model_type": "Profile", | ||||
|         "id": 2, | ||||
|         "customerId": 2, | ||||
|         "profileType": "metrics", | ||||
|         "name": "Metrics-Profile-3-radios", | ||||
|         "details": { | ||||
|             "model_type": "ServiceMetricsCollectionConfigProfile", | ||||
|             "radioTypes": [ | ||||
|                 "is5GHzU", | ||||
|                 "is5GHzL", | ||||
|                 "is2dot4GHz" | ||||
|             ], | ||||
|             "serviceMetricDataTypes": [ | ||||
|                 "ApNode", | ||||
|                 "ApSsid", | ||||
|                 "Client", | ||||
|                 "Channel", | ||||
|                 "Neighbour" | ||||
|             ], | ||||
|             "metricConfigParameterMap": { | ||||
|                 "ApNode": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     } | ||||
|                 ], | ||||
|                 "ApSsid": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "ApSsid" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "ApSsid" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "ApSsid" | ||||
|                     } | ||||
|                 ], | ||||
|                 "Client": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Client" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Client" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Client" | ||||
|                     } | ||||
|                 ], | ||||
|                 "Channel": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     } | ||||
|                 ], | ||||
|                 "Neighbour": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     } | ||||
|                 ] | ||||
|             }, | ||||
|             "profileType": "metrics" | ||||
|         }, | ||||
|         "createdTimestamp": 1602113058699, | ||||
|         "lastModifiedTimestamp": 1602113058699, | ||||
|         "childProfileIds": [] | ||||
|     } | ||||
| ] | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 10, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "service_metrics_collection_config", | ||||
| 		"name": "Metrics-Profile-3-Radios", | ||||
| 		"details": { | ||||
| 			"model_type": "ServiceMetricsCollectionConfigProfile", | ||||
| 			"radioTypes": [ | ||||
| 				"is5GHzL", | ||||
| 				"is2dot4GHz", | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"serviceMetricDataTypes": [ | ||||
| 				"ApNode", | ||||
| 				"ApSsid", | ||||
| 				"Client", | ||||
| 				"Channel", | ||||
| 				"Neighbour" | ||||
| 			], | ||||
| 			"metricConfigParameterMap": { | ||||
| 				"ApNode": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"ApSsid": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					} | ||||
| 				], | ||||
| 				"Client": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Client" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Client" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Client" | ||||
| 					} | ||||
| 				], | ||||
| 				"Channel": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"Neighbour": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				] | ||||
| 			}, | ||||
| 			"profileType": "service_metrics_collection_config" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369931, | ||||
| 		"lastModifiedTimestamp": 1606778369931, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,37 +1,37 @@ | ||||
| [ | ||||
| { | ||||
|         "model_type": "Profile", | ||||
|         "id": 6, | ||||
|         "customerId": 2, | ||||
|         "profileType": "operator", | ||||
|         "name": "TipWlan-Hotspot20-Operator", | ||||
|         "details": { | ||||
|             "model_type": "OperatorProfile", | ||||
|             "domainName": "telecominfraproject.atlassian.net", | ||||
|             "serverOnlyAuthenticatedL2EncryptionNetwork": false, | ||||
|             "x509CertificateLocation": "/etc/ca.pem", | ||||
|             "operatorFriendlyName": [ | ||||
|                 { | ||||
|                     "model_type": "Hotspot20Duple", | ||||
|                     "locale": "en_CA", | ||||
|                     "dupleIso3Language": "eng", | ||||
|                     "dupleName": "Default friendly operator name", | ||||
|                     "defaultDupleSeparator": ":", | ||||
|                     "asDuple": "eng:Default friendly operator name" | ||||
|                 }, | ||||
|                 { | ||||
|                     "model_type": "Hotspot20Duple", | ||||
|                     "locale": "fr_CA", | ||||
|                     "dupleIso3Language": "fra", | ||||
|                     "dupleName": "Nom de l'opérateur convivial par défaut", | ||||
|                     "defaultDupleSeparator": ":", | ||||
|                     "asDuple": "fra:Nom de l'opérateur convivial par défaut" | ||||
|                 } | ||||
|             ], | ||||
|             "profileType": "operator" | ||||
|         }, | ||||
|         "createdTimestamp": 1602113058719, | ||||
|         "lastModifiedTimestamp": 1602113058719, | ||||
|         "childProfileIds": [] | ||||
|     } | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 17, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_operator", | ||||
| 		"name": "TipWlan-Passpoint-Operator", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOperatorProfile", | ||||
| 			"serverOnlyAuthenticatedL2EncryptionNetwork": false, | ||||
| 			"x509CertificateLocation": "/etc/ca.pem", | ||||
| 			"operatorFriendlyName": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Default friendly passpoint_operator name", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Default friendly passpoint_operator name" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"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": "passpoint_operator" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369945, | ||||
| 		"lastModifiedTimestamp": 1606778369945, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 13, | ||||
|     "id": 11, | ||||
|     "customerId": 2, | ||||
|     "profileType": "rf", | ||||
|     "name": "TipWlan-rf", | ||||
| @@ -9,6 +9,8 @@ | ||||
|         "rfConfigMap": { | ||||
|             "is5GHz": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHz", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
| @@ -16,7 +18,6 @@ | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "multicastRate": "auto", | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
| @@ -24,33 +25,12 @@ | ||||
|                     "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 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
| @@ -60,16 +40,24 @@ | ||||
|                     "nonWifiThresholdTimeInSeconds": 180, | ||||
|                     "obssHopMode": "NON_WIFI" | ||||
|                 }, | ||||
|                 "bestApEnabled": null, | ||||
|                 "multicastRate": "auto", | ||||
|                 "managementRate": "auto", | ||||
|                 "rxCellSizeDb": -90, | ||||
|                 "probeResponseThresholdDb": -90, | ||||
|                 "clientDisconnectThresholdDb": -90, | ||||
|                 "eirpTxPower": 18, | ||||
|                 "bestApSettings": { | ||||
|                     "model_type": "RadioBestApSettings", | ||||
|                     "mlComputed": true, | ||||
|                     "dropInSnrPercentage": 30, | ||||
|                     "minLoadFactor": 40 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65 | ||||
|                 } | ||||
|             }, | ||||
|             "is2dot4GHz": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is2dot4GHz", | ||||
|                 "radioMode": "modeN", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
| @@ -77,7 +65,6 @@ | ||||
|                 "channelBandwidth": "is20MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "multicastRate": "auto", | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
| @@ -85,33 +72,12 @@ | ||||
|                     "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 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
| @@ -121,16 +87,24 @@ | ||||
|                     "nonWifiThresholdTimeInSeconds": 180, | ||||
|                     "obssHopMode": "NON_WIFI" | ||||
|                 }, | ||||
|                 "bestApEnabled": null, | ||||
|                 "multicastRate": "auto", | ||||
|                 "managementRate": "auto", | ||||
|                 "rxCellSizeDb": -90, | ||||
|                 "probeResponseThresholdDb": -90, | ||||
|                 "clientDisconnectThresholdDb": -90, | ||||
|                 "eirpTxPower": 18, | ||||
|                 "bestApSettings": { | ||||
|                     "model_type": "RadioBestApSettings", | ||||
|                     "mlComputed": true, | ||||
|                     "dropInSnrPercentage": 20, | ||||
|                     "minLoadFactor": 50 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65 | ||||
|                 } | ||||
|             }, | ||||
|             "is5GHzU": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzU", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
| @@ -138,7 +112,6 @@ | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "multicastRate": "auto", | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
| @@ -146,33 +119,12 @@ | ||||
|                     "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 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
| @@ -182,16 +134,24 @@ | ||||
|                     "nonWifiThresholdTimeInSeconds": 180, | ||||
|                     "obssHopMode": "NON_WIFI" | ||||
|                 }, | ||||
|                 "bestApEnabled": null, | ||||
|                 "multicastRate": "auto", | ||||
|                 "managementRate": "auto", | ||||
|                 "rxCellSizeDb": -90, | ||||
|                 "probeResponseThresholdDb": -90, | ||||
|                 "clientDisconnectThresholdDb": -90, | ||||
|                 "eirpTxPower": 18, | ||||
|                 "bestApSettings": { | ||||
|                     "model_type": "RadioBestApSettings", | ||||
|                     "mlComputed": true, | ||||
|                     "dropInSnrPercentage": 30, | ||||
|                     "minLoadFactor": 40 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65 | ||||
|                 } | ||||
|             }, | ||||
|             "is5GHzL": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzL", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
| @@ -199,7 +159,6 @@ | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "multicastRate": "auto", | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
| @@ -207,33 +166,12 @@ | ||||
|                     "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 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
| @@ -243,18 +181,24 @@ | ||||
|                     "nonWifiThresholdTimeInSeconds": 180, | ||||
|                     "obssHopMode": "NON_WIFI" | ||||
|                 }, | ||||
|                 "bestApEnabled": null, | ||||
|                 "multicastRate": "auto", | ||||
|                 "managementRate": "auto", | ||||
|                 "rxCellSizeDb": -90, | ||||
|                 "probeResponseThresholdDb": -90, | ||||
|                 "clientDisconnectThresholdDb": -90, | ||||
|                 "eirpTxPower": 18, | ||||
|                 "bestApSettings": { | ||||
|                     "model_type": "RadioBestApSettings", | ||||
|                     "mlComputed": true, | ||||
|                     "dropInSnrPercentage": 30, | ||||
|                     "minLoadFactor": 40 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65 | ||||
|                 } | ||||
|             } | ||||
|         }, | ||||
|         "profileType": "rf" | ||||
|     }, | ||||
|     "createdTimestamp": 1602182806063, | ||||
|     "lastModifiedTimestamp": 1602182806063, | ||||
|     "createdTimestamp": 1606778369933, | ||||
|     "lastModifiedTimestamp": 1606778369933, | ||||
|     "childProfileIds": [] | ||||
| } | ||||
| @@ -4,72 +4,6 @@ | ||||
| 		"id": 5, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-hotspot-access", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-access", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzU", | ||||
| 				"is5GHzL", | ||||
| 				"is2dot4GHz" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "wpa2PSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": "testing123", | ||||
| 			"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": 1602113058718, | ||||
| 		"lastModifiedTimestamp": 1602113059547, | ||||
| 		"childProfileIds": [ | ||||
| 			10 | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 11, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-3-radios", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| @@ -80,13 +14,15 @@ | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "open", | ||||
| 			"secureMode": "wpa2OnlyPSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": null, | ||||
| 			"keyStr": "openwifi", | ||||
| 			"broadcastSsid": "enabled", | ||||
| 			"keyRefresh": 0, | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -94,7 +30,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -106,17 +42,83 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				} | ||||
| 			}, | ||||
| 			"bonjourGatewayProfileId": null, | ||||
| 			"enable80211w": null, | ||||
| 			"wepConfig": null, | ||||
| 			"forwardMode": "BRIDGE", | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369598, | ||||
| 		"lastModifiedTimestamp": 1606778369598, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 15, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-passpoint-access", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-access", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "wpa2PSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": "testing123", | ||||
| 			"broadcastSsid": "enabled", | ||||
| 			"keyRefresh": 0, | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| 			"clientBandwidthLimitDown": 0, | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is2dot4GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				} | ||||
| 			}, | ||||
| 			"bonjourGatewayProfileId": null, | ||||
| @@ -125,10 +127,77 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1602183994766, | ||||
| 		"lastModifiedTimestamp": 1602183994766, | ||||
| 		"createdTimestamp": 1606778369943, | ||||
| 		"lastModifiedTimestamp": 1606778370811, | ||||
| 		"childProfileIds": [ | ||||
| 			10 | ||||
| 			24 | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 16, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-passpoint-osu", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-osu", | ||||
| 			"appliedRadios": [ | ||||
| 				"is2dot4GHz" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "open", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": null, | ||||
| 			"broadcastSsid": "enabled", | ||||
| 			"keyRefresh": 0, | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| 			"clientBandwidthLimitDown": 0, | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is2dot4GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				} | ||||
| 			}, | ||||
| 			"bonjourGatewayProfileId": null, | ||||
| 			"enable80211w": null, | ||||
| 			"wepConfig": null, | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369944, | ||||
| 		"lastModifiedTimestamp": 1606778370352, | ||||
| 		"childProfileIds": [ | ||||
| 			19, | ||||
| 			20 | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,42 +1,43 @@ | ||||
| [ | ||||
|     { | ||||
|         "model_type": "Profile", | ||||
|         "id": 7, | ||||
|         "customerId": 2, | ||||
|         "profileType": "venue", | ||||
|         "name": "TipWlan-Hotspot20-Venue", | ||||
|         "details": { | ||||
|             "model_type": "VenueProfile", | ||||
|             "venueNameSet": [ | ||||
|                 { | ||||
|                     "model_type": "VenueName", | ||||
|                     "locale": "fr_CA", | ||||
|                     "dupleIso3Language": "fra", | ||||
|                     "dupleName": "Exemple de lieu", | ||||
|                     "defaultDupleSeparator": ":", | ||||
|                     "venueUrl": "http://www.example.com/info-fra", | ||||
|                     "asDuple": "fra:Exemple de lieu" | ||||
|                 }, | ||||
|                 { | ||||
|                     "model_type": "VenueName", | ||||
|                     "locale": "en_CA", | ||||
|                     "dupleIso3Language": "eng", | ||||
|                     "dupleName": "Example venue", | ||||
|                     "defaultDupleSeparator": ":", | ||||
|                     "venueUrl": "http://www.example.com/info-eng", | ||||
|                     "asDuple": "eng:Example venue" | ||||
|                 } | ||||
|             ], | ||||
|             "venueTypeAssignment": { | ||||
|                 "model_type": "VenueTypeAssignment", | ||||
|                 "venueDescription": "Research and Development Facility", | ||||
|                 "venueGroupId": 2, | ||||
|                 "venueTypeId": 8 | ||||
|             }, | ||||
|             "profileType": "venue" | ||||
|         }, | ||||
|         "createdTimestamp": 1602113058725, | ||||
|         "lastModifiedTimestamp": 1602113058725, | ||||
|         "childProfileIds": [] | ||||
|     } | ||||
| ] | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 18, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_venue", | ||||
| 		"name": "TipWlan-Passpoint-Venue", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointVenueProfile", | ||||
| 			"venueNameSet": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointVenueName", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemple de lieu", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"venueUrl": "http://www.example.com/info-fra", | ||||
| 					"asDuple": "fra:Exemple de lieu" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointVenueName", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example passpoint_venue", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"venueUrl": "http://www.example.com/info-eng", | ||||
| 					"asDuple": "eng:Example passpoint_venue" | ||||
| 				} | ||||
| 			], | ||||
| 			"venueTypeAssignment": { | ||||
| 				"model_type": "PasspointVenueTypeAssignment", | ||||
| 				"venueDescription": "Research and Development Facility", | ||||
| 				"venueGroupId": 2, | ||||
| 				"venueTypeId": 8 | ||||
| 			}, | ||||
| 			"profileType": "passpoint_venue" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369950, | ||||
| 		"lastModifiedTimestamp": 1606778369950, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|   "model_type": "Equipment", | ||||
|   "id": 51, | ||||
|   "customerId": 2, | ||||
|   "profileId": 5, | ||||
|   "profileId": 12, | ||||
|   "locationId": 8, | ||||
|   "equipmentType": "AP", | ||||
|   "inventoryId": "Test_Client_21P10C68818122", | ||||
| @@ -41,23 +41,23 @@ | ||||
|         "bannedChannels": [], | ||||
|         "allowedChannels": [], | ||||
|         "rxCellSizeDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "probeResponseThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "clientDisconnectThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "eirpTxPower": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": false, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": 32 | ||||
|         }, | ||||
|         "perimeterDetectionEnabled": true, | ||||
| @@ -75,23 +75,23 @@ | ||||
|         "bannedChannels": [], | ||||
|         "allowedChannels": [], | ||||
|         "rxCellSizeDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "probeResponseThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "clientDisconnectThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "eirpTxPower": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": false, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": 32 | ||||
|         }, | ||||
|         "perimeterDetectionEnabled": true, | ||||
| @@ -109,23 +109,23 @@ | ||||
|         "bannedChannels": [], | ||||
|         "allowedChannels": [], | ||||
|         "rxCellSizeDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "probeResponseThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "clientDisconnectThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "eirpTxPower": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": false, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": 32 | ||||
|         }, | ||||
|         "perimeterDetectionEnabled": true, | ||||
| @@ -141,16 +141,22 @@ | ||||
|         "radioType": "is2dot4GHz", | ||||
|         "radioAdminState": "enabled", | ||||
|         "fragmentationThresholdBytes": 2346, | ||||
|         "radioMode": "modeN", | ||||
|         "wmmState": "enabled", | ||||
|         "uapsdState": "enabled", | ||||
|         "stationIsolation": "disabled", | ||||
|         "managementRate": "auto", | ||||
|         "managementRate": { | ||||
|           "model_type": "SourceSelectionManagement", | ||||
|           "source": "auto", | ||||
|           "value": "auto" | ||||
|         }, | ||||
|         "bestApSettings": { | ||||
|           "model_type": "RadioBestApSettings", | ||||
|           "mlComputed": true, | ||||
|           "dropInSnrPercentage": 20, | ||||
|           "minLoadFactor": 50 | ||||
|         "model_type": "SourceSelectionSteering", | ||||
|           "source": "auto", | ||||
|           "value": { | ||||
| 	          "model_type": "RadioBestApSettings", | ||||
| 	          "mlComputed": true, | ||||
| 	          "dropInSnrPercentage": 30, | ||||
| 	          "minLoadFactor": 40 | ||||
|           } | ||||
|         }, | ||||
|         "legacyBSSRate": "enabled", | ||||
|         "deauthAttackDetection": null | ||||
| @@ -160,16 +166,22 @@ | ||||
|         "radioType": "is5GHzU", | ||||
|         "radioAdminState": "enabled", | ||||
|         "fragmentationThresholdBytes": 2346, | ||||
|         "radioMode": "modeAC", | ||||
|         "wmmState": "enabled", | ||||
|         "uapsdState": "enabled", | ||||
|         "stationIsolation": "disabled", | ||||
|         "managementRate": "auto", | ||||
|         "managementRate": { | ||||
|           "model_type": "SourceSelectionManagement", | ||||
|           "source": "auto", | ||||
|           "value": "auto" | ||||
|         }, | ||||
|         "bestApSettings": { | ||||
|           "model_type": "RadioBestApSettings", | ||||
|           "mlComputed": true, | ||||
|           "dropInSnrPercentage": 30, | ||||
|           "minLoadFactor": 40 | ||||
|         "model_type": "SourceSelectionSteering", | ||||
|           "source": "auto", | ||||
|           "value": { | ||||
| 	          "model_type": "RadioBestApSettings", | ||||
| 	          "mlComputed": true, | ||||
| 	          "dropInSnrPercentage": 30, | ||||
| 	          "minLoadFactor": 40 | ||||
|           } | ||||
|         }, | ||||
|         "legacyBSSRate": "enabled", | ||||
|         "deauthAttackDetection": null | ||||
| @@ -179,16 +191,22 @@ | ||||
|         "radioType": "is5GHzL", | ||||
|         "radioAdminState": "enabled", | ||||
|         "fragmentationThresholdBytes": 2346, | ||||
|         "radioMode": "modeAC", | ||||
|         "wmmState": "enabled", | ||||
|         "uapsdState": "enabled", | ||||
|         "stationIsolation": "disabled", | ||||
|         "managementRate": "auto", | ||||
|         "managementRate": { | ||||
|           "model_type": "SourceSelectionManagement", | ||||
|           "source": "auto", | ||||
|           "value": "auto" | ||||
|         }, | ||||
|         "bestApSettings": { | ||||
|           "model_type": "RadioBestApSettings", | ||||
|           "mlComputed": true, | ||||
|           "dropInSnrPercentage": 30, | ||||
|           "minLoadFactor": 40 | ||||
|         "model_type": "SourceSelectionSteering", | ||||
|           "source": "auto", | ||||
|           "value": { | ||||
| 	          "model_type": "RadioBestApSettings", | ||||
| 	          "mlComputed": true, | ||||
| 	          "dropInSnrPercentage": 30, | ||||
| 	          "minLoadFactor": 40 | ||||
|           } | ||||
|         }, | ||||
|         "legacyBSSRate": "enabled", | ||||
|         "deauthAttackDetection": null | ||||
| @@ -200,4 +218,4 @@ | ||||
|   "serial": "21P10C68818122", | ||||
|   "createdTimestamp": 1591653239821, | ||||
|   "lastModifiedTimestamp": 1591653241398 | ||||
| } | ||||
| } | ||||
|   | ||||
| @@ -10,55 +10,48 @@ | ||||
|     "countryCode" : "ca", | ||||
|     "maintenanceWindow" : null, | ||||
|     "rrmEnabled" : true, | ||||
|     "dailyRebalancingDetails" : { | ||||
|     "dailyActivityDetails" : { | ||||
|       "SUNDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "MONDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "TUESDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "WEDNESDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "THURSDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "FRIDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "SATURDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   | ||||
| @@ -10,55 +10,48 @@ | ||||
|     "countryCode" : "usa", | ||||
|     "maintenanceWindow" : null, | ||||
|     "rrmEnabled" : true, | ||||
|     "dailyRebalancingDetails" : { | ||||
|     "dailyActivityDetails" : { | ||||
|       "SUNDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "MONDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "TUESDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "WEDNESDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "THURSDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "FRIDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "SATURDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 17, | ||||
|     "id": 12, | ||||
|     "customerId": 2, | ||||
|     "profileType": "equipment_ap", | ||||
|     "name": "ApProfile-3-radios", | ||||
| @@ -20,6 +20,11 @@ | ||||
|         "syntheticClientEnabled": true, | ||||
|         "ledControlEnabled": true, | ||||
|         "equipmentDiscovery": false, | ||||
|         "greTunnelName": null, | ||||
|         "greParentIfName": null, | ||||
|         "greLocalInetAddr": null, | ||||
|         "greRemoteInetAddr": null, | ||||
|         "greRemoteMacAddr": null, | ||||
|         "radioMap": { | ||||
|             "is2dot4GHz": { | ||||
|                 "model_type": "RadioProfileConfiguration", | ||||
| @@ -39,12 +44,13 @@ | ||||
|         }, | ||||
|         "profileType": "equipment_ap" | ||||
|     }, | ||||
|     "createdTimestamp": 1602182806348, | ||||
|     "lastModifiedTimestamp": 1602182806348, | ||||
|     "createdTimestamp": 1606778369934, | ||||
|     "lastModifiedTimestamp": 1606778443413, | ||||
|     "childProfileIds": [ | ||||
|         2, | ||||
|         16, | ||||
|         5, | ||||
|         10, | ||||
|         11, | ||||
|         13 | ||||
|         15 | ||||
|     ] | ||||
| } | ||||
| @@ -1,72 +1,71 @@ | ||||
| [ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 10, | ||||
|     "customerId": 2, | ||||
|     "profileType": "hotspot_2pt0", | ||||
|     "name": "TipWlan-Hotspot20-Config", | ||||
|     "details": { | ||||
|         "model_type": "Hotspot2Profile", | ||||
|         "enableInterworkingAndHs20": true, | ||||
|         "hessid": null, | ||||
|         "accessNetworkType": "free_public_network", | ||||
|         "networkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
|         "additionalStepsRequiredForAccess": 0, | ||||
|         "deauthRequestTimeout": 0, | ||||
|         "operatingClass": 0, | ||||
|         "termsAndConditionsFile": { | ||||
|             "model_type": "ManagedFileInfo", | ||||
|             "md5checksum": null, | ||||
|             "lastModifiedTimestamp": null, | ||||
|             "apExportUrl": "https://localhost:9091/filestore/termsAndConditions", | ||||
|             "fileCategory": "ExternalPolicyConfiguration", | ||||
|             "fileType": "TEXT", | ||||
|             "altSlot": false | ||||
|         }, | ||||
|         "whitelistDomain": null, | ||||
|         "emergencyServicesReachable": true, | ||||
|         "unauthenticatedEmergencyServiceAccessible": false, | ||||
|         "internetConnectivity": true, | ||||
|         "connectionCapabilitySet": [ | ||||
|             { | ||||
|                 "model_type": "ConnectionCapability", | ||||
|                 "connectionCapabilitiesPortNumber": 8888, | ||||
|                 "connectionCapabilitiesIpProtocol": "TCP", | ||||
|                 "connectionCapabilitiesStatus": "open" | ||||
|             } | ||||
|         ], | ||||
|         "ipAddressTypeAvailability": "public_IPv4_address_available", | ||||
|         "qosMapSetConfiguration": null, | ||||
|         "apGeospatialLocation": null, | ||||
|         "apCivicLocation": null, | ||||
|         "apPublicLocationIdUri": null, | ||||
|         "gasAddr3Behaviour": "p2pSpecWorkaroundFromRequest", | ||||
|         "anqpDomainId": 1234, | ||||
|         "disableDownstreamGroupAddressedForwarding": false, | ||||
|         "enable2pt4GHz": true, | ||||
|         "enable5GHz": true, | ||||
|         "associatedAccessSsidNames": [ | ||||
|             "TipWlan-cloud-hotspot-access" | ||||
|         ], | ||||
|         "osuSsidName": "TipWlan-cloud-3-radios", | ||||
|         "operatorProfileName": "TipWlan-Hotspot20-Operator", | ||||
|         "venueProfileName": "TipWlan-Hotspot20-Venue", | ||||
|         "idProviderProfileNames": [ | ||||
|             "TipWlan-Hotspot20-OSU-Provider-2", | ||||
|             "TipWlan-Hotspot20-OSU-Provider" | ||||
|         ], | ||||
|         "profileType": "hotspot_2pt0", | ||||
|         "associatedSsids": [ | ||||
|             "TipWlan-cloud-hotspot-access" | ||||
|         ] | ||||
|     }, | ||||
|     "createdTimestamp": 1602182806040, | ||||
|     "lastModifiedTimestamp": 1602182806040, | ||||
|     "childProfileIds": [ | ||||
|         6, | ||||
|         7, | ||||
|         8, | ||||
|         9 | ||||
|     ] | ||||
| } | ||||
| ] | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 24, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint", | ||||
| 		"name": "TipWlan-Passpoint-Config", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointProfile", | ||||
| 			"enableInterworkingAndHs20": true, | ||||
| 			"hessid": null, | ||||
| 			"passpointAccessNetworkType": "free_public_network", | ||||
| 			"passpointNetworkAuthenticationType": "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": "PasspointConnectionCapability", | ||||
| 					"connectionCapabilitiesPortNumber": 8888, | ||||
| 					"connectionCapabilitiesStatus": "open", | ||||
| 					"connectionCapabilitiesIpProtocol": "TCP" | ||||
| 				} | ||||
| 			], | ||||
| 			"ipAddressTypeAvailability": "public_IPv4_address_available", | ||||
| 			"qosMapSetConfiguration": null, | ||||
| 			"apGeospatialLocation": null, | ||||
| 			"apCivicLocation": null, | ||||
| 			"apPublicLocationIdUri": null, | ||||
| 			"gasAddr3Behaviour": "p2pSpecWorkaroundFromRequest", | ||||
| 			"anqpDomainId": 1234, | ||||
| 			"disableDownstreamGroupAddressedForwarding": false, | ||||
| 			"enable2pt4GHz": true, | ||||
| 			"enable5GHz": true, | ||||
| 			"associatedAccessSsidProfileIds": [ | ||||
| 				15 | ||||
| 			], | ||||
| 			"osuSsidProfileId": 16, | ||||
| 			"passpointOperatorProfileId": 17, | ||||
| 			"passpointVenueProfileId": 18, | ||||
| 			"passpointOsuProviderProfileIds": [ | ||||
| 				19, | ||||
| 				20 | ||||
| 			], | ||||
| 			"accessNetworkType": "free_public_network", | ||||
| 			"networkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
| 			"profileType": "passpoint" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370807, | ||||
| 		"lastModifiedTimestamp": 1606778370807, | ||||
| 		"childProfileIds": [ | ||||
| 			17, | ||||
| 			18, | ||||
| 			19, | ||||
| 			20 | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,256 +1,270 @@ | ||||
| [ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 8, | ||||
|     "customerId": 2, | ||||
|     "profileType": "id_provider", | ||||
|     "name": "TipWlan-Hotspot20-OSU-Provider", | ||||
|     "details": { | ||||
|         "model_type": "Hotspot20IdProviderProfile", | ||||
|         "domainName": "rogers.com", | ||||
|         "mccMncList": [ | ||||
|             { | ||||
|                 "model_type": "MccMnc", | ||||
|                 "mcc": 302, | ||||
|                 "mnc": 720, | ||||
|                 "iso": "ca", | ||||
|                 "country": "Canada", | ||||
|                 "countryCode": 1, | ||||
|                 "network": "Rogers AT&T Wireless", | ||||
|                 "mccMncPairing": "302,720" | ||||
|             } | ||||
|         ], | ||||
|         "naiRealmList": [ | ||||
|             { | ||||
|                 "model_type": "NaiRealmInformation", | ||||
|                 "naiRealms": [ | ||||
|                     "rogers.com" | ||||
|                 ], | ||||
|                 "encoding": 0, | ||||
|                 "eapMethods": [ | ||||
|                     "EAP-TTLS with username/password", | ||||
|                     "EAP-TLS with certificate" | ||||
|                 ], | ||||
|                 "eapMap": { | ||||
|                     "EAP-TTLS with username/password": [ | ||||
|                         "Credential Type:username/password", | ||||
|                         "Non-EAP Inner Authentication Type:MSCHAPV2" | ||||
|                     ], | ||||
|                     "EAP-TLS with certificate": [ | ||||
|                         "Credential Type:Certificate" | ||||
|                     ] | ||||
|                 } | ||||
|             } | ||||
|         ], | ||||
|         "osuIconList": [ | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "eng", | ||||
|                 "iconLocale": "en_CA", | ||||
|                 "iconName": "icon32eng", | ||||
|                 "filePath": "/tmp/icon32eng.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32eng.png", | ||||
|                 "hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "fra", | ||||
|                 "iconLocale": "fr_CA", | ||||
|                 "iconName": "icon32fra", | ||||
|                 "filePath": "/tmp/icon32fra.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32fra.png", | ||||
|                 "hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "eng", | ||||
|                 "iconLocale": "en_US", | ||||
|                 "iconName": "icon32usa", | ||||
|                 "filePath": "/tmp/icon32usa.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32usa.png", | ||||
|                 "hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png" | ||||
|             } | ||||
|         ], | ||||
|         "osuServerUri": "https://example.com/osu/rogers/", | ||||
|         "osuFriendlyName": [ | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "en_CA", | ||||
|                 "dupleIso3Language": "eng", | ||||
|                 "dupleName": "Example provider rogers", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "eng:Example provider rogers" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "fr_CA", | ||||
|                 "dupleIso3Language": "fra", | ||||
|                 "dupleName": "Exemple de fournisseur rogers", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "fra:Exemple de fournisseur rogers" | ||||
|             } | ||||
|         ], | ||||
|         "osuNaiStandalone": "anonymous@rogers.com", | ||||
|         "osuNaiShared": "anonymous@rogers.com", | ||||
|         "osuMethodList": [ | ||||
|             1, | ||||
|             0 | ||||
|         ], | ||||
|         "osuServiceDescription": [ | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "en_CA", | ||||
|                 "dupleIso3Language": "eng", | ||||
|                 "dupleName": "Example services rogers", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "eng:Example services rogers" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "fr_CA", | ||||
|                 "dupleIso3Language": "fra", | ||||
|                 "dupleName": "Exemples de services rogers", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "fra:Exemples de services rogers" | ||||
|             } | ||||
|         ], | ||||
|         "profileType": "id_provider" | ||||
|     }, | ||||
|     "createdTimestamp": 1602182805654, | ||||
|     "lastModifiedTimestamp": 1602182805654, | ||||
|     "childProfileIds": [] | ||||
| }, | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 9, | ||||
|     "customerId": 2, | ||||
|     "profileType": "id_provider", | ||||
|     "name": "TipWlan-Hotspot20-OSU-Provider-2", | ||||
|     "details": { | ||||
|         "model_type": "Hotspot20IdProviderProfile", | ||||
|         "domainName": "telus.com", | ||||
|         "mccMncList": [ | ||||
|             { | ||||
|                 "model_type": "MccMnc", | ||||
|                 "mcc": 302, | ||||
|                 "mnc": 220, | ||||
|                 "iso": "ca", | ||||
|                 "country": "Canada", | ||||
|                 "countryCode": 1, | ||||
|                 "network": "Telus Mobility", | ||||
|                 "mccMncPairing": "302,220" | ||||
|             } | ||||
|         ], | ||||
|         "naiRealmList": [ | ||||
|             { | ||||
|                 "model_type": "NaiRealmInformation", | ||||
|                 "naiRealms": [ | ||||
|                     "telus.com" | ||||
|                 ], | ||||
|                 "encoding": 0, | ||||
|                 "eapMethods": [ | ||||
|                     "EAP-TTLS with username/password", | ||||
|                     "EAP-TLS with certificate" | ||||
|                 ], | ||||
|                 "eapMap": { | ||||
|                     "EAP-TTLS with username/password": [ | ||||
|                         "Credential Type:username/password", | ||||
|                         "Non-EAP Inner Authentication Type:MSCHAPV2" | ||||
|                     ], | ||||
|                     "EAP-TLS with certificate": [ | ||||
|                         "Credential Type:Certificate" | ||||
|                     ] | ||||
|                 } | ||||
|             } | ||||
|         ], | ||||
|         "osuIconList": [ | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "eng", | ||||
|                 "iconLocale": "en_CA", | ||||
|                 "iconName": "icon32eng", | ||||
|                 "filePath": "/tmp/icon32eng.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32eng.png", | ||||
|                 "hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "fra", | ||||
|                 "iconLocale": "fr_CA", | ||||
|                 "iconName": "icon32fra", | ||||
|                 "filePath": "/tmp/icon32fra.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32fra.png", | ||||
|                 "hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "eng", | ||||
|                 "iconLocale": "en_US", | ||||
|                 "iconName": "icon32usa", | ||||
|                 "filePath": "/tmp/icon32usa.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32usa.png", | ||||
|                 "hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png" | ||||
|             } | ||||
|         ], | ||||
|         "osuServerUri": "https://example.com/osu/telus/", | ||||
|         "osuFriendlyName": [ | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "en_CA", | ||||
|                 "dupleIso3Language": "eng", | ||||
|                 "dupleName": "Example provider telus", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "eng:Example provider telus" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "fr_CA", | ||||
|                 "dupleIso3Language": "fra", | ||||
|                 "dupleName": "Exemple de fournisseur telus", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "fra:Exemple de fournisseur telus" | ||||
|             } | ||||
|         ], | ||||
|         "osuNaiStandalone": "anonymous@telus.com", | ||||
|         "osuNaiShared": "anonymous@telus.com", | ||||
|         "osuMethodList": [ | ||||
|             1, | ||||
|             0 | ||||
|         ], | ||||
|         "osuServiceDescription": [ | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "en_CA", | ||||
|                 "dupleIso3Language": "eng", | ||||
|                 "dupleName": "Example services telus", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "eng:Example services telus" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "fr_CA", | ||||
|                 "dupleIso3Language": "fra", | ||||
|                 "dupleName": "Exemples de services telus", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "fra:Exemples de services telus" | ||||
|             } | ||||
|         ], | ||||
|         "profileType": "id_provider" | ||||
|     }, | ||||
|     "createdTimestamp": 1602182805660, | ||||
|     "lastModifiedTimestamp": 1602182805660, | ||||
|     "childProfileIds": [] | ||||
| } | ||||
|     ] | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 19, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "rogers.com", | ||||
| 			"mccMncList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointMccMnc", | ||||
| 					"mcc": 302, | ||||
| 					"mnc": 720, | ||||
| 					"iso": "ca", | ||||
| 					"country": "Canada", | ||||
| 					"countryCode": 1, | ||||
| 					"network": "Rogers AT&T Wireless", | ||||
| 					"mccMncPairing": "302,720" | ||||
| 				} | ||||
| 			], | ||||
| 			"naiRealmList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointNaiRealmInformation", | ||||
| 					"naiRealms": [ | ||||
| 						"rogers.com" | ||||
| 					], | ||||
| 					"encoding": 0, | ||||
| 					"eapMethods": [ | ||||
| 						"EAP-TTLS with username/password", | ||||
| 						"EAP-TLS with certificate" | ||||
| 					], | ||||
| 					"eapMap": { | ||||
| 						"EAP-TTLS with username/password": [ | ||||
| 							"Credential Type:username/password", | ||||
| 							"Non-EAP Inner Authentication Type:MSCHAPV2" | ||||
| 						], | ||||
| 						"EAP-TLS with certificate": [ | ||||
| 							"Credential Type:Certificate" | ||||
| 						] | ||||
| 					} | ||||
| 				} | ||||
| 			], | ||||
| 			"osuIconList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "eng", | ||||
| 					"iconLocale": "en_CA", | ||||
| 					"iconName": "icon32eng", | ||||
| 					"filePath": "/tmp/icon32eng.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32eng.png", | ||||
| 					"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "fra", | ||||
| 					"iconLocale": "fr_CA", | ||||
| 					"iconName": "icon32fra", | ||||
| 					"filePath": "/tmp/icon32fra.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32fra.png", | ||||
| 					"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "eng", | ||||
| 					"iconLocale": "en_US", | ||||
| 					"iconName": "icon32usa", | ||||
| 					"filePath": "/tmp/icon32usa.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32usa.png", | ||||
| 					"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png" | ||||
| 				} | ||||
| 			], | ||||
| 			"osuServerUri": "https://example.com/osu/rogers", | ||||
| 			"osuFriendlyName": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example provider rogers", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Example provider rogers" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemple de fournisseur rogers", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "fra:Exemple de fournisseur rogers" | ||||
| 				} | ||||
| 			], | ||||
| 			"osuNaiStandalone": "anonymous@rogers.com", | ||||
| 			"osuNaiShared": "anonymous@rogers.com", | ||||
| 			"osuMethodList": [ | ||||
| 				1, | ||||
| 				0 | ||||
| 			], | ||||
| 			"osuServiceDescription": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example services rogers", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Example services rogers" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemples de services rogers", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "fra:Exemples de services rogers" | ||||
| 				} | ||||
| 			], | ||||
| 			"roamingOi": [ | ||||
| 				1, | ||||
| 				2, | ||||
| 				3, | ||||
| 				4 | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370345, | ||||
| 		"lastModifiedTimestamp": 1606778370345, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 20, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider-2", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "telus.com", | ||||
| 			"mccMncList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointMccMnc", | ||||
| 					"mcc": 302, | ||||
| 					"mnc": 220, | ||||
| 					"iso": "ca", | ||||
| 					"country": "Canada", | ||||
| 					"countryCode": 1, | ||||
| 					"network": "Telus Mobility", | ||||
| 					"mccMncPairing": "302,220" | ||||
| 				} | ||||
| 			], | ||||
| 			"naiRealmList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointNaiRealmInformation", | ||||
| 					"naiRealms": [ | ||||
| 						"telus.com" | ||||
| 					], | ||||
| 					"encoding": 0, | ||||
| 					"eapMethods": [ | ||||
| 						"EAP-TTLS with username/password", | ||||
| 						"EAP-TLS with certificate" | ||||
| 					], | ||||
| 					"eapMap": { | ||||
| 						"EAP-TTLS with username/password": [ | ||||
| 							"Credential Type:username/password", | ||||
| 							"Non-EAP Inner Authentication Type:MSCHAPV2" | ||||
| 						], | ||||
| 						"EAP-TLS with certificate": [ | ||||
| 							"Credential Type:Certificate" | ||||
| 						] | ||||
| 					} | ||||
| 				} | ||||
| 			], | ||||
| 			"osuIconList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "eng", | ||||
| 					"iconLocale": "en_CA", | ||||
| 					"iconName": "icon32eng", | ||||
| 					"filePath": "/tmp/icon32eng.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32eng.png", | ||||
| 					"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "fra", | ||||
| 					"iconLocale": "fr_CA", | ||||
| 					"iconName": "icon32fra", | ||||
| 					"filePath": "/tmp/icon32fra.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32fra.png", | ||||
| 					"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "eng", | ||||
| 					"iconLocale": "en_US", | ||||
| 					"iconName": "icon32usa", | ||||
| 					"filePath": "/tmp/icon32usa.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32usa.png", | ||||
| 					"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png" | ||||
| 				} | ||||
| 			], | ||||
| 			"osuServerUri": "https://example.com/osu/telus", | ||||
| 			"osuFriendlyName": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example provider telus", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Example provider telus" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemple de fournisseur telus", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "fra:Exemple de fournisseur telus" | ||||
| 				} | ||||
| 			], | ||||
| 			"osuNaiStandalone": "anonymous@telus.com", | ||||
| 			"osuNaiShared": "anonymous@telus.com", | ||||
| 			"osuMethodList": [ | ||||
| 				1, | ||||
| 				0 | ||||
| 			], | ||||
| 			"osuServiceDescription": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example services telus", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Example services telus" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemples de services telus", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "fra:Exemples de services telus" | ||||
| 				} | ||||
| 			], | ||||
| 			"roamingOi": [ | ||||
| 				1, | ||||
| 				2, | ||||
| 				3, | ||||
| 				4 | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370351, | ||||
| 		"lastModifiedTimestamp": 1606778370351, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,298 +1,299 @@ | ||||
| [ | ||||
|  { | ||||
|         "model_type": "Profile", | ||||
|         "id": 2, | ||||
|         "customerId": 2, | ||||
|         "profileType": "metrics", | ||||
|         "name": "Metrics-Profile-3-radios", | ||||
|         "details": { | ||||
|             "model_type": "ServiceMetricsCollectionConfigProfile", | ||||
|             "radioTypes": [ | ||||
|                 "is5GHzU", | ||||
|                 "is5GHzL", | ||||
|                 "is2dot4GHz" | ||||
|             ], | ||||
|             "serviceMetricDataTypes": [ | ||||
|                 "ApNode", | ||||
|                 "ApSsid", | ||||
|                 "Client", | ||||
|                 "Channel", | ||||
|                 "Neighbour" | ||||
|             ], | ||||
|             "metricConfigParameterMap": { | ||||
|                 "ApNode": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     } | ||||
|                 ], | ||||
|                 "ApSsid": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "ApSsid" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "ApSsid" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "ApSsid" | ||||
|                     } | ||||
|                 ], | ||||
|                 "Client": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Client" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Client" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Client" | ||||
|                     } | ||||
|                 ], | ||||
|                 "Channel": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     } | ||||
|                 ], | ||||
|                 "Neighbour": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     } | ||||
|                 ] | ||||
|             }, | ||||
|             "profileType": "metrics" | ||||
|         }, | ||||
|         "createdTimestamp": 1602113058699, | ||||
|         "lastModifiedTimestamp": 1602113058699, | ||||
|         "childProfileIds": [] | ||||
|     } | ||||
| ] | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 10, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "service_metrics_collection_config", | ||||
| 		"name": "Metrics-Profile-3-Radios", | ||||
| 		"details": { | ||||
| 			"model_type": "ServiceMetricsCollectionConfigProfile", | ||||
| 			"radioTypes": [ | ||||
| 				"is5GHzL", | ||||
| 				"is2dot4GHz", | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"serviceMetricDataTypes": [ | ||||
| 				"ApNode", | ||||
| 				"ApSsid", | ||||
| 				"Client", | ||||
| 				"Channel", | ||||
| 				"Neighbour" | ||||
| 			], | ||||
| 			"metricConfigParameterMap": { | ||||
| 				"ApNode": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"ApSsid": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					} | ||||
| 				], | ||||
| 				"Client": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Client" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Client" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Client" | ||||
| 					} | ||||
| 				], | ||||
| 				"Channel": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"Neighbour": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				] | ||||
| 			}, | ||||
| 			"profileType": "service_metrics_collection_config" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369931, | ||||
| 		"lastModifiedTimestamp": 1606778369931, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,37 +1,37 @@ | ||||
| [ | ||||
| { | ||||
|         "model_type": "Profile", | ||||
|         "id": 6, | ||||
|         "customerId": 2, | ||||
|         "profileType": "operator", | ||||
|         "name": "TipWlan-Hotspot20-Operator", | ||||
|         "details": { | ||||
|             "model_type": "OperatorProfile", | ||||
|             "domainName": "telecominfraproject.atlassian.net", | ||||
|             "serverOnlyAuthenticatedL2EncryptionNetwork": false, | ||||
|             "x509CertificateLocation": "/etc/ca.pem", | ||||
|             "operatorFriendlyName": [ | ||||
|                 { | ||||
|                     "model_type": "Hotspot20Duple", | ||||
|                     "locale": "en_CA", | ||||
|                     "dupleIso3Language": "eng", | ||||
|                     "dupleName": "Default friendly operator name", | ||||
|                     "defaultDupleSeparator": ":", | ||||
|                     "asDuple": "eng:Default friendly operator name" | ||||
|                 }, | ||||
|                 { | ||||
|                     "model_type": "Hotspot20Duple", | ||||
|                     "locale": "fr_CA", | ||||
|                     "dupleIso3Language": "fra", | ||||
|                     "dupleName": "Nom de l'opérateur convivial par défaut", | ||||
|                     "defaultDupleSeparator": ":", | ||||
|                     "asDuple": "fra:Nom de l'opérateur convivial par défaut" | ||||
|                 } | ||||
|             ], | ||||
|             "profileType": "operator" | ||||
|         }, | ||||
|         "createdTimestamp": 1602113058719, | ||||
|         "lastModifiedTimestamp": 1602113058719, | ||||
|         "childProfileIds": [] | ||||
|     } | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 17, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_operator", | ||||
| 		"name": "TipWlan-Passpoint-Operator", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOperatorProfile", | ||||
| 			"serverOnlyAuthenticatedL2EncryptionNetwork": false, | ||||
| 			"x509CertificateLocation": "/etc/ca.pem", | ||||
| 			"operatorFriendlyName": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Default friendly passpoint_operator name", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Default friendly passpoint_operator name" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"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": "passpoint_operator" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369945, | ||||
| 		"lastModifiedTimestamp": 1606778369945, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 13, | ||||
|     "id": 11, | ||||
|     "customerId": 2, | ||||
|     "profileType": "rf", | ||||
|     "name": "TipWlan-rf", | ||||
| @@ -9,6 +9,8 @@ | ||||
|         "rfConfigMap": { | ||||
|             "is5GHz": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHz", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
| @@ -16,7 +18,6 @@ | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "multicastRate": "auto", | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
| @@ -24,33 +25,12 @@ | ||||
|                     "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 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
| @@ -60,16 +40,24 @@ | ||||
|                     "nonWifiThresholdTimeInSeconds": 180, | ||||
|                     "obssHopMode": "NON_WIFI" | ||||
|                 }, | ||||
|                 "bestApEnabled": null, | ||||
|                 "multicastRate": "auto", | ||||
|                 "managementRate": "auto", | ||||
|                 "rxCellSizeDb": -90, | ||||
|                 "probeResponseThresholdDb": -90, | ||||
|                 "clientDisconnectThresholdDb": -90, | ||||
|                 "eirpTxPower": 18, | ||||
|                 "bestApSettings": { | ||||
|                     "model_type": "RadioBestApSettings", | ||||
|                     "mlComputed": true, | ||||
|                     "dropInSnrPercentage": 30, | ||||
|                     "minLoadFactor": 40 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65 | ||||
|                 } | ||||
|             }, | ||||
|             "is2dot4GHz": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is2dot4GHz", | ||||
|                 "radioMode": "modeN", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
| @@ -77,7 +65,6 @@ | ||||
|                 "channelBandwidth": "is20MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "multicastRate": "auto", | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
| @@ -85,33 +72,12 @@ | ||||
|                     "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 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
| @@ -121,16 +87,24 @@ | ||||
|                     "nonWifiThresholdTimeInSeconds": 180, | ||||
|                     "obssHopMode": "NON_WIFI" | ||||
|                 }, | ||||
|                 "bestApEnabled": null, | ||||
|                 "multicastRate": "auto", | ||||
|                 "managementRate": "auto", | ||||
|                 "rxCellSizeDb": -90, | ||||
|                 "probeResponseThresholdDb": -90, | ||||
|                 "clientDisconnectThresholdDb": -90, | ||||
|                 "eirpTxPower": 18, | ||||
|                 "bestApSettings": { | ||||
|                     "model_type": "RadioBestApSettings", | ||||
|                     "mlComputed": true, | ||||
|                     "dropInSnrPercentage": 20, | ||||
|                     "minLoadFactor": 50 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65 | ||||
|                 } | ||||
|             }, | ||||
|             "is5GHzU": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzU", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
| @@ -138,7 +112,6 @@ | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "multicastRate": "auto", | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
| @@ -146,33 +119,12 @@ | ||||
|                     "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 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
| @@ -182,16 +134,24 @@ | ||||
|                     "nonWifiThresholdTimeInSeconds": 180, | ||||
|                     "obssHopMode": "NON_WIFI" | ||||
|                 }, | ||||
|                 "bestApEnabled": null, | ||||
|                 "multicastRate": "auto", | ||||
|                 "managementRate": "auto", | ||||
|                 "rxCellSizeDb": -90, | ||||
|                 "probeResponseThresholdDb": -90, | ||||
|                 "clientDisconnectThresholdDb": -90, | ||||
|                 "eirpTxPower": 18, | ||||
|                 "bestApSettings": { | ||||
|                     "model_type": "RadioBestApSettings", | ||||
|                     "mlComputed": true, | ||||
|                     "dropInSnrPercentage": 30, | ||||
|                     "minLoadFactor": 40 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65 | ||||
|                 } | ||||
|             }, | ||||
|             "is5GHzL": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzL", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
| @@ -199,7 +159,6 @@ | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "multicastRate": "auto", | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
| @@ -207,33 +166,12 @@ | ||||
|                     "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 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
| @@ -243,18 +181,24 @@ | ||||
|                     "nonWifiThresholdTimeInSeconds": 180, | ||||
|                     "obssHopMode": "NON_WIFI" | ||||
|                 }, | ||||
|                 "bestApEnabled": null, | ||||
|                 "multicastRate": "auto", | ||||
|                 "managementRate": "auto", | ||||
|                 "rxCellSizeDb": -90, | ||||
|                 "probeResponseThresholdDb": -90, | ||||
|                 "clientDisconnectThresholdDb": -90, | ||||
|                 "eirpTxPower": 18, | ||||
|                 "bestApSettings": { | ||||
|                     "model_type": "RadioBestApSettings", | ||||
|                     "mlComputed": true, | ||||
|                     "dropInSnrPercentage": 30, | ||||
|                     "minLoadFactor": 40 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65 | ||||
|                 } | ||||
|             } | ||||
|         }, | ||||
|         "profileType": "rf" | ||||
|     }, | ||||
|     "createdTimestamp": 1602182806063, | ||||
|     "lastModifiedTimestamp": 1602182806063, | ||||
|     "createdTimestamp": 1606778369933, | ||||
|     "lastModifiedTimestamp": 1606778369933, | ||||
|     "childProfileIds": [] | ||||
| } | ||||
| @@ -4,72 +4,6 @@ | ||||
| 		"id": 5, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-hotspot-access", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-access", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzU", | ||||
| 				"is5GHzL", | ||||
| 				"is2dot4GHz" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "wpa2PSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": "testing123", | ||||
| 			"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": 1602113058718, | ||||
| 		"lastModifiedTimestamp": 1602113059547, | ||||
| 		"childProfileIds": [ | ||||
| 			10 | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 11, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-3-radios", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| @@ -80,13 +14,15 @@ | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "open", | ||||
| 			"secureMode": "wpa2OnlyPSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": null, | ||||
| 			"keyStr": "openwifi", | ||||
| 			"broadcastSsid": "enabled", | ||||
| 			"keyRefresh": 0, | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -94,7 +30,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -106,17 +42,83 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				} | ||||
| 			}, | ||||
| 			"bonjourGatewayProfileId": null, | ||||
| 			"enable80211w": null, | ||||
| 			"wepConfig": null, | ||||
| 			"forwardMode": "BRIDGE", | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369598, | ||||
| 		"lastModifiedTimestamp": 1606778369598, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 15, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-passpoint-access", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-access", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "wpa2PSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": "testing123", | ||||
| 			"broadcastSsid": "enabled", | ||||
| 			"keyRefresh": 0, | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| 			"clientBandwidthLimitDown": 0, | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is2dot4GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				} | ||||
| 			}, | ||||
| 			"bonjourGatewayProfileId": null, | ||||
| @@ -125,10 +127,77 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1602183994766, | ||||
| 		"lastModifiedTimestamp": 1602183994766, | ||||
| 		"createdTimestamp": 1606778369943, | ||||
| 		"lastModifiedTimestamp": 1606778370811, | ||||
| 		"childProfileIds": [ | ||||
| 			10 | ||||
| 			24 | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 16, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-passpoint-osu", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-osu", | ||||
| 			"appliedRadios": [ | ||||
| 				"is2dot4GHz" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "open", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": null, | ||||
| 			"broadcastSsid": "enabled", | ||||
| 			"keyRefresh": 0, | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| 			"clientBandwidthLimitDown": 0, | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is2dot4GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				} | ||||
| 			}, | ||||
| 			"bonjourGatewayProfileId": null, | ||||
| 			"enable80211w": null, | ||||
| 			"wepConfig": null, | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369944, | ||||
| 		"lastModifiedTimestamp": 1606778370352, | ||||
| 		"childProfileIds": [ | ||||
| 			19, | ||||
| 			20 | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,42 +1,43 @@ | ||||
| [ | ||||
|     { | ||||
|         "model_type": "Profile", | ||||
|         "id": 7, | ||||
|         "customerId": 2, | ||||
|         "profileType": "venue", | ||||
|         "name": "TipWlan-Hotspot20-Venue", | ||||
|         "details": { | ||||
|             "model_type": "VenueProfile", | ||||
|             "venueNameSet": [ | ||||
|                 { | ||||
|                     "model_type": "VenueName", | ||||
|                     "locale": "fr_CA", | ||||
|                     "dupleIso3Language": "fra", | ||||
|                     "dupleName": "Exemple de lieu", | ||||
|                     "defaultDupleSeparator": ":", | ||||
|                     "venueUrl": "http://www.example.com/info-fra", | ||||
|                     "asDuple": "fra:Exemple de lieu" | ||||
|                 }, | ||||
|                 { | ||||
|                     "model_type": "VenueName", | ||||
|                     "locale": "en_CA", | ||||
|                     "dupleIso3Language": "eng", | ||||
|                     "dupleName": "Example venue", | ||||
|                     "defaultDupleSeparator": ":", | ||||
|                     "venueUrl": "http://www.example.com/info-eng", | ||||
|                     "asDuple": "eng:Example venue" | ||||
|                 } | ||||
|             ], | ||||
|             "venueTypeAssignment": { | ||||
|                 "model_type": "VenueTypeAssignment", | ||||
|                 "venueDescription": "Research and Development Facility", | ||||
|                 "venueGroupId": 2, | ||||
|                 "venueTypeId": 8 | ||||
|             }, | ||||
|             "profileType": "venue" | ||||
|         }, | ||||
|         "createdTimestamp": 1602113058725, | ||||
|         "lastModifiedTimestamp": 1602113058725, | ||||
|         "childProfileIds": [] | ||||
|     } | ||||
| ] | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 18, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_venue", | ||||
| 		"name": "TipWlan-Passpoint-Venue", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointVenueProfile", | ||||
| 			"venueNameSet": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointVenueName", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemple de lieu", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"venueUrl": "http://www.example.com/info-fra", | ||||
| 					"asDuple": "fra:Exemple de lieu" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointVenueName", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example passpoint_venue", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"venueUrl": "http://www.example.com/info-eng", | ||||
| 					"asDuple": "eng:Example passpoint_venue" | ||||
| 				} | ||||
| 			], | ||||
| 			"venueTypeAssignment": { | ||||
| 				"model_type": "PasspointVenueTypeAssignment", | ||||
| 				"venueDescription": "Research and Development Facility", | ||||
| 				"venueGroupId": 2, | ||||
| 				"venueTypeId": 8 | ||||
| 			}, | ||||
| 			"profileType": "passpoint_venue" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369950, | ||||
| 		"lastModifiedTimestamp": 1606778369950, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -15,11 +15,6 @@ | ||||
| 	</properties> | ||||
|  | ||||
| 	<dependencies> | ||||
| 		<dependency> | ||||
| 			<groupId>com.telecominfraproject.wlan</groupId> | ||||
| 			<artifactId>opensync-gateway</artifactId> | ||||
| 			<version>${tip-wlan-cloud.release.version}</version> | ||||
| 		</dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>com.telecominfraproject.wlan</groupId> | ||||
| 			<artifactId>opensync-ext-static</artifactId> | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|   "model_type": "Equipment", | ||||
|   "id": 51, | ||||
|   "customerId": 2, | ||||
|   "profileId": 5, | ||||
|   "profileId": 12, | ||||
|   "locationId": 8, | ||||
|   "equipmentType": "AP", | ||||
|   "inventoryId": "Test_Client_21P10C68818122", | ||||
| @@ -41,23 +41,23 @@ | ||||
|         "bannedChannels": [], | ||||
|         "allowedChannels": [], | ||||
|         "rxCellSizeDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "probeResponseThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "clientDisconnectThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "eirpTxPower": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": false, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": 32 | ||||
|         }, | ||||
|         "perimeterDetectionEnabled": true, | ||||
| @@ -75,23 +75,23 @@ | ||||
|         "bannedChannels": [], | ||||
|         "allowedChannels": [], | ||||
|         "rxCellSizeDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "probeResponseThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "clientDisconnectThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "eirpTxPower": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": false, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": 32 | ||||
|         }, | ||||
|         "perimeterDetectionEnabled": true, | ||||
| @@ -109,23 +109,23 @@ | ||||
|         "bannedChannels": [], | ||||
|         "allowedChannels": [], | ||||
|         "rxCellSizeDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "probeResponseThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "clientDisconnectThresholdDb": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": true, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": -90 | ||||
|         }, | ||||
|         "eirpTxPower": { | ||||
|           "model_type": "AutoOrManualValue", | ||||
|           "auto": false, | ||||
|           "model_type": "SourceSelectionValue", | ||||
|         	 "source": "auto", | ||||
|           "value": 32 | ||||
|         }, | ||||
|         "perimeterDetectionEnabled": true, | ||||
| @@ -141,16 +141,22 @@ | ||||
|         "radioType": "is2dot4GHz", | ||||
|         "radioAdminState": "enabled", | ||||
|         "fragmentationThresholdBytes": 2346, | ||||
|         "radioMode": "modeN", | ||||
|         "wmmState": "enabled", | ||||
|         "uapsdState": "enabled", | ||||
|         "stationIsolation": "disabled", | ||||
|         "managementRate": "auto", | ||||
|         "managementRate": { | ||||
|           "model_type": "SourceSelectionManagement", | ||||
|           "source": "auto", | ||||
|           "value": "auto" | ||||
|         }, | ||||
|         "bestApSettings": { | ||||
|           "model_type": "RadioBestApSettings", | ||||
|           "mlComputed": true, | ||||
|           "dropInSnrPercentage": 20, | ||||
|           "minLoadFactor": 50 | ||||
|         "model_type": "SourceSelectionSteering", | ||||
|           "source": "auto", | ||||
|           "value": { | ||||
| 	          "model_type": "RadioBestApSettings", | ||||
| 	          "mlComputed": true, | ||||
| 	          "dropInSnrPercentage": 30, | ||||
| 	          "minLoadFactor": 40 | ||||
|           } | ||||
|         }, | ||||
|         "legacyBSSRate": "enabled", | ||||
|         "deauthAttackDetection": null | ||||
| @@ -160,16 +166,22 @@ | ||||
|         "radioType": "is5GHzU", | ||||
|         "radioAdminState": "enabled", | ||||
|         "fragmentationThresholdBytes": 2346, | ||||
|         "radioMode": "modeAC", | ||||
|         "wmmState": "enabled", | ||||
|         "uapsdState": "enabled", | ||||
|         "stationIsolation": "disabled", | ||||
|         "managementRate": "auto", | ||||
|         "managementRate": { | ||||
|           "model_type": "SourceSelectionManagement", | ||||
|           "source": "auto", | ||||
|           "value": "auto" | ||||
|         }, | ||||
|         "bestApSettings": { | ||||
|           "model_type": "RadioBestApSettings", | ||||
|           "mlComputed": true, | ||||
|           "dropInSnrPercentage": 30, | ||||
|           "minLoadFactor": 40 | ||||
|         "model_type": "SourceSelectionSteering", | ||||
|           "source": "auto", | ||||
|           "value": { | ||||
| 	          "model_type": "RadioBestApSettings", | ||||
| 	          "mlComputed": true, | ||||
| 	          "dropInSnrPercentage": 30, | ||||
| 	          "minLoadFactor": 40 | ||||
|           } | ||||
|         }, | ||||
|         "legacyBSSRate": "enabled", | ||||
|         "deauthAttackDetection": null | ||||
| @@ -179,16 +191,22 @@ | ||||
|         "radioType": "is5GHzL", | ||||
|         "radioAdminState": "enabled", | ||||
|         "fragmentationThresholdBytes": 2346, | ||||
|         "radioMode": "modeAC", | ||||
|         "wmmState": "enabled", | ||||
|         "uapsdState": "enabled", | ||||
|         "stationIsolation": "disabled", | ||||
|         "managementRate": "auto", | ||||
|         "managementRate": { | ||||
|           "model_type": "SourceSelectionManagement", | ||||
|           "source": "auto", | ||||
|           "value": "auto" | ||||
|         }, | ||||
|         "bestApSettings": { | ||||
|           "model_type": "RadioBestApSettings", | ||||
|           "mlComputed": true, | ||||
|           "dropInSnrPercentage": 30, | ||||
|           "minLoadFactor": 40 | ||||
|         "model_type": "SourceSelectionSteering", | ||||
|           "source": "auto", | ||||
|           "value": { | ||||
| 	          "model_type": "RadioBestApSettings", | ||||
| 	          "mlComputed": true, | ||||
| 	          "dropInSnrPercentage": 30, | ||||
| 	          "minLoadFactor": 40 | ||||
|           } | ||||
|         }, | ||||
|         "legacyBSSRate": "enabled", | ||||
|         "deauthAttackDetection": null | ||||
| @@ -200,4 +218,4 @@ | ||||
|   "serial": "21P10C68818122", | ||||
|   "createdTimestamp": 1591653239821, | ||||
|   "lastModifiedTimestamp": 1591653241398 | ||||
| } | ||||
| } | ||||
|   | ||||
| @@ -10,55 +10,48 @@ | ||||
|     "countryCode" : "ca", | ||||
|     "maintenanceWindow" : null, | ||||
|     "rrmEnabled" : true, | ||||
|     "dailyRebalancingDetails" : { | ||||
|     "dailyActivityDetails" : { | ||||
|       "SUNDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "MONDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "TUESDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "WEDNESDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "THURSDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "FRIDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "SATURDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   | ||||
| @@ -10,55 +10,48 @@ | ||||
|     "countryCode" : "usa", | ||||
|     "maintenanceWindow" : null, | ||||
|     "rrmEnabled" : true, | ||||
|     "dailyRebalancingDetails" : { | ||||
|     "dailyActivityDetails" : { | ||||
|       "SUNDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "MONDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "TUESDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "WEDNESDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "THURSDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "FRIDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       }, | ||||
|       "SATURDAY" : { | ||||
|         "model_type" : "LocationActivityDetails", | ||||
|         "busyTime" : "13:30", | ||||
|         "quietTime" : "3:30", | ||||
|         "timezone" : "US/Eastern", | ||||
|         "lastBusySnapshot" : 0 | ||||
|         "timezone" : "US/Eastern" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 17, | ||||
|     "id": 12, | ||||
|     "customerId": 2, | ||||
|     "profileType": "equipment_ap", | ||||
|     "name": "ApProfile-3-radios", | ||||
| @@ -20,6 +20,11 @@ | ||||
|         "syntheticClientEnabled": true, | ||||
|         "ledControlEnabled": true, | ||||
|         "equipmentDiscovery": false, | ||||
|         "greTunnelName": null, | ||||
|         "greParentIfName": null, | ||||
|         "greLocalInetAddr": null, | ||||
|         "greRemoteInetAddr": null, | ||||
|         "greRemoteMacAddr": null, | ||||
|         "radioMap": { | ||||
|             "is2dot4GHz": { | ||||
|                 "model_type": "RadioProfileConfiguration", | ||||
| @@ -39,12 +44,13 @@ | ||||
|         }, | ||||
|         "profileType": "equipment_ap" | ||||
|     }, | ||||
|     "createdTimestamp": 1602182806348, | ||||
|     "lastModifiedTimestamp": 1602182806348, | ||||
|     "createdTimestamp": 1606778369934, | ||||
|     "lastModifiedTimestamp": 1606778443413, | ||||
|     "childProfileIds": [ | ||||
|         2, | ||||
|         16, | ||||
|         5, | ||||
|         10, | ||||
|         11, | ||||
|         13 | ||||
|         15 | ||||
|     ] | ||||
| } | ||||
| @@ -1,72 +1,71 @@ | ||||
| [ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 10, | ||||
|     "customerId": 2, | ||||
|     "profileType": "hotspot_2pt0", | ||||
|     "name": "TipWlan-Hotspot20-Config", | ||||
|     "details": { | ||||
|         "model_type": "Hotspot2Profile", | ||||
|         "enableInterworkingAndHs20": true, | ||||
|         "hessid": null, | ||||
|         "accessNetworkType": "free_public_network", | ||||
|         "networkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
|         "additionalStepsRequiredForAccess": 0, | ||||
|         "deauthRequestTimeout": 0, | ||||
|         "operatingClass": 0, | ||||
|         "termsAndConditionsFile": { | ||||
|             "model_type": "ManagedFileInfo", | ||||
|             "md5checksum": null, | ||||
|             "lastModifiedTimestamp": null, | ||||
|             "apExportUrl": "https://localhost:9091/filestore/termsAndConditions", | ||||
|             "fileCategory": "ExternalPolicyConfiguration", | ||||
|             "fileType": "TEXT", | ||||
|             "altSlot": false | ||||
|         }, | ||||
|         "whitelistDomain": null, | ||||
|         "emergencyServicesReachable": true, | ||||
|         "unauthenticatedEmergencyServiceAccessible": false, | ||||
|         "internetConnectivity": true, | ||||
|         "connectionCapabilitySet": [ | ||||
|             { | ||||
|                 "model_type": "ConnectionCapability", | ||||
|                 "connectionCapabilitiesPortNumber": 8888, | ||||
|                 "connectionCapabilitiesIpProtocol": "TCP", | ||||
|                 "connectionCapabilitiesStatus": "open" | ||||
|             } | ||||
|         ], | ||||
|         "ipAddressTypeAvailability": "public_IPv4_address_available", | ||||
|         "qosMapSetConfiguration": null, | ||||
|         "apGeospatialLocation": null, | ||||
|         "apCivicLocation": null, | ||||
|         "apPublicLocationIdUri": null, | ||||
|         "gasAddr3Behaviour": "p2pSpecWorkaroundFromRequest", | ||||
|         "anqpDomainId": 1234, | ||||
|         "disableDownstreamGroupAddressedForwarding": false, | ||||
|         "enable2pt4GHz": true, | ||||
|         "enable5GHz": true, | ||||
|         "associatedAccessSsidNames": [ | ||||
|             "TipWlan-cloud-hotspot-access" | ||||
|         ], | ||||
|         "osuSsidName": "TipWlan-cloud-3-radios", | ||||
|         "operatorProfileName": "TipWlan-Hotspot20-Operator", | ||||
|         "venueProfileName": "TipWlan-Hotspot20-Venue", | ||||
|         "idProviderProfileNames": [ | ||||
|             "TipWlan-Hotspot20-OSU-Provider-2", | ||||
|             "TipWlan-Hotspot20-OSU-Provider" | ||||
|         ], | ||||
|         "profileType": "hotspot_2pt0", | ||||
|         "associatedSsids": [ | ||||
|             "TipWlan-cloud-hotspot-access" | ||||
|         ] | ||||
|     }, | ||||
|     "createdTimestamp": 1602182806040, | ||||
|     "lastModifiedTimestamp": 1602182806040, | ||||
|     "childProfileIds": [ | ||||
|         6, | ||||
|         7, | ||||
|         8, | ||||
|         9 | ||||
|     ] | ||||
| } | ||||
| ] | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 24, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint", | ||||
| 		"name": "TipWlan-Passpoint-Config", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointProfile", | ||||
| 			"enableInterworkingAndHs20": true, | ||||
| 			"hessid": null, | ||||
| 			"passpointAccessNetworkType": "free_public_network", | ||||
| 			"passpointNetworkAuthenticationType": "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": "PasspointConnectionCapability", | ||||
| 					"connectionCapabilitiesPortNumber": 8888, | ||||
| 					"connectionCapabilitiesStatus": "open", | ||||
| 					"connectionCapabilitiesIpProtocol": "TCP" | ||||
| 				} | ||||
| 			], | ||||
| 			"ipAddressTypeAvailability": "public_IPv4_address_available", | ||||
| 			"qosMapSetConfiguration": null, | ||||
| 			"apGeospatialLocation": null, | ||||
| 			"apCivicLocation": null, | ||||
| 			"apPublicLocationIdUri": null, | ||||
| 			"gasAddr3Behaviour": "p2pSpecWorkaroundFromRequest", | ||||
| 			"anqpDomainId": 1234, | ||||
| 			"disableDownstreamGroupAddressedForwarding": false, | ||||
| 			"enable2pt4GHz": true, | ||||
| 			"enable5GHz": true, | ||||
| 			"associatedAccessSsidProfileIds": [ | ||||
| 				15 | ||||
| 			], | ||||
| 			"osuSsidProfileId": 16, | ||||
| 			"passpointOperatorProfileId": 17, | ||||
| 			"passpointVenueProfileId": 18, | ||||
| 			"passpointOsuProviderProfileIds": [ | ||||
| 				19, | ||||
| 				20 | ||||
| 			], | ||||
| 			"accessNetworkType": "free_public_network", | ||||
| 			"networkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
| 			"profileType": "passpoint" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370807, | ||||
| 		"lastModifiedTimestamp": 1606778370807, | ||||
| 		"childProfileIds": [ | ||||
| 			17, | ||||
| 			18, | ||||
| 			19, | ||||
| 			20 | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,256 +1,270 @@ | ||||
| [ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 8, | ||||
|     "customerId": 2, | ||||
|     "profileType": "id_provider", | ||||
|     "name": "TipWlan-Hotspot20-OSU-Provider", | ||||
|     "details": { | ||||
|         "model_type": "Hotspot20IdProviderProfile", | ||||
|         "domainName": "rogers.com", | ||||
|         "mccMncList": [ | ||||
|             { | ||||
|                 "model_type": "MccMnc", | ||||
|                 "mcc": 302, | ||||
|                 "mnc": 720, | ||||
|                 "iso": "ca", | ||||
|                 "country": "Canada", | ||||
|                 "countryCode": 1, | ||||
|                 "network": "Rogers AT&T Wireless", | ||||
|                 "mccMncPairing": "302,720" | ||||
|             } | ||||
|         ], | ||||
|         "naiRealmList": [ | ||||
|             { | ||||
|                 "model_type": "NaiRealmInformation", | ||||
|                 "naiRealms": [ | ||||
|                     "rogers.com" | ||||
|                 ], | ||||
|                 "encoding": 0, | ||||
|                 "eapMethods": [ | ||||
|                     "EAP-TTLS with username/password", | ||||
|                     "EAP-TLS with certificate" | ||||
|                 ], | ||||
|                 "eapMap": { | ||||
|                     "EAP-TTLS with username/password": [ | ||||
|                         "Credential Type:username/password", | ||||
|                         "Non-EAP Inner Authentication Type:MSCHAPV2" | ||||
|                     ], | ||||
|                     "EAP-TLS with certificate": [ | ||||
|                         "Credential Type:Certificate" | ||||
|                     ] | ||||
|                 } | ||||
|             } | ||||
|         ], | ||||
|         "osuIconList": [ | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "eng", | ||||
|                 "iconLocale": "en_CA", | ||||
|                 "iconName": "icon32eng", | ||||
|                 "filePath": "/tmp/icon32eng.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32eng.png", | ||||
|                 "hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "fra", | ||||
|                 "iconLocale": "fr_CA", | ||||
|                 "iconName": "icon32fra", | ||||
|                 "filePath": "/tmp/icon32fra.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32fra.png", | ||||
|                 "hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "eng", | ||||
|                 "iconLocale": "en_US", | ||||
|                 "iconName": "icon32usa", | ||||
|                 "filePath": "/tmp/icon32usa.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32usa.png", | ||||
|                 "hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png" | ||||
|             } | ||||
|         ], | ||||
|         "osuServerUri": "https://example.com/osu/rogers/", | ||||
|         "osuFriendlyName": [ | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "en_CA", | ||||
|                 "dupleIso3Language": "eng", | ||||
|                 "dupleName": "Example provider rogers", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "eng:Example provider rogers" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "fr_CA", | ||||
|                 "dupleIso3Language": "fra", | ||||
|                 "dupleName": "Exemple de fournisseur rogers", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "fra:Exemple de fournisseur rogers" | ||||
|             } | ||||
|         ], | ||||
|         "osuNaiStandalone": "anonymous@rogers.com", | ||||
|         "osuNaiShared": "anonymous@rogers.com", | ||||
|         "osuMethodList": [ | ||||
|             1, | ||||
|             0 | ||||
|         ], | ||||
|         "osuServiceDescription": [ | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "en_CA", | ||||
|                 "dupleIso3Language": "eng", | ||||
|                 "dupleName": "Example services rogers", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "eng:Example services rogers" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "fr_CA", | ||||
|                 "dupleIso3Language": "fra", | ||||
|                 "dupleName": "Exemples de services rogers", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "fra:Exemples de services rogers" | ||||
|             } | ||||
|         ], | ||||
|         "profileType": "id_provider" | ||||
|     }, | ||||
|     "createdTimestamp": 1602182805654, | ||||
|     "lastModifiedTimestamp": 1602182805654, | ||||
|     "childProfileIds": [] | ||||
| }, | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 9, | ||||
|     "customerId": 2, | ||||
|     "profileType": "id_provider", | ||||
|     "name": "TipWlan-Hotspot20-OSU-Provider-2", | ||||
|     "details": { | ||||
|         "model_type": "Hotspot20IdProviderProfile", | ||||
|         "domainName": "telus.com", | ||||
|         "mccMncList": [ | ||||
|             { | ||||
|                 "model_type": "MccMnc", | ||||
|                 "mcc": 302, | ||||
|                 "mnc": 220, | ||||
|                 "iso": "ca", | ||||
|                 "country": "Canada", | ||||
|                 "countryCode": 1, | ||||
|                 "network": "Telus Mobility", | ||||
|                 "mccMncPairing": "302,220" | ||||
|             } | ||||
|         ], | ||||
|         "naiRealmList": [ | ||||
|             { | ||||
|                 "model_type": "NaiRealmInformation", | ||||
|                 "naiRealms": [ | ||||
|                     "telus.com" | ||||
|                 ], | ||||
|                 "encoding": 0, | ||||
|                 "eapMethods": [ | ||||
|                     "EAP-TTLS with username/password", | ||||
|                     "EAP-TLS with certificate" | ||||
|                 ], | ||||
|                 "eapMap": { | ||||
|                     "EAP-TTLS with username/password": [ | ||||
|                         "Credential Type:username/password", | ||||
|                         "Non-EAP Inner Authentication Type:MSCHAPV2" | ||||
|                     ], | ||||
|                     "EAP-TLS with certificate": [ | ||||
|                         "Credential Type:Certificate" | ||||
|                     ] | ||||
|                 } | ||||
|             } | ||||
|         ], | ||||
|         "osuIconList": [ | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "eng", | ||||
|                 "iconLocale": "en_CA", | ||||
|                 "iconName": "icon32eng", | ||||
|                 "filePath": "/tmp/icon32eng.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32eng.png", | ||||
|                 "hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "fra", | ||||
|                 "iconLocale": "fr_CA", | ||||
|                 "iconName": "icon32fra", | ||||
|                 "filePath": "/tmp/icon32fra.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32fra.png", | ||||
|                 "hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "OsuIcon", | ||||
|                 "iconWidth": 32, | ||||
|                 "iconHeight": 32, | ||||
|                 "languageCode": "eng", | ||||
|                 "iconLocale": "en_US", | ||||
|                 "iconName": "icon32usa", | ||||
|                 "filePath": "/tmp/icon32usa.png", | ||||
|                 "imageUrl": "https://localhost:9096/icon32usa.png", | ||||
|                 "hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png" | ||||
|             } | ||||
|         ], | ||||
|         "osuServerUri": "https://example.com/osu/telus/", | ||||
|         "osuFriendlyName": [ | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "en_CA", | ||||
|                 "dupleIso3Language": "eng", | ||||
|                 "dupleName": "Example provider telus", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "eng:Example provider telus" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "fr_CA", | ||||
|                 "dupleIso3Language": "fra", | ||||
|                 "dupleName": "Exemple de fournisseur telus", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "fra:Exemple de fournisseur telus" | ||||
|             } | ||||
|         ], | ||||
|         "osuNaiStandalone": "anonymous@telus.com", | ||||
|         "osuNaiShared": "anonymous@telus.com", | ||||
|         "osuMethodList": [ | ||||
|             1, | ||||
|             0 | ||||
|         ], | ||||
|         "osuServiceDescription": [ | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "en_CA", | ||||
|                 "dupleIso3Language": "eng", | ||||
|                 "dupleName": "Example services telus", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "eng:Example services telus" | ||||
|             }, | ||||
|             { | ||||
|                 "model_type": "Hotspot20Duple", | ||||
|                 "locale": "fr_CA", | ||||
|                 "dupleIso3Language": "fra", | ||||
|                 "dupleName": "Exemples de services telus", | ||||
|                 "defaultDupleSeparator": ":", | ||||
|                 "asDuple": "fra:Exemples de services telus" | ||||
|             } | ||||
|         ], | ||||
|         "profileType": "id_provider" | ||||
|     }, | ||||
|     "createdTimestamp": 1602182805660, | ||||
|     "lastModifiedTimestamp": 1602182805660, | ||||
|     "childProfileIds": [] | ||||
| } | ||||
|     ] | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 19, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "rogers.com", | ||||
| 			"mccMncList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointMccMnc", | ||||
| 					"mcc": 302, | ||||
| 					"mnc": 720, | ||||
| 					"iso": "ca", | ||||
| 					"country": "Canada", | ||||
| 					"countryCode": 1, | ||||
| 					"network": "Rogers AT&T Wireless", | ||||
| 					"mccMncPairing": "302,720" | ||||
| 				} | ||||
| 			], | ||||
| 			"naiRealmList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointNaiRealmInformation", | ||||
| 					"naiRealms": [ | ||||
| 						"rogers.com" | ||||
| 					], | ||||
| 					"encoding": 0, | ||||
| 					"eapMethods": [ | ||||
| 						"EAP-TTLS with username/password", | ||||
| 						"EAP-TLS with certificate" | ||||
| 					], | ||||
| 					"eapMap": { | ||||
| 						"EAP-TTLS with username/password": [ | ||||
| 							"Credential Type:username/password", | ||||
| 							"Non-EAP Inner Authentication Type:MSCHAPV2" | ||||
| 						], | ||||
| 						"EAP-TLS with certificate": [ | ||||
| 							"Credential Type:Certificate" | ||||
| 						] | ||||
| 					} | ||||
| 				} | ||||
| 			], | ||||
| 			"osuIconList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "eng", | ||||
| 					"iconLocale": "en_CA", | ||||
| 					"iconName": "icon32eng", | ||||
| 					"filePath": "/tmp/icon32eng.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32eng.png", | ||||
| 					"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "fra", | ||||
| 					"iconLocale": "fr_CA", | ||||
| 					"iconName": "icon32fra", | ||||
| 					"filePath": "/tmp/icon32fra.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32fra.png", | ||||
| 					"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "eng", | ||||
| 					"iconLocale": "en_US", | ||||
| 					"iconName": "icon32usa", | ||||
| 					"filePath": "/tmp/icon32usa.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32usa.png", | ||||
| 					"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png" | ||||
| 				} | ||||
| 			], | ||||
| 			"osuServerUri": "https://example.com/osu/rogers", | ||||
| 			"osuFriendlyName": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example provider rogers", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Example provider rogers" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemple de fournisseur rogers", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "fra:Exemple de fournisseur rogers" | ||||
| 				} | ||||
| 			], | ||||
| 			"osuNaiStandalone": "anonymous@rogers.com", | ||||
| 			"osuNaiShared": "anonymous@rogers.com", | ||||
| 			"osuMethodList": [ | ||||
| 				1, | ||||
| 				0 | ||||
| 			], | ||||
| 			"osuServiceDescription": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example services rogers", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Example services rogers" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemples de services rogers", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "fra:Exemples de services rogers" | ||||
| 				} | ||||
| 			], | ||||
| 			"roamingOi": [ | ||||
| 				1, | ||||
| 				2, | ||||
| 				3, | ||||
| 				4 | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370345, | ||||
| 		"lastModifiedTimestamp": 1606778370345, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 20, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider-2", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "telus.com", | ||||
| 			"mccMncList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointMccMnc", | ||||
| 					"mcc": 302, | ||||
| 					"mnc": 220, | ||||
| 					"iso": "ca", | ||||
| 					"country": "Canada", | ||||
| 					"countryCode": 1, | ||||
| 					"network": "Telus Mobility", | ||||
| 					"mccMncPairing": "302,220" | ||||
| 				} | ||||
| 			], | ||||
| 			"naiRealmList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointNaiRealmInformation", | ||||
| 					"naiRealms": [ | ||||
| 						"telus.com" | ||||
| 					], | ||||
| 					"encoding": 0, | ||||
| 					"eapMethods": [ | ||||
| 						"EAP-TTLS with username/password", | ||||
| 						"EAP-TLS with certificate" | ||||
| 					], | ||||
| 					"eapMap": { | ||||
| 						"EAP-TTLS with username/password": [ | ||||
| 							"Credential Type:username/password", | ||||
| 							"Non-EAP Inner Authentication Type:MSCHAPV2" | ||||
| 						], | ||||
| 						"EAP-TLS with certificate": [ | ||||
| 							"Credential Type:Certificate" | ||||
| 						] | ||||
| 					} | ||||
| 				} | ||||
| 			], | ||||
| 			"osuIconList": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "eng", | ||||
| 					"iconLocale": "en_CA", | ||||
| 					"iconName": "icon32eng", | ||||
| 					"filePath": "/tmp/icon32eng.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32eng.png", | ||||
| 					"hs20IconString": "32:32:eng:image/png:icon32eng:/tmp/icon32eng.png" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "fra", | ||||
| 					"iconLocale": "fr_CA", | ||||
| 					"iconName": "icon32fra", | ||||
| 					"filePath": "/tmp/icon32fra.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32fra.png", | ||||
| 					"hs20IconString": "32:32:fra:image/png:icon32fra:/tmp/icon32fra.png" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointOsuIcon", | ||||
| 					"iconWidth": 32, | ||||
| 					"iconHeight": 32, | ||||
| 					"languageCode": "eng", | ||||
| 					"iconLocale": "en_US", | ||||
| 					"iconName": "icon32usa", | ||||
| 					"filePath": "/tmp/icon32usa.png", | ||||
| 					"imageUrl": "https://localhost:9096/icon32usa.png", | ||||
| 					"hs20IconString": "32:32:eng:image/png:icon32usa:/tmp/icon32usa.png" | ||||
| 				} | ||||
| 			], | ||||
| 			"osuServerUri": "https://example.com/osu/telus", | ||||
| 			"osuFriendlyName": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example provider telus", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Example provider telus" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemple de fournisseur telus", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "fra:Exemple de fournisseur telus" | ||||
| 				} | ||||
| 			], | ||||
| 			"osuNaiStandalone": "anonymous@telus.com", | ||||
| 			"osuNaiShared": "anonymous@telus.com", | ||||
| 			"osuMethodList": [ | ||||
| 				1, | ||||
| 				0 | ||||
| 			], | ||||
| 			"osuServiceDescription": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example services telus", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Example services telus" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemples de services telus", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "fra:Exemples de services telus" | ||||
| 				} | ||||
| 			], | ||||
| 			"roamingOi": [ | ||||
| 				1, | ||||
| 				2, | ||||
| 				3, | ||||
| 				4 | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370351, | ||||
| 		"lastModifiedTimestamp": 1606778370351, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,298 +1,299 @@ | ||||
| [ | ||||
|  { | ||||
|         "model_type": "Profile", | ||||
|         "id": 2, | ||||
|         "customerId": 2, | ||||
|         "profileType": "metrics", | ||||
|         "name": "Metrics-Profile-3-radios", | ||||
|         "details": { | ||||
|             "model_type": "ServiceMetricsCollectionConfigProfile", | ||||
|             "radioTypes": [ | ||||
|                 "is5GHzU", | ||||
|                 "is5GHzL", | ||||
|                 "is2dot4GHz" | ||||
|             ], | ||||
|             "serviceMetricDataTypes": [ | ||||
|                 "ApNode", | ||||
|                 "ApSsid", | ||||
|                 "Client", | ||||
|                 "Channel", | ||||
|                 "Neighbour" | ||||
|             ], | ||||
|             "metricConfigParameterMap": { | ||||
|                 "ApNode": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "ApNode" | ||||
|                     } | ||||
|                 ], | ||||
|                 "ApSsid": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "ApSsid" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "ApSsid" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "ApSsid" | ||||
|                     } | ||||
|                 ], | ||||
|                 "Client": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Client" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Client" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricRadioConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Client" | ||||
|                     } | ||||
|                 ], | ||||
|                 "Channel": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Channel" | ||||
|                     } | ||||
|                 ], | ||||
|                 "Neighbour": [ | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 60, | ||||
|                         "channelSurveyType": "ON_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzU", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is5GHzL", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     }, | ||||
|                     { | ||||
|                         "model_type": "ServiceMetricSurveyConfigParameters", | ||||
|                         "samplingInterval": 30, | ||||
|                         "reportingIntervalSeconds": 120, | ||||
|                         "channelSurveyType": "OFF_CHANNEL", | ||||
|                         "scanIntervalMillis": 0, | ||||
|                         "percentUtilizationThreshold": 10, | ||||
|                         "delayMillisecondsThreshold": 600, | ||||
|                         "statsReportFormat": "RAW", | ||||
|                         "radioType": "is2dot4GHz", | ||||
|                         "serviceMetricDataType": "Neighbour" | ||||
|                     } | ||||
|                 ] | ||||
|             }, | ||||
|             "profileType": "metrics" | ||||
|         }, | ||||
|         "createdTimestamp": 1602113058699, | ||||
|         "lastModifiedTimestamp": 1602113058699, | ||||
|         "childProfileIds": [] | ||||
|     } | ||||
| ] | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 10, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "service_metrics_collection_config", | ||||
| 		"name": "Metrics-Profile-3-Radios", | ||||
| 		"details": { | ||||
| 			"model_type": "ServiceMetricsCollectionConfigProfile", | ||||
| 			"radioTypes": [ | ||||
| 				"is5GHzL", | ||||
| 				"is2dot4GHz", | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"serviceMetricDataTypes": [ | ||||
| 				"ApNode", | ||||
| 				"ApSsid", | ||||
| 				"Client", | ||||
| 				"Channel", | ||||
| 				"Neighbour" | ||||
| 			], | ||||
| 			"metricConfigParameterMap": { | ||||
| 				"ApNode": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"ApSsid": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					} | ||||
| 				], | ||||
| 				"Client": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Client" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Client" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Client" | ||||
| 					} | ||||
| 				], | ||||
| 				"Channel": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"Neighbour": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Neighbour", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				] | ||||
| 			}, | ||||
| 			"profileType": "service_metrics_collection_config" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369931, | ||||
| 		"lastModifiedTimestamp": 1606778369931, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,37 +1,37 @@ | ||||
| [ | ||||
| { | ||||
|         "model_type": "Profile", | ||||
|         "id": 6, | ||||
|         "customerId": 2, | ||||
|         "profileType": "operator", | ||||
|         "name": "TipWlan-Hotspot20-Operator", | ||||
|         "details": { | ||||
|             "model_type": "OperatorProfile", | ||||
|             "domainName": "telecominfraproject.atlassian.net", | ||||
|             "serverOnlyAuthenticatedL2EncryptionNetwork": false, | ||||
|             "x509CertificateLocation": "/etc/ca.pem", | ||||
|             "operatorFriendlyName": [ | ||||
|                 { | ||||
|                     "model_type": "Hotspot20Duple", | ||||
|                     "locale": "en_CA", | ||||
|                     "dupleIso3Language": "eng", | ||||
|                     "dupleName": "Default friendly operator name", | ||||
|                     "defaultDupleSeparator": ":", | ||||
|                     "asDuple": "eng:Default friendly operator name" | ||||
|                 }, | ||||
|                 { | ||||
|                     "model_type": "Hotspot20Duple", | ||||
|                     "locale": "fr_CA", | ||||
|                     "dupleIso3Language": "fra", | ||||
|                     "dupleName": "Nom de l'opérateur convivial par défaut", | ||||
|                     "defaultDupleSeparator": ":", | ||||
|                     "asDuple": "fra:Nom de l'opérateur convivial par défaut" | ||||
|                 } | ||||
|             ], | ||||
|             "profileType": "operator" | ||||
|         }, | ||||
|         "createdTimestamp": 1602113058719, | ||||
|         "lastModifiedTimestamp": 1602113058719, | ||||
|         "childProfileIds": [] | ||||
|     } | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 17, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_operator", | ||||
| 		"name": "TipWlan-Passpoint-Operator", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOperatorProfile", | ||||
| 			"serverOnlyAuthenticatedL2EncryptionNetwork": false, | ||||
| 			"x509CertificateLocation": "/etc/ca.pem", | ||||
| 			"operatorFriendlyName": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Default friendly passpoint_operator name", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"asDuple": "eng:Default friendly passpoint_operator name" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointDuple", | ||||
| 					"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": "passpoint_operator" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369945, | ||||
| 		"lastModifiedTimestamp": 1606778369945, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 13, | ||||
|     "id": 11, | ||||
|     "customerId": 2, | ||||
|     "profileType": "rf", | ||||
|     "name": "TipWlan-rf", | ||||
| @@ -9,6 +9,8 @@ | ||||
|         "rfConfigMap": { | ||||
|             "is5GHz": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHz", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
| @@ -16,7 +18,6 @@ | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "multicastRate": "auto", | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
| @@ -24,33 +25,12 @@ | ||||
|                     "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 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
| @@ -60,16 +40,24 @@ | ||||
|                     "nonWifiThresholdTimeInSeconds": 180, | ||||
|                     "obssHopMode": "NON_WIFI" | ||||
|                 }, | ||||
|                 "bestApEnabled": null, | ||||
|                 "multicastRate": "auto", | ||||
|                 "managementRate": "auto", | ||||
|                 "rxCellSizeDb": -90, | ||||
|                 "probeResponseThresholdDb": -90, | ||||
|                 "clientDisconnectThresholdDb": -90, | ||||
|                 "eirpTxPower": 18, | ||||
|                 "bestApSettings": { | ||||
|                     "model_type": "RadioBestApSettings", | ||||
|                     "mlComputed": true, | ||||
|                     "dropInSnrPercentage": 30, | ||||
|                     "minLoadFactor": 40 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65 | ||||
|                 } | ||||
|             }, | ||||
|             "is2dot4GHz": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is2dot4GHz", | ||||
|                 "radioMode": "modeN", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
| @@ -77,7 +65,6 @@ | ||||
|                 "channelBandwidth": "is20MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "multicastRate": "auto", | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
| @@ -85,33 +72,12 @@ | ||||
|                     "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 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
| @@ -121,16 +87,24 @@ | ||||
|                     "nonWifiThresholdTimeInSeconds": 180, | ||||
|                     "obssHopMode": "NON_WIFI" | ||||
|                 }, | ||||
|                 "bestApEnabled": null, | ||||
|                 "multicastRate": "auto", | ||||
|                 "managementRate": "auto", | ||||
|                 "rxCellSizeDb": -90, | ||||
|                 "probeResponseThresholdDb": -90, | ||||
|                 "clientDisconnectThresholdDb": -90, | ||||
|                 "eirpTxPower": 18, | ||||
|                 "bestApSettings": { | ||||
|                     "model_type": "RadioBestApSettings", | ||||
|                     "mlComputed": true, | ||||
|                     "dropInSnrPercentage": 20, | ||||
|                     "minLoadFactor": 50 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65 | ||||
|                 } | ||||
|             }, | ||||
|             "is5GHzU": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzU", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
| @@ -138,7 +112,6 @@ | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "multicastRate": "auto", | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
| @@ -146,33 +119,12 @@ | ||||
|                     "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 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
| @@ -182,16 +134,24 @@ | ||||
|                     "nonWifiThresholdTimeInSeconds": 180, | ||||
|                     "obssHopMode": "NON_WIFI" | ||||
|                 }, | ||||
|                 "bestApEnabled": null, | ||||
|                 "multicastRate": "auto", | ||||
|                 "managementRate": "auto", | ||||
|                 "rxCellSizeDb": -90, | ||||
|                 "probeResponseThresholdDb": -90, | ||||
|                 "clientDisconnectThresholdDb": -90, | ||||
|                 "eirpTxPower": 18, | ||||
|                 "bestApSettings": { | ||||
|                     "model_type": "RadioBestApSettings", | ||||
|                     "mlComputed": true, | ||||
|                     "dropInSnrPercentage": 30, | ||||
|                     "minLoadFactor": 40 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65 | ||||
|                 } | ||||
|             }, | ||||
|             "is5GHzL": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzL", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
| @@ -199,7 +159,6 @@ | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "multicastRate": "auto", | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
| @@ -207,33 +166,12 @@ | ||||
|                     "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 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
| @@ -243,18 +181,24 @@ | ||||
|                     "nonWifiThresholdTimeInSeconds": 180, | ||||
|                     "obssHopMode": "NON_WIFI" | ||||
|                 }, | ||||
|                 "bestApEnabled": null, | ||||
|                 "multicastRate": "auto", | ||||
|                 "managementRate": "auto", | ||||
|                 "rxCellSizeDb": -90, | ||||
|                 "probeResponseThresholdDb": -90, | ||||
|                 "clientDisconnectThresholdDb": -90, | ||||
|                 "eirpTxPower": 18, | ||||
|                 "bestApSettings": { | ||||
|                     "model_type": "RadioBestApSettings", | ||||
|                     "mlComputed": true, | ||||
|                     "dropInSnrPercentage": 30, | ||||
|                     "minLoadFactor": 40 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65 | ||||
|                 } | ||||
|             } | ||||
|         }, | ||||
|         "profileType": "rf" | ||||
|     }, | ||||
|     "createdTimestamp": 1602182806063, | ||||
|     "lastModifiedTimestamp": 1602182806063, | ||||
|     "createdTimestamp": 1606778369933, | ||||
|     "lastModifiedTimestamp": 1606778369933, | ||||
|     "childProfileIds": [] | ||||
| } | ||||
| @@ -4,72 +4,6 @@ | ||||
| 		"id": 5, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-hotspot-access", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-access", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzU", | ||||
| 				"is5GHzL", | ||||
| 				"is2dot4GHz" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "wpa2PSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": "testing123", | ||||
| 			"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": 1602113058718, | ||||
| 		"lastModifiedTimestamp": 1602113059547, | ||||
| 		"childProfileIds": [ | ||||
| 			10 | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 11, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-3-radios", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| @@ -80,13 +14,15 @@ | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "open", | ||||
| 			"secureMode": "wpa2OnlyPSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": null, | ||||
| 			"keyStr": "openwifi", | ||||
| 			"broadcastSsid": "enabled", | ||||
| 			"keyRefresh": 0, | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -94,7 +30,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -106,17 +42,83 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				} | ||||
| 			}, | ||||
| 			"bonjourGatewayProfileId": null, | ||||
| 			"enable80211w": null, | ||||
| 			"wepConfig": null, | ||||
| 			"forwardMode": "BRIDGE", | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369598, | ||||
| 		"lastModifiedTimestamp": 1606778369598, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 15, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-passpoint-access", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-access", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "wpa2PSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": "testing123", | ||||
| 			"broadcastSsid": "enabled", | ||||
| 			"keyRefresh": 0, | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| 			"clientBandwidthLimitDown": 0, | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is2dot4GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				} | ||||
| 			}, | ||||
| 			"bonjourGatewayProfileId": null, | ||||
| @@ -125,10 +127,77 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1602183994766, | ||||
| 		"lastModifiedTimestamp": 1602183994766, | ||||
| 		"createdTimestamp": 1606778369943, | ||||
| 		"lastModifiedTimestamp": 1606778370811, | ||||
| 		"childProfileIds": [ | ||||
| 			10 | ||||
| 			24 | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 16, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-passpoint-osu", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-osu", | ||||
| 			"appliedRadios": [ | ||||
| 				"is2dot4GHz" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "open", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": null, | ||||
| 			"broadcastSsid": "enabled", | ||||
| 			"keyRefresh": 0, | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| 			"clientBandwidthLimitDown": 0, | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is2dot4GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				} | ||||
| 			}, | ||||
| 			"bonjourGatewayProfileId": null, | ||||
| 			"enable80211w": null, | ||||
| 			"wepConfig": null, | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369944, | ||||
| 		"lastModifiedTimestamp": 1606778370352, | ||||
| 		"childProfileIds": [ | ||||
| 			19, | ||||
| 			20 | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -1,42 +1,43 @@ | ||||
| [ | ||||
|     { | ||||
|         "model_type": "Profile", | ||||
|         "id": 7, | ||||
|         "customerId": 2, | ||||
|         "profileType": "venue", | ||||
|         "name": "TipWlan-Hotspot20-Venue", | ||||
|         "details": { | ||||
|             "model_type": "VenueProfile", | ||||
|             "venueNameSet": [ | ||||
|                 { | ||||
|                     "model_type": "VenueName", | ||||
|                     "locale": "fr_CA", | ||||
|                     "dupleIso3Language": "fra", | ||||
|                     "dupleName": "Exemple de lieu", | ||||
|                     "defaultDupleSeparator": ":", | ||||
|                     "venueUrl": "http://www.example.com/info-fra", | ||||
|                     "asDuple": "fra:Exemple de lieu" | ||||
|                 }, | ||||
|                 { | ||||
|                     "model_type": "VenueName", | ||||
|                     "locale": "en_CA", | ||||
|                     "dupleIso3Language": "eng", | ||||
|                     "dupleName": "Example venue", | ||||
|                     "defaultDupleSeparator": ":", | ||||
|                     "venueUrl": "http://www.example.com/info-eng", | ||||
|                     "asDuple": "eng:Example venue" | ||||
|                 } | ||||
|             ], | ||||
|             "venueTypeAssignment": { | ||||
|                 "model_type": "VenueTypeAssignment", | ||||
|                 "venueDescription": "Research and Development Facility", | ||||
|                 "venueGroupId": 2, | ||||
|                 "venueTypeId": 8 | ||||
|             }, | ||||
|             "profileType": "venue" | ||||
|         }, | ||||
|         "createdTimestamp": 1602113058725, | ||||
|         "lastModifiedTimestamp": 1602113058725, | ||||
|         "childProfileIds": [] | ||||
|     } | ||||
| ] | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 18, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_venue", | ||||
| 		"name": "TipWlan-Passpoint-Venue", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointVenueProfile", | ||||
| 			"venueNameSet": [ | ||||
| 				{ | ||||
| 					"model_type": "PasspointVenueName", | ||||
| 					"locale": "fr_CA", | ||||
| 					"dupleIso3Language": "fra", | ||||
| 					"dupleName": "Exemple de lieu", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"venueUrl": "http://www.example.com/info-fra", | ||||
| 					"asDuple": "fra:Exemple de lieu" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"model_type": "PasspointVenueName", | ||||
| 					"locale": "en_CA", | ||||
| 					"dupleIso3Language": "eng", | ||||
| 					"dupleName": "Example passpoint_venue", | ||||
| 					"defaultDupleSeparator": ":", | ||||
| 					"venueUrl": "http://www.example.com/info-eng", | ||||
| 					"asDuple": "eng:Example passpoint_venue" | ||||
| 				} | ||||
| 			], | ||||
| 			"venueTypeAssignment": { | ||||
| 				"model_type": "PasspointVenueTypeAssignment", | ||||
| 				"venueDescription": "Research and Development Facility", | ||||
| 				"venueGroupId": 2, | ||||
| 				"venueTypeId": 8 | ||||
| 			}, | ||||
| 			"profileType": "passpoint_venue" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369950, | ||||
| 		"lastModifiedTimestamp": 1606778369950, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
| ] | ||||
|   | ||||
| @@ -7,6 +7,7 @@ | ||||
|         <listEntry value="1"/> | ||||
|     </listAttribute> | ||||
|     <booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/> | ||||
|     <booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/> | ||||
|     <booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/> | ||||
|     <booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/> | ||||
|     <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/> | ||||
|   | ||||
| @@ -23,7 +23,16 @@ | ||||
| 			<artifactId>opensync-ext-interface</artifactId> | ||||
| 			<version>${tip-wlan-cloud.release.version}</version> | ||||
| 		</dependency> | ||||
|  | ||||
| 		<dependency> | ||||
| 			<artifactId>client-models</artifactId> | ||||
| 			<groupId>com.telecominfraproject.wlan</groupId> | ||||
| 			<version>${tip-wlan-cloud.release.version}</version> | ||||
| 		</dependency> | ||||
| 		<dependency> | ||||
| 			<artifactId>customer-models</artifactId> | ||||
| 			<groupId>com.telecominfraproject.wlan</groupId> | ||||
| 			<version>${tip-wlan-cloud.release.version}</version> | ||||
| 		</dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>com.vmware.ovsdb</groupId> | ||||
| 			<artifactId>ovsdb-client</artifactId> | ||||
| @@ -37,12 +46,6 @@ | ||||
| 		</dependency> | ||||
|  | ||||
| 		<!-- MQTT dependencies BEGIN --> | ||||
| 		<dependency> | ||||
| 			<groupId>com.telecominfraproject.wlan</groupId> | ||||
| 			<artifactId>tip-wlan-opensync-protobuf</artifactId> | ||||
| 			<version>${tip-wlan-cloud.release.version}</version> | ||||
| 		</dependency> | ||||
|  | ||||
| 		<dependency> | ||||
| 			<artifactId>service-metric-service-interface</artifactId> | ||||
| 			<groupId>com.telecominfraproject.wlan</groupId> | ||||
|   | ||||
| @@ -30,7 +30,7 @@ import com.telecominfraproject.wlan.opensync.external.integration.models.Opensyn | ||||
| import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPVIFState; | ||||
| import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncWifiAssociatedClients; | ||||
| import com.telecominfraproject.wlan.opensync.ovsdb.dao.OvsdbDao; | ||||
| import com.telecominfraproject.wlan.opensync.ovsdb.dao.utilities.OvsdbStringConstants; | ||||
| import com.telecominfraproject.wlan.opensync.util.OvsdbStringConstants; | ||||
| import com.telecominfraproject.wlan.opensync.util.SslUtil; | ||||
| import com.telecominfraproject.wlan.profile.network.models.ApNetworkConfiguration; | ||||
| import com.vmware.ovsdb.callback.ConnectionCallback; | ||||
| @@ -57,7 +57,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|     @org.springframework.beans.factory.annotation.Value("${tip.wlan.ovsdb.listenPort:6640}") | ||||
|     private int ovsdbListenPort; | ||||
|  | ||||
|     @org.springframework.beans.factory.annotation.Value("${tip.wlan.manager.collectionIntervalSec.deviceStats:120}") | ||||
|     @org.springframework.beans.factory.annotation.Value("${tip.wlan.manager.collectionIntervalSec.deviceStats:60}") | ||||
|     private long collectionIntervalSecDeviceStats; | ||||
|  | ||||
|     @org.springframework.beans.factory.annotation.Value("${tip.wlan.preventClientCnAlteration:false}") | ||||
| @@ -104,7 +104,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|                     // successfully connected - register it in our | ||||
|                     // connectedClients table | ||||
|                      | ||||
|  | ||||
|                     String key = alterClientCnIfRequired(clientCn, connectNodeInfo); | ||||
|                     ovsdbSessionMapInterface.newSession(key, ovsdbClient); | ||||
|  | ||||
| @@ -132,7 +132,6 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|             } | ||||
|  | ||||
|  | ||||
|             @Override | ||||
|             public void disconnected(OvsdbClient ovsdbClient) { | ||||
|                 String remoteHost = ovsdbClient.getConnectionInfo().getRemoteAddress().getHostAddress(); | ||||
| @@ -192,31 +191,37 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|         // connectedClients table | ||||
|         String apId = alterClientCnIfRequired(clientCn, connectNodeInfo); | ||||
|  | ||||
|         LOG.debug("Client connect for AP {}", apId); | ||||
|  | ||||
|         LOG.debug("Client {} connect for AP {}", clientCn, apId); | ||||
|          | ||||
|         ovsdbDao.removeAllPasspointConfigs(ovsdbClient); | ||||
|         ovsdbDao.removeAllSsids(ovsdbClient); // always     | ||||
|         ovsdbDao.removeAllInetConfigs(ovsdbClient);        | ||||
|         ovsdbDao.removeWifiRrm(ovsdbClient); | ||||
|         ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always | ||||
|          | ||||
|         OpensyncAPConfig opensyncAPConfig = extIntegrationInterface.getApConfig(apId); | ||||
|  | ||||
|         try { | ||||
|             ovsdbDao.provisionBridgePortInterface(ovsdbClient); | ||||
|         } catch (Exception e) { | ||||
|             LOG.warn("Could not provision Bridge->Port->Interface mapping.", e); | ||||
|         } | ||||
|         ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always | ||||
|         ovsdbDao.removeAllSsids(ovsdbClient); // always | ||||
|         ovsdbDao.removeWifiRrm(ovsdbClient); | ||||
|  | ||||
|         if (opensyncAPConfig != null) { | ||||
|              | ||||
|             ovsdbDao.configureWifiRadios(ovsdbClient, opensyncAPConfig); | ||||
|             ovsdbDao.configureInterfaces(ovsdbClient); | ||||
|             ovsdbDao.configureSsids(ovsdbClient, opensyncAPConfig); | ||||
|             ovsdbDao.configureWifiRrm(ovsdbClient, opensyncAPConfig); | ||||
|             ovsdbDao.configureGreTunnels(ovsdbClient, opensyncAPConfig);        | ||||
|             ovsdbDao.createVlanNetworkInterfaces(ovsdbClient, opensyncAPConfig); | ||||
|              | ||||
|             ovsdbDao.configureSsids(ovsdbClient, opensyncAPConfig); | ||||
|             if (opensyncAPConfig.getHotspotConfig() != null) { | ||||
|                 ovsdbDao.configureHotspots(ovsdbClient, opensyncAPConfig); | ||||
|             } | ||||
|              | ||||
|             ovsdbDao.configureInterfaces(ovsdbClient); | ||||
|  | ||||
|             ovsdbDao.configureStatsFromProfile(ovsdbClient, opensyncAPConfig); | ||||
|             if (((ApNetworkConfiguration) opensyncAPConfig.getApProfile().getDetails()).getSyntheticClientEnabled()) { | ||||
|                 ovsdbDao.enableNetworkProbeForSyntheticClient(ovsdbClient); | ||||
|             if (ovsdbDao.getDeviceStatsReportingInterval(ovsdbClient) != collectionIntervalSecDeviceStats) { | ||||
|                 ovsdbDao.updateDeviceStatsReportingInterval(ovsdbClient, collectionIntervalSecDeviceStats); | ||||
|             } | ||||
|              | ||||
|         } else { | ||||
|             LOG.info("No Configuration available for {}", apId); | ||||
|         } | ||||
|  | ||||
|         LOG.debug("Client connect Done"); | ||||
| @@ -261,20 +266,29 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|             LOG.warn("AP with id " + apId + " does not have a config to apply."); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         ovsdbDao.removeAllSsids(ovsdbClient); // always | ||||
|          | ||||
|         ovsdbDao.removeAllPasspointConfigs(ovsdbClient); | ||||
|         ovsdbDao.removeAllSsids(ovsdbClient); // always     | ||||
|         ovsdbDao.removeAllInetConfigs(ovsdbClient);        | ||||
|         ovsdbDao.removeWifiRrm(ovsdbClient); | ||||
|         ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always | ||||
|  | ||||
|         ovsdbDao.configureWifiRadios(ovsdbClient, opensyncAPConfig); | ||||
|         ovsdbDao.configureInterfaces(ovsdbClient); | ||||
|         ovsdbDao.configureSsids(ovsdbClient, opensyncAPConfig); | ||||
|         ovsdbDao.configureWifiRrm(ovsdbClient, opensyncAPConfig); | ||||
|         ovsdbDao.configureGreTunnels(ovsdbClient, opensyncAPConfig);        | ||||
|         ovsdbDao.createVlanNetworkInterfaces(ovsdbClient, opensyncAPConfig); | ||||
|          | ||||
|         ovsdbDao.configureSsids(ovsdbClient, opensyncAPConfig); | ||||
|         if (opensyncAPConfig.getHotspotConfig() != null) { | ||||
|             ovsdbDao.configureHotspots(ovsdbClient, opensyncAPConfig); | ||||
|         } | ||||
|         ovsdbDao.configureStatsFromProfile(ovsdbClient, opensyncAPConfig); | ||||
|          | ||||
|         ovsdbDao.configureInterfaces(ovsdbClient); | ||||
|  | ||||
|         ovsdbDao.configureStatsFromProfile(ovsdbClient, opensyncAPConfig); | ||||
|         if (ovsdbDao.getDeviceStatsReportingInterval(ovsdbClient) != collectionIntervalSecDeviceStats) { | ||||
|             ovsdbDao.updateDeviceStatsReportingInterval(ovsdbClient, collectionIntervalSecDeviceStats); | ||||
|         } | ||||
|         LOG.debug("Finished processConfigChanged for {}", apId); | ||||
|  | ||||
|     } | ||||
| @@ -354,80 +368,82 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|         CompletableFuture<TableUpdates> awCf = ovsdbClient.monitor(OvsdbDao.ovsdbName, | ||||
|                 OvsdbDao.dhcpLeasedIpDbTable + "_" + key, | ||||
|                 new MonitorRequests(ImmutableMap.of(OvsdbDao.dhcpLeasedIpDbTable, new MonitorRequest())), | ||||
|                 new MonitorRequests(ImmutableMap.of(OvsdbDao.dhcpLeasedIpDbTable, | ||||
|                         new MonitorRequest(new MonitorSelect(true, true, true, true)))), | ||||
|                 new MonitorCallback() { | ||||
|  | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|                         LOG.info(OvsdbDao.dhcpLeasedIpDbTable + "_" + key + " monitor callback received {}", | ||||
|                                 tableUpdates); | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.dhcpLeasedIpDbTable + "_" + key + " monitor callback received {}", | ||||
|                                     tableUpdates); | ||||
|  | ||||
|                         List<Map<String, String>> insert = new ArrayList<>(); | ||||
|                         List<Map<String, String>> delete = new ArrayList<>(); | ||||
|                         List<Map<String, String>> update = new ArrayList<>(); | ||||
|                             List<Map<String, String>> insert = new ArrayList<>(); | ||||
|                             List<Map<String, String>> delete = new ArrayList<>(); | ||||
|                             List<Map<String, String>> update = new ArrayList<>(); | ||||
|  | ||||
|                         for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) { | ||||
|                             for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) { | ||||
|                             for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) { | ||||
|                                 for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) { | ||||
|  | ||||
|                                 if (rowUpdate.getNew() == null) { | ||||
|                                     Map<String, String> rowMap = new HashMap<>(); | ||||
|                                     if (rowUpdate.getNew() == null) { | ||||
|                                         Map<String, String> rowMap = new HashMap<>(); | ||||
|  | ||||
|                                     rowUpdate.getOld().getColumns().entrySet().stream().forEach(c -> { | ||||
|                                         OvsdbDao.translateDhcpFpValueToString(c, rowMap); | ||||
|                                     }); | ||||
|                                         rowUpdate.getOld().getColumns().entrySet().stream().forEach(c -> { | ||||
|                                             OvsdbDao.translateDhcpFpValueToString(c, rowMap); | ||||
|                                         }); | ||||
|  | ||||
|                                     delete.add(rowMap); | ||||
|                                     // delete | ||||
|                                 } else if (rowUpdate.getOld() == null) { | ||||
|                                     // insert | ||||
|                                     Map<String, String> rowMap = new HashMap<>(); | ||||
|                                         delete.add(rowMap); | ||||
|                                         // delete | ||||
|                                     } else if (rowUpdate.getOld() == null) { | ||||
|                                         // insert | ||||
|                                         Map<String, String> rowMap = new HashMap<>(); | ||||
|  | ||||
|                                     rowUpdate.getNew().getColumns().entrySet().stream().forEach(c -> { | ||||
|                                         OvsdbDao.translateDhcpFpValueToString(c, rowMap); | ||||
|                                     }); | ||||
|                                         rowUpdate.getNew().getColumns().entrySet().stream().forEach(c -> { | ||||
|                                             OvsdbDao.translateDhcpFpValueToString(c, rowMap); | ||||
|                                         }); | ||||
|  | ||||
|                                     insert.add(rowMap); | ||||
|                                 } else { | ||||
|                                         insert.add(rowMap); | ||||
|                                     } else { | ||||
|  | ||||
|                                     // insert | ||||
|                                     Map<String, String> rowMap = new HashMap<>(); | ||||
|                                         // insert | ||||
|                                         Map<String, String> rowMap = new HashMap<>(); | ||||
|  | ||||
|                                     rowUpdate.getOld().getColumns().putAll(rowUpdate.getNew().getColumns()); | ||||
|                                     rowUpdate.getOld().getColumns().entrySet().stream().forEach(c -> { | ||||
|                                         OvsdbDao.translateDhcpFpValueToString(c, rowMap); | ||||
|                                     }); | ||||
|                                         rowUpdate.getOld().getColumns().putAll(rowUpdate.getNew().getColumns()); | ||||
|                                         rowUpdate.getOld().getColumns().entrySet().stream().forEach(c -> { | ||||
|                                             OvsdbDao.translateDhcpFpValueToString(c, rowMap); | ||||
|                                         }); | ||||
|  | ||||
|                                     update.add(rowMap); | ||||
|                                         update.add(rowMap); | ||||
|  | ||||
|                                     } | ||||
|                                 } | ||||
|                             } | ||||
|                         } | ||||
|  | ||||
|                         if (!insert.isEmpty()) { | ||||
|                             extIntegrationInterface.dhcpLeasedIpDbTableUpdate(insert, key, RowUpdateOperation.INSERT); | ||||
|                         } | ||||
|                             if (!insert.isEmpty()) { | ||||
|                                 extIntegrationInterface.dhcpLeasedIpDbTableUpdate(insert, key, RowUpdateOperation.INSERT); | ||||
|                             } | ||||
|  | ||||
|                         if (!delete.isEmpty()) { | ||||
|                             extIntegrationInterface.dhcpLeasedIpDbTableUpdate(delete, key, RowUpdateOperation.DELETE); | ||||
|                             if (!delete.isEmpty()) { | ||||
|                                 extIntegrationInterface.dhcpLeasedIpDbTableUpdate(delete, key, RowUpdateOperation.DELETE); | ||||
|  | ||||
|                         } | ||||
|                             } | ||||
|  | ||||
|                         if (!update.isEmpty()) { | ||||
|                             extIntegrationInterface.dhcpLeasedIpDbTableUpdate(update, key, RowUpdateOperation.MODIFY); | ||||
|                             if (!update.isEmpty()) { | ||||
|                                 extIntegrationInterface.dhcpLeasedIpDbTableUpdate(update, key, RowUpdateOperation.MODIFY); | ||||
|  | ||||
|                             } | ||||
|                         } catch (Exception e) { | ||||
|                             LOG.error("dhcpLeasedIpDbTableUpdate failed", e); | ||||
|                         } | ||||
|  | ||||
|                     } | ||||
|  | ||||
|  | ||||
|                 }); | ||||
|  | ||||
|         awCf.join(); | ||||
|  | ||||
|  | ||||
|     } | ||||
|  | ||||
|  | ||||
|     private void monitorCommandStateDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException { | ||||
|  | ||||
|         CompletableFuture<TableUpdates> csCf = ovsdbClient.monitor(OvsdbDao.ovsdbName, | ||||
| @@ -437,87 +453,92 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|                         LOG.info(OvsdbDao.commandStateDbTable + "_" + key + " monitor callback received {}", | ||||
|                                 tableUpdates); | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.commandStateDbTable + "_" + key + " monitor callback received {}", | ||||
|                                     tableUpdates); | ||||
|  | ||||
|                         List<Map<String, String>> insert = new ArrayList<>(); | ||||
|                         List<Map<String, String>> delete = new ArrayList<>(); | ||||
|                         List<Map<String, String>> update = new ArrayList<>(); | ||||
|                             List<Map<String, String>> insert = new ArrayList<>(); | ||||
|                             List<Map<String, String>> delete = new ArrayList<>(); | ||||
|                             List<Map<String, String>> update = new ArrayList<>(); | ||||
|  | ||||
|                             for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) { | ||||
|                                 for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) { | ||||
|  | ||||
|                         for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) { | ||||
|                             for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) { | ||||
|                                     if (rowUpdate.getNew() == null) { | ||||
|                                         Map<String, String> rowMap = new HashMap<>(); | ||||
|  | ||||
|                                 if (rowUpdate.getNew() == null) { | ||||
|                                     Map<String, String> rowMap = new HashMap<>(); | ||||
|                                         rowUpdate.getOld().getColumns().entrySet().stream().forEach(c -> { | ||||
|                                             rowMap.put(c.getKey(), c.getValue().toString()); | ||||
|                                         }); | ||||
|  | ||||
|                                     rowUpdate.getOld().getColumns().entrySet().stream().forEach(c -> { | ||||
|                                         rowMap.put(c.getKey(), c.getValue().toString()); | ||||
|                                     }); | ||||
|                                         delete.add(rowMap); | ||||
|                                         // delete | ||||
|                                     } else if (rowUpdate.getOld() == null) { | ||||
|                                         // insert | ||||
|                                         Map<String, String> rowMap = new HashMap<>(); | ||||
|  | ||||
|                                     delete.add(rowMap); | ||||
|                                     // delete | ||||
|                                 } else if (rowUpdate.getOld() == null) { | ||||
|                                     // insert | ||||
|                                     Map<String, String> rowMap = new HashMap<>(); | ||||
|                                         rowUpdate.getNew().getColumns().entrySet().stream().forEach(c -> { | ||||
|                                             rowMap.put(c.getKey(), c.getValue().toString()); | ||||
|                                         }); | ||||
|  | ||||
|                                     rowUpdate.getNew().getColumns().entrySet().stream().forEach(c -> { | ||||
|                                         rowMap.put(c.getKey(), c.getValue().toString()); | ||||
|                                     }); | ||||
|                                         insert.add(rowMap); | ||||
|                                     } else { | ||||
|  | ||||
|                                     insert.add(rowMap); | ||||
|                                 } else { | ||||
|                                         // insert | ||||
|                                         Map<String, String> rowMap = new HashMap<>(); | ||||
|  | ||||
|                                     // insert | ||||
|                                     Map<String, String> rowMap = new HashMap<>(); | ||||
|                                         rowUpdate.getOld().getColumns().putAll(rowUpdate.getNew().getColumns()); | ||||
|                                         rowUpdate.getOld().getColumns().entrySet().stream().forEach(c -> { | ||||
|                                             rowMap.put(c.getKey(), c.getValue().toString()); | ||||
|                                         }); | ||||
|  | ||||
|                                     rowUpdate.getOld().getColumns().putAll(rowUpdate.getNew().getColumns()); | ||||
|                                     rowUpdate.getOld().getColumns().entrySet().stream().forEach(c -> { | ||||
|                                         rowMap.put(c.getKey(), c.getValue().toString()); | ||||
|                                     }); | ||||
|  | ||||
|                                     update.add(rowMap); | ||||
|                                         update.add(rowMap); | ||||
|  | ||||
|                                     } | ||||
|                                 } | ||||
|                             } | ||||
|                         } | ||||
|  | ||||
|                         if (!insert.isEmpty()) { | ||||
|                             extIntegrationInterface.commandStateDbTableUpdate(insert, key, RowUpdateOperation.INSERT); | ||||
|                         } | ||||
|                             if (!insert.isEmpty()) { | ||||
|                                 extIntegrationInterface.commandStateDbTableUpdate(insert, key, RowUpdateOperation.INSERT); | ||||
|                             } | ||||
|  | ||||
|                         if (!delete.isEmpty()) { | ||||
|                             extIntegrationInterface.commandStateDbTableUpdate(delete, key, RowUpdateOperation.DELETE); | ||||
|                             if (!delete.isEmpty()) { | ||||
|                                 extIntegrationInterface.commandStateDbTableUpdate(delete, key, RowUpdateOperation.DELETE); | ||||
|  | ||||
|                         } | ||||
|                             } | ||||
|  | ||||
|                         if (!update.isEmpty()) { | ||||
|                             extIntegrationInterface.commandStateDbTableUpdate(update, key, RowUpdateOperation.MODIFY); | ||||
|                             if (!update.isEmpty()) { | ||||
|                                 extIntegrationInterface.commandStateDbTableUpdate(update, key, RowUpdateOperation.MODIFY); | ||||
|  | ||||
|                             } | ||||
|                         } catch (Exception e) { | ||||
|                             LOG.error("commandStateDbTableUpdate failed", e); | ||||
|                         } | ||||
|  | ||||
|                     } | ||||
|  | ||||
|  | ||||
|                 }); | ||||
|  | ||||
|         csCf.join(); | ||||
|  | ||||
|  | ||||
|     } | ||||
|  | ||||
|     private void monitorAwlanNodeDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException { | ||||
|         CompletableFuture<TableUpdates> awCf = ovsdbClient.monitor(OvsdbDao.ovsdbName, | ||||
|                 OvsdbDao.awlanNodeDbTable + "_" + key, | ||||
|                 new MonitorRequests(ImmutableMap.of(OvsdbDao.awlanNodeDbTable, new MonitorRequest())), | ||||
|                 new MonitorRequests(ImmutableMap.of(OvsdbDao.awlanNodeDbTable, new MonitorRequest(new MonitorSelect(true, false, false, true)))), | ||||
|                 new MonitorCallback() { | ||||
|  | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|                         LOG.info(OvsdbDao.awlanNodeDbTable + "_" + key + " monitor callback received {}", tableUpdates); | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.awlanNodeDbTable + "_" + key + " monitor callback received {}", tableUpdates); | ||||
|  | ||||
|                         extIntegrationInterface.awlanNodeDbTableUpdate( | ||||
|                                 ovsdbDao.getOpensyncAWLANNode(tableUpdates, key, ovsdbClient), key); | ||||
|                             extIntegrationInterface.awlanNodeDbTableUpdate( | ||||
|                                     ovsdbDao.getOpensyncAWLANNode(tableUpdates, key, ovsdbClient), key); | ||||
|                         } catch (Exception e) { | ||||
|                             LOG.error("awlanNodeDbTableUpdate failed",e); | ||||
|                         } | ||||
|                     } | ||||
|  | ||||
|                 }); | ||||
| @@ -535,83 +556,88 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|  | ||||
|                         LOG.info(OvsdbDao.wifiAssociatedClientsDbTable + "_" + key + " monitor callback received {}", | ||||
|                                 tableUpdates); | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.wifiAssociatedClientsDbTable + "_" + key + " monitor callback received {}", | ||||
|                                     tableUpdates); | ||||
|  | ||||
|                         List<OpensyncWifiAssociatedClients> associatedClients = new ArrayList<>(); | ||||
|                             List<OpensyncWifiAssociatedClients> associatedClients = new ArrayList<>(); | ||||
|  | ||||
|                         for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) { | ||||
|                             for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) { | ||||
|  | ||||
|                             for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) { | ||||
|                                 if ((rowUpdate.getOld() != null) && (rowUpdate.getNew() == null)) { | ||||
|                                     Row row = rowUpdate.getOld(); | ||||
|                                     String deletedClientMac = row.getStringColumn("mac"); | ||||
|                                     // take care of the deletes as we go through | ||||
|                                     // the updates, as we want to delete before | ||||
|                                     // adding anyway. | ||||
|                                     extIntegrationInterface.wifiAssociatedClientsDbTableDelete(deletedClientMac, key); | ||||
|                                 } else { | ||||
|                                     associatedClients.addAll( | ||||
|                                             ovsdbDao.getOpensyncWifiAssociatedClients(rowUpdate, key, ovsdbClient)); | ||||
|                                 for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) { | ||||
|                                     if ((rowUpdate.getOld() != null) && (rowUpdate.getNew() == null)) { | ||||
|                                         Row row = rowUpdate.getOld(); | ||||
|                                         String deletedClientMac = row.getStringColumn("mac"); | ||||
|                                         // take care of the deletes as we go through | ||||
|                                         // the updates, as we want to delete before | ||||
|                                         // adding anyway. | ||||
|                                         extIntegrationInterface.wifiAssociatedClientsDbTableDelete(deletedClientMac, key); | ||||
|                                     } else { | ||||
|                                         associatedClients.addAll( | ||||
|                                                 ovsdbDao.getOpensyncWifiAssociatedClients(rowUpdate, key, ovsdbClient)); | ||||
|                                     } | ||||
|                                 } | ||||
|  | ||||
|                             } | ||||
|  | ||||
|                             // now address the update/add | ||||
|                             extIntegrationInterface.wifiAssociatedClientsDbTableUpdate(associatedClients, key); | ||||
|                         } catch (Exception e) { | ||||
|                            LOG.error("wifiAssociatedClientsDbTableUpdate failed", e); | ||||
|                         } | ||||
|  | ||||
|  | ||||
|                         // now address the update/add | ||||
|                         extIntegrationInterface.wifiAssociatedClientsDbTableUpdate(associatedClients, key); | ||||
|  | ||||
|                     } | ||||
|  | ||||
|                 }); | ||||
|  | ||||
|         acCf.join(); | ||||
|  | ||||
|  | ||||
|     } | ||||
|  | ||||
|     private void monitorWifiInetStateDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException { | ||||
|         CompletableFuture<TableUpdates> isCf = ovsdbClient | ||||
|                 .monitor(OvsdbDao.ovsdbName, OvsdbDao.wifiInetStateDbTable + "_" + key, | ||||
|                         new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiInetStateDbTable, | ||||
|                                 new MonitorRequest(new MonitorSelect(false, true, true, true)))), | ||||
|                         new MonitorCallback() { | ||||
|         CompletableFuture<TableUpdates> isCf = ovsdbClient.monitor(OvsdbDao.ovsdbName, | ||||
|                 OvsdbDao.wifiInetStateDbTable + "_" + key, | ||||
|                 new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiInetStateDbTable, | ||||
|                         new MonitorRequest(new MonitorSelect(true, true, true, true)))), | ||||
|                 new MonitorCallback() { | ||||
|  | ||||
|                             @Override | ||||
|                             public void update(TableUpdates tableUpdates) { | ||||
|                                 LOG.info(OvsdbDao.ovsdbName, | ||||
|                                         OvsdbDao.wifiInetStateDbTable + "_" + key + " monitor callback received {}", | ||||
|                                         tableUpdates); | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.ovsdbName, | ||||
|                                     OvsdbDao.wifiInetStateDbTable + "_" + key + " monitor callback received {}", | ||||
|                                     tableUpdates); | ||||
|  | ||||
|                                 List<OpensyncAPInetState> inetStateInsertOrUpdate = new ArrayList<>(); | ||||
|                                 List<OpensyncAPInetState> inetStateDelete = new ArrayList<>(); | ||||
|                             List<OpensyncAPInetState> inetStateInsertOrUpdate = new ArrayList<>(); | ||||
|                             List<OpensyncAPInetState> inetStateDelete = new ArrayList<>(); | ||||
|  | ||||
|                                 for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) { | ||||
|                             for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) { | ||||
|  | ||||
|                                     for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) { | ||||
|  | ||||
|                                         if (rowUpdate.getNew() == null) { | ||||
|                                             inetStateDelete.addAll(ovsdbDao | ||||
|                                                     .getOpensyncApInetStateForRowUpdate(rowUpdate, key, ovsdbClient)); | ||||
|                                         } else { | ||||
|                                             inetStateInsertOrUpdate.addAll(ovsdbDao | ||||
|                                                     .getOpensyncApInetStateForRowUpdate(rowUpdate, key, ovsdbClient)); | ||||
|                                         } | ||||
|                                 for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) { | ||||
|  | ||||
|                                     if (rowUpdate.getNew() == null) { | ||||
|                                         inetStateDelete.addAll( | ||||
|                                                 ovsdbDao.getOpensyncApInetStateForRowUpdate(rowUpdate, key, ovsdbClient)); | ||||
|                                     } else { | ||||
|                                         inetStateInsertOrUpdate.addAll( | ||||
|                                                 ovsdbDao.getOpensyncApInetStateForRowUpdate(rowUpdate, key, ovsdbClient)); | ||||
|                                     } | ||||
|  | ||||
|                                 } | ||||
|  | ||||
|  | ||||
|                                 // delete first | ||||
|                                 extIntegrationInterface.wifiInetStateDbTableUpdate(inetStateDelete, key); | ||||
|  | ||||
|                                 // now process updates and mutations | ||||
|                                 extIntegrationInterface.wifiInetStateDbTableUpdate(inetStateInsertOrUpdate, key); | ||||
|  | ||||
|                             } | ||||
|  | ||||
|                         }); | ||||
|                             // delete first | ||||
|                             extIntegrationInterface.wifiInetStateDbTableUpdate(inetStateDelete, key); | ||||
|  | ||||
|                             // now process updates and mutations | ||||
|                             extIntegrationInterface.wifiInetStateDbTableUpdate(inetStateInsertOrUpdate, key); | ||||
|                         } catch (Exception e) { | ||||
|                             LOG.error("wifiInetStateDbTableUpdate failed",e); | ||||
|                         } | ||||
|  | ||||
|                     } | ||||
|  | ||||
|                 }); | ||||
|         isCf.join(); | ||||
|  | ||||
|     } | ||||
| @@ -620,16 +646,20 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|         CompletableFuture<TableUpdates> rsCf = ovsdbClient.monitor(OvsdbDao.ovsdbName, | ||||
|                 OvsdbDao.wifiRadioStateDbTable + "_" + key, | ||||
|                 new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiRadioStateDbTable, new MonitorRequest())), | ||||
|                 new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiRadioStateDbTable, new MonitorRequest(new MonitorSelect(true, false, false, true)))), | ||||
|                 new MonitorCallback() { | ||||
|  | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|                         LOG.info(OvsdbDao.wifiRadioStateDbTable + "_" + key + " monitor callback received {}", | ||||
|                                 tableUpdates); | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.wifiRadioStateDbTable + "_" + key + " monitor callback received {}", | ||||
|                                     tableUpdates); | ||||
|  | ||||
|                         extIntegrationInterface.wifiRadioStatusDbTableUpdate( | ||||
|                                 ovsdbDao.getOpensyncAPRadioState(tableUpdates, key, ovsdbClient), key); | ||||
|                             extIntegrationInterface.wifiRadioStatusDbTableUpdate( | ||||
|                                     ovsdbDao.getOpensyncAPRadioState(tableUpdates, key, ovsdbClient), key); | ||||
|                         } catch (Exception e) { | ||||
|                             LOG.error("wifiRadioStatusDbTableUpdate failed",e); | ||||
|                         } | ||||
|                     } | ||||
|  | ||||
|                 }); | ||||
| @@ -641,46 +671,49 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|         CompletableFuture<TableUpdates> vsCf = ovsdbClient.monitor(OvsdbDao.ovsdbName, | ||||
|                 OvsdbDao.wifiVifStateDbTable + "_" + key, | ||||
|                 new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiVifStateDbTable, new MonitorRequest())), | ||||
|                 new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiVifStateDbTable, new MonitorRequest(new MonitorSelect(true, true, true, true)))), | ||||
|                 new MonitorCallback() { | ||||
|  | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|                         LOG.info(OvsdbDao.wifiVifStateDbTable + "_" + key + " monitor callback received {}", | ||||
|                                 tableUpdates); | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.wifiVifStateDbTable + "_" + key + " monitor callback received {}", | ||||
|                                     tableUpdates); | ||||
|  | ||||
|                         List<OpensyncAPVIFState> vifsToDelete = new ArrayList<>(); | ||||
|                         List<OpensyncAPVIFState> vifsToInsertOrUpdate = new ArrayList<>(); | ||||
|                         for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) { | ||||
|                             List<OpensyncAPVIFState> vifsToDelete = new ArrayList<>(); | ||||
|                             List<OpensyncAPVIFState> vifsToInsertOrUpdate = new ArrayList<>(); | ||||
|                             for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) { | ||||
|  | ||||
|                             for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) { | ||||
|                                 for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) { | ||||
|  | ||||
|                                 if (rowUpdate.getNew() == null) { | ||||
|                                     // this is a deletion | ||||
|                                     vifsToDelete.addAll( | ||||
|                                             ovsdbDao.getOpensyncApVifStateForRowUpdate(rowUpdate, key, ovsdbClient)); | ||||
|                                     if (rowUpdate.getNew() == null) { | ||||
|                                         // this is a deletion | ||||
|                                         vifsToDelete.addAll( | ||||
|                                                 ovsdbDao.getOpensyncApVifStateForRowUpdate(rowUpdate, key, ovsdbClient)); | ||||
|  | ||||
|                                 } else { | ||||
|                                     // either an insert or | ||||
|                                     // mutuate/update | ||||
|                                     vifsToInsertOrUpdate.addAll( | ||||
|                                             ovsdbDao.getOpensyncApVifStateForRowUpdate(rowUpdate, key, ovsdbClient)); | ||||
|                                     } else { | ||||
|                                         // either an insert or | ||||
|                                         // mutuate/update | ||||
|                                         vifsToInsertOrUpdate.addAll( | ||||
|                                                 ovsdbDao.getOpensyncApVifStateForRowUpdate(rowUpdate, key, ovsdbClient)); | ||||
|  | ||||
|                                     } | ||||
|  | ||||
|                                 } | ||||
|  | ||||
|                             } | ||||
|                                 // delete first, if required | ||||
|                                 if (!vifsToDelete.isEmpty()) { | ||||
|                                     extIntegrationInterface.wifiVIFStateDbTableDelete(vifsToDelete, key); | ||||
|                                 } | ||||
|                                 if (!vifsToInsertOrUpdate.isEmpty()) { | ||||
|                                     extIntegrationInterface.wifiVIFStateDbTableUpdate(vifsToInsertOrUpdate, key); | ||||
|                                 } | ||||
|  | ||||
|                             // delete first, if required | ||||
|                             if (!vifsToDelete.isEmpty()) { | ||||
|                                 extIntegrationInterface.wifiVIFStateDbTableDelete(vifsToDelete, key); | ||||
|                             } | ||||
|                             if (!vifsToInsertOrUpdate.isEmpty()) { | ||||
|                                 extIntegrationInterface.wifiVIFStateDbTableUpdate(vifsToInsertOrUpdate, key); | ||||
|                             } | ||||
|  | ||||
|                         } catch (Exception e) { | ||||
|                             LOG.error("wifiVIFStateDbTableUpdate failed", e); | ||||
|                         } | ||||
|  | ||||
|  | ||||
|                     } | ||||
|  | ||||
|                 }); | ||||
| @@ -723,14 +756,10 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|     @Override | ||||
|     public String processFirmwareFlash(String apId, String firmwareVersion, String username) { | ||||
|         OvsdbSession session = ovsdbSessionMapInterface.getSession(apId); | ||||
|         OvsdbClient ovsdbClient = session.getOvsdbClient(); | ||||
|         try { | ||||
|             ovsdbDao.configureFirmwareFlash(session.getOvsdbClient(), apId, firmwareVersion, username); | ||||
|         } catch (Exception e) { | ||||
|             LOG.error("Failed to flash firmware for " + apId + " " + e.getLocalizedMessage()); | ||||
|             monitorOvsdbStateTables(ovsdbClient, apId); // turn back on so we | ||||
|                                                         // can go forward and | ||||
|                                                         // recover | ||||
|             return "Failed to flash firmware for " + apId + " " + e.getLocalizedMessage(); | ||||
|  | ||||
|         } | ||||
| @@ -839,7 +868,6 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|             return "failed to trigger a factory reset of AP " + apId; | ||||
|         } | ||||
|  | ||||
|  | ||||
|     } | ||||
|  | ||||
|     public String alterClientCnIfRequired(String clientCn, ConnectNodeInfo connectNodeInfo) { | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,5 +1,7 @@ | ||||
| package com.telecominfraproject.wlan.opensync.ovsdb.dao.models; | ||||
|  | ||||
| import java.util.Map; | ||||
|  | ||||
| import com.vmware.ovsdb.protocol.operation.notation.Uuid; | ||||
|  | ||||
| public class WifiInetConfigInfo implements Cloneable{ | ||||
| @@ -17,22 +19,126 @@ public class WifiInetConfigInfo implements Cloneable{ | ||||
| 	public String inetAddr; | ||||
| 	public int mtu; | ||||
| 	public String netmask; | ||||
| 	public String gateway; | ||||
| 	public Map<String,String> dns; | ||||
| 	public Map<String,String> dhcpd; | ||||
|  | ||||
|      | ||||
|     @Override | ||||
|     public WifiInetConfigInfo clone() { | ||||
|         try { | ||||
|             WifiInetConfigInfo ret = (WifiInetConfigInfo)super.clone(); | ||||
|             if (dns != null) ret.dns = this.dns; | ||||
|             if (dhcpd != null) ret.dhcpd = this.dhcpd; | ||||
|             return ret; | ||||
|         }catch(CloneNotSupportedException e) {                 | ||||
|             throw new IllegalStateException("Cannot clone ", e); | ||||
|         }             | ||||
|     } | ||||
|  | ||||
|      | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return String.format( | ||||
|                 "WifiInetConfigInfo [nat=%s, broadcast=%s, enabled=%s, ifName=%s, ifType=%s, ipAssignScheme=%s, network=%s, uuid=%s, inetAddr=%s, mtu=%s, netmask=%s, vlanId=%s]", | ||||
|                 nat, broadcast, enabled, ifName, ifType, ipAssignScheme, network, uuid,inetAddr, mtu, netmask, vlanId); | ||||
|     } | ||||
| 	public int hashCode() { | ||||
| 		final int prime = 31; | ||||
| 		int result = 1; | ||||
| 		result = prime * result + ((broadcast == null) ? 0 : broadcast.hashCode()); | ||||
| 		result = prime * result + ((dhcpd == null) ? 0 : dhcpd.hashCode()); | ||||
| 		result = prime * result + ((dns == null) ? 0 : dns.hashCode()); | ||||
| 		result = prime * result + (enabled ? 1231 : 1237); | ||||
| 		result = prime * result + ((gateway == null) ? 0 : gateway.hashCode()); | ||||
| 		result = prime * result + ((ifName == null) ? 0 : ifName.hashCode()); | ||||
| 		result = prime * result + ((ifType == null) ? 0 : ifType.hashCode()); | ||||
| 		result = prime * result + ((inetAddr == null) ? 0 : inetAddr.hashCode()); | ||||
| 		result = prime * result + ((ipAssignScheme == null) ? 0 : ipAssignScheme.hashCode()); | ||||
| 		result = prime * result + mtu; | ||||
| 		result = prime * result + (nat ? 1231 : 1237); | ||||
| 		result = prime * result + ((netmask == null) ? 0 : netmask.hashCode()); | ||||
| 		result = prime * result + (network ? 1231 : 1237); | ||||
| 		result = prime * result + ((uuid == null) ? 0 : uuid.hashCode()); | ||||
| 		result = prime * result + vlanId; | ||||
| 		return result; | ||||
| 	} | ||||
|  | ||||
|  | ||||
| 	@Override | ||||
| 	public boolean equals(Object obj) { | ||||
| 		if (this == obj) | ||||
| 			return true; | ||||
| 		if (obj == null) | ||||
| 			return false; | ||||
| 		if (getClass() != obj.getClass()) | ||||
| 			return false; | ||||
| 		WifiInetConfigInfo other = (WifiInetConfigInfo) obj; | ||||
| 		if (broadcast == null) { | ||||
| 			if (other.broadcast != null) | ||||
| 				return false; | ||||
| 		} else if (!broadcast.equals(other.broadcast)) | ||||
| 			return false; | ||||
| 		if (dhcpd == null) { | ||||
| 			if (other.dhcpd != null) | ||||
| 				return false; | ||||
| 		} else if (!dhcpd.equals(other.dhcpd)) | ||||
| 			return false; | ||||
| 		if (dns == null) { | ||||
| 			if (other.dns != null) | ||||
| 				return false; | ||||
| 		} else if (!dns.equals(other.dns)) | ||||
| 			return false; | ||||
| 		if (enabled != other.enabled) | ||||
| 			return false; | ||||
| 		if (gateway == null) { | ||||
| 			if (other.gateway != null) | ||||
| 				return false; | ||||
| 		} else if (!gateway.equals(other.gateway)) | ||||
| 			return false; | ||||
| 		if (ifName == null) { | ||||
| 			if (other.ifName != null) | ||||
| 				return false; | ||||
| 		} else if (!ifName.equals(other.ifName)) | ||||
| 			return false; | ||||
| 		if (ifType == null) { | ||||
| 			if (other.ifType != null) | ||||
| 				return false; | ||||
| 		} else if (!ifType.equals(other.ifType)) | ||||
| 			return false; | ||||
| 		if (inetAddr == null) { | ||||
| 			if (other.inetAddr != null) | ||||
| 				return false; | ||||
| 		} else if (!inetAddr.equals(other.inetAddr)) | ||||
| 			return false; | ||||
| 		if (ipAssignScheme == null) { | ||||
| 			if (other.ipAssignScheme != null) | ||||
| 				return false; | ||||
| 		} else if (!ipAssignScheme.equals(other.ipAssignScheme)) | ||||
| 			return false; | ||||
| 		if (mtu != other.mtu) | ||||
| 			return false; | ||||
| 		if (nat != other.nat) | ||||
| 			return false; | ||||
| 		if (netmask == null) { | ||||
| 			if (other.netmask != null) | ||||
| 				return false; | ||||
| 		} else if (!netmask.equals(other.netmask)) | ||||
| 			return false; | ||||
| 		if (network != other.network) | ||||
| 			return false; | ||||
| 		if (uuid == null) { | ||||
| 			if (other.uuid != null) | ||||
| 				return false; | ||||
| 		} else if (!uuid.equals(other.uuid)) | ||||
| 			return false; | ||||
| 		if (vlanId != other.vlanId) | ||||
| 			return false; | ||||
| 		return true; | ||||
| 	} | ||||
|  | ||||
|  | ||||
| 	@Override | ||||
| 	public String toString() { | ||||
| 		return "WifiInetConfigInfo [nat=" + nat + ", enabled=" + enabled + ", ifName=" + ifName + ", ifType=" + ifType | ||||
| 				+ ", ipAssignScheme=" + ipAssignScheme + ", network=" + network + ", uuid=" + uuid + ", vlanId=" | ||||
| 				+ vlanId + ", broadcast=" + broadcast + ", inetAddr=" + inetAddr + ", mtu=" + mtu + ", netmask=" | ||||
| 				+ netmask + ", gateway=" + gateway + ", dns=" + dns + ", dhcpd=" + dhcpd + "]"; | ||||
| 	} | ||||
|      | ||||
| } | ||||
| @@ -3,6 +3,7 @@ package com.telecominfraproject.wlan.opensync.ovsdb.dao.models; | ||||
| import java.util.HashMap; | ||||
| import java.util.HashSet; | ||||
| import java.util.Map; | ||||
| import java.util.Objects; | ||||
| import java.util.Set; | ||||
|  | ||||
| import com.vmware.ovsdb.protocol.operation.notation.Uuid; | ||||
| @@ -44,6 +45,30 @@ public class WifiRadioConfigInfo implements Cloneable { | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hash(beaconInterval, channel, channelMode, country, enabled, freqBand, htMode, hwConfig, hwType, | ||||
|                 ifName, txPower, uuid, vifConfigUuids); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object obj) { | ||||
|         if (this == obj) { | ||||
|             return true; | ||||
|         } | ||||
|         if (!(obj instanceof WifiRadioConfigInfo)) { | ||||
|             return false; | ||||
|         } | ||||
|         WifiRadioConfigInfo other = (WifiRadioConfigInfo) obj; | ||||
|         return beaconInterval == other.beaconInterval && channel == other.channel | ||||
|                 && Objects.equals(channelMode, other.channelMode) && Objects.equals(country, other.country) | ||||
|                 && enabled == other.enabled && Objects.equals(freqBand, other.freqBand) | ||||
|                 && Objects.equals(htMode, other.htMode) && Objects.equals(hwConfig, other.hwConfig) | ||||
|                 && Objects.equals(hwType, other.hwType) && Objects.equals(ifName, other.ifName) | ||||
|                 && Objects.equals(txPower, other.txPower) && Objects.equals(uuid, other.uuid) | ||||
|                 && Objects.equals(vifConfigUuids, other.vifConfigUuids); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
| 	public String toString() { | ||||
| 		return String.format( | ||||
| 				"WifiRadioConfigInfo [vifConfigUuids=%s, freqBand=%s, channel=%s, txPower=%s, channelMode=%s, enabled=%s, htMode=%s, hwConfig=%s, hwType=%s, country=%s, bcn_int=%s, ifName=%s, uuid=%s]", | ||||
|   | ||||
| @@ -1,13 +1,18 @@ | ||||
| package com.telecominfraproject.wlan.opensync.ovsdb.dao.models; | ||||
|  | ||||
| import java.util.HashMap; | ||||
| import java.util.HashSet; | ||||
| import java.util.Map; | ||||
| import java.util.Objects; | ||||
| import java.util.Set; | ||||
|  | ||||
| import com.vmware.ovsdb.protocol.operation.notation.Uuid; | ||||
|  | ||||
| public class WifiVifConfigInfo implements Cloneable{ | ||||
|      | ||||
| public class WifiVifConfigInfo implements Cloneable { | ||||
|  | ||||
|     // multi_ap | ||||
|     // {"key":{"enum":["set",["backhaul_bss","backhaul_sta","fronthaul_backhaul_bss","fronthaul_bss","none"]],"type":"string"},"min":0} | ||||
|  | ||||
|     public String bridge; | ||||
|     public int btm; | ||||
|     public boolean enabled; | ||||
| @@ -20,36 +25,109 @@ public class WifiVifConfigInfo implements Cloneable{ | ||||
|     public String ssidBroadcast; | ||||
|     public boolean uapsdEnable; | ||||
|     public int vifRadioIdx; | ||||
|     public Map<String,String> security; | ||||
|              | ||||
|     public Map<String, String> security; | ||||
|     public Map<String, String> captivePortal; | ||||
|     public Set<String> captiveAllowlist; | ||||
|     public Map<String, String> customOptions; | ||||
|     public Map<String, String> meshOptions; | ||||
|  | ||||
|     public Uuid uuid; | ||||
|     public int vlanId; | ||||
| 	public Boolean apBridge; | ||||
| 	public String minHwMode; | ||||
| 	public Set<String> macList; | ||||
| 	public String macListType; | ||||
|     public Boolean apBridge; | ||||
|     public String minHwMode; | ||||
|     public Set<String> macList; | ||||
|     public String macListType; | ||||
|     public int ftMobilityDomain; | ||||
|      | ||||
|     public boolean wpsPbc; | ||||
|     public boolean wps; | ||||
|     public boolean wds; | ||||
|     public String wpsPbcKeyId; | ||||
|     public boolean mcast2ucast; | ||||
|     public boolean dynamicBeacon; | ||||
|     public int vifDbgLvl; | ||||
|     public Set<Uuid> credentialConfigs; | ||||
|     public String parent; | ||||
|     public String multiAp; | ||||
|  | ||||
|     @Override | ||||
|     public WifiVifConfigInfo clone() { | ||||
|         try { | ||||
|             WifiVifConfigInfo ret = (WifiVifConfigInfo)super.clone(); | ||||
|              | ||||
|             if(security!=null) { | ||||
|             WifiVifConfigInfo ret = (WifiVifConfigInfo) super.clone(); | ||||
|  | ||||
|             if (security != null) { | ||||
|                 ret.security = new HashMap<>(this.security); | ||||
|             } | ||||
|             if (macList != null) { | ||||
|                 ret.macList = new HashSet<>(this.macList); | ||||
|             } | ||||
|             if (captivePortal != null) { | ||||
|                 ret.captivePortal = new HashMap<>(this.captivePortal); | ||||
|             } | ||||
|             if (captiveAllowlist != null) { | ||||
|                 ret.captiveAllowlist = new HashSet<>(this.captiveAllowlist); | ||||
|             } | ||||
|             if (customOptions != null) { | ||||
|                 ret.customOptions = new HashMap<>(this.customOptions); | ||||
|             } | ||||
|             if (meshOptions != null) { | ||||
|                 ret.meshOptions = new HashMap<>(this.meshOptions); | ||||
|             } | ||||
|             if (credentialConfigs != null) { | ||||
|                 ret.credentialConfigs = new HashSet<>(this.credentialConfigs); | ||||
|             } | ||||
|             return ret; | ||||
|         }catch(CloneNotSupportedException e) {                 | ||||
|         } catch (CloneNotSupportedException e) { | ||||
|             throw new IllegalStateException("Cannot clone ", e); | ||||
|         }             | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int hashCode() { | ||||
|         return Objects.hash(apBridge, bridge, btm, captiveAllowlist, captivePortal, credentialConfigs, customOptions, | ||||
|                 dynamicBeacon, enabled, ftMobilityDomain, ftPsk, groupRekey, ifName, macList, macListType, mcast2ucast, | ||||
|                 meshOptions, minHwMode, mode, multiAp, parent, rrm, security, ssid, ssidBroadcast, uapsdEnable, uuid, | ||||
|                 vifDbgLvl, vifRadioIdx, vlanId, wds, wps, wpsPbc, wpsPbcKeyId); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object obj) { | ||||
|         if (this == obj) | ||||
|             return true; | ||||
|         if (obj == null) | ||||
|             return false; | ||||
|         if (getClass() != obj.getClass()) | ||||
|             return false; | ||||
|         WifiVifConfigInfo other = (WifiVifConfigInfo) obj; | ||||
|         return Objects.equals(apBridge, other.apBridge) && Objects.equals(bridge, other.bridge) && btm == other.btm | ||||
|                 && Objects.equals(captiveAllowlist, other.captiveAllowlist) | ||||
|                 && Objects.equals(captivePortal, other.captivePortal) | ||||
|                 && Objects.equals(credentialConfigs, other.credentialConfigs) | ||||
|                 && Objects.equals(customOptions, other.customOptions) && dynamicBeacon == other.dynamicBeacon | ||||
|                 && enabled == other.enabled && ftMobilityDomain == other.ftMobilityDomain && ftPsk == other.ftPsk | ||||
|                 && groupRekey == other.groupRekey && Objects.equals(ifName, other.ifName) | ||||
|                 && Objects.equals(macList, other.macList) && Objects.equals(macListType, other.macListType) | ||||
|                 && mcast2ucast == other.mcast2ucast && Objects.equals(meshOptions, other.meshOptions) | ||||
|                 && Objects.equals(minHwMode, other.minHwMode) && Objects.equals(mode, other.mode) | ||||
|                 && Objects.equals(multiAp, other.multiAp) && Objects.equals(parent, other.parent) && rrm == other.rrm | ||||
|                 && Objects.equals(security, other.security) && Objects.equals(ssid, other.ssid) | ||||
|                 && Objects.equals(ssidBroadcast, other.ssidBroadcast) && uapsdEnable == other.uapsdEnable | ||||
|                 && Objects.equals(uuid, other.uuid) && vifDbgLvl == other.vifDbgLvl && vifRadioIdx == other.vifRadioIdx | ||||
|                 && vlanId == other.vlanId && wds == other.wds && wps == other.wps && wpsPbc == other.wpsPbc | ||||
|                 && Objects.equals(wpsPbcKeyId, other.wpsPbcKeyId); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return String.format( | ||||
|                 "WifiVifConfigInfo [bridge=%s, ap_bridge=%s, btm=%s, enabled=%s, ftPsk=%s, ftMobilityDomain=%s, groupRekey=%s, ifName=%s, minHwMode=%s, mode=%s, rrm=%s, ssid=%s, ssidBroadcast=%s, uapsdEnable=%s, vifRadioIdx=%s, security=%s, uuid=%s, vlanId=%s, macList=%s, macListType=%s]", | ||||
|                 bridge, apBridge, btm, enabled, ftPsk, ftMobilityDomain, groupRekey, ifName, minHwMode, mode, rrm, ssid, ssidBroadcast, uapsdEnable, | ||||
|                 vifRadioIdx, security, uuid, vlanId, macList, macListType); | ||||
|         return "WifiVifConfigInfo [bridge=" + bridge + ", btm=" + btm + ", enabled=" + enabled + ", ftPsk=" + ftPsk | ||||
|                 + ", groupRekey=" + groupRekey + ", ifName=" + ifName + ", mode=" + mode + ", rrm=" + rrm + ", ssid=" | ||||
|                 + ssid + ", ssidBroadcast=" + ssidBroadcast + ", uapsdEnable=" + uapsdEnable + ", vifRadioIdx=" | ||||
|                 + vifRadioIdx + ", security=" + security + ", captivePortal=" + captivePortal + ", captiveAllowlist=" | ||||
|                 + captiveAllowlist + ", customOptions=" + customOptions + ", meshOptions=" + meshOptions + ", uuid=" | ||||
|                 + uuid + ", vlanId=" + vlanId + ", apBridge=" + apBridge + ", minHwMode=" + minHwMode + ", macList=" | ||||
|                 + macList + ", macListType=" + macListType + ", ftMobilityDomain=" + ftMobilityDomain + ", wpsPbc=" | ||||
|                 + wpsPbc + ", wps=" + wps + ", wds=" + wds + ", wpsPbcKeyId=" + wpsPbcKeyId + ", mcast2ucast=" | ||||
|                 + mcast2ucast + ", dynamicBeacon=" + dynamicBeacon + ", vifDbgLvl=" + vifDbgLvl + ", credentialConfigs=" | ||||
|                 + credentialConfigs + ", parent=" + parent + ", multiAp=" + multiAp + "]"; | ||||
|     } | ||||
|      | ||||
|  | ||||
| } | ||||
| @@ -1,4 +1,4 @@ | ||||
| package com.telecominfraproject.wlan.opensync.ovsdb.dao.utilities; | ||||
| package com.telecominfraproject.wlan.opensync.util; | ||||
| 
 | ||||
| 
 | ||||
| public class OvsdbStringConstants { | ||||
| @@ -1,11 +1,11 @@ | ||||
| package com.telecominfraproject.wlan.opensync.ovsdb.dao.utilities; | ||||
| package com.telecominfraproject.wlan.opensync.util; | ||||
| 
 | ||||
| import com.telecominfraproject.wlan.client.models.ClientType; | ||||
| import com.telecominfraproject.wlan.core.model.equipment.RadioType; | ||||
| import com.telecominfraproject.wlan.core.model.equipment.SecurityType; | ||||
| import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo; | ||||
| import com.telecominfraproject.wlan.opensync.ovsdb.dao.models.enumerations.DhcpFpDeviceType; | ||||
| import com.telecominfraproject.wlan.profile.metrics.ChannelUtilizationSurveyType; | ||||
| import com.telecominfraproject.wlan.profile.metrics.ServiceMetricsChannelUtilizationSurveyType; | ||||
| import com.telecominfraproject.wlan.servicemetric.apnode.models.StateUpDownError; | ||||
| import com.telecominfraproject.wlan.servicemetric.models.ServiceMetricDataType; | ||||
| import com.telecominfraproject.wlan.status.equipment.models.EquipmentUpgradeState; | ||||
| @@ -83,7 +83,7 @@ public class OvsdbToWlanCloudTypeMappingUtility { | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|     public static String getOvsdbStatsSurveyTypeFromProfileSurveyType(ChannelUtilizationSurveyType surveyType) { | ||||
|     public static String getOvsdbStatsSurveyTypeFromProfileSurveyType(ServiceMetricsChannelUtilizationSurveyType surveyType) { | ||||
|         switch (surveyType) { | ||||
|             case FULL: | ||||
|                 return "full"; | ||||
| @@ -1,11 +1,15 @@ | ||||
| package com.telecominfraproject.wlan.opensync.ovsdb.dao; | ||||
|  | ||||
| import static org.junit.Assert.assertFalse; | ||||
| import static org.junit.Assert.assertNotNull; | ||||
| import static org.junit.Assert.assertNull; | ||||
|  | ||||
| import java.io.File; | ||||
| import java.net.InetAddress; | ||||
| import java.util.ArrayList; | ||||
| import java.util.HashMap; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| import java.util.Set; | ||||
| import java.util.UUID; | ||||
| import java.util.concurrent.CompletableFuture; | ||||
| import java.util.concurrent.TimeUnit; | ||||
| @@ -27,21 +31,19 @@ import org.springframework.context.annotation.Configuration; | ||||
| import org.springframework.context.annotation.Import; | ||||
| import org.springframework.test.context.ActiveProfiles; | ||||
| import org.springframework.test.context.junit4.SpringRunner; | ||||
| import org.springframework.util.ResourceUtils; | ||||
|  | ||||
| import com.fasterxml.jackson.databind.JsonNode; | ||||
| import com.github.fge.jackson.JsonLoader; | ||||
| import com.google.common.collect.ImmutableList; | ||||
| import com.google.common.collect.ImmutableMap; | ||||
| import com.telecominfraproject.wlan.location.models.Location; | ||||
| import com.telecominfraproject.wlan.opensync.external.integration.models.ConnectNodeInfo; | ||||
| import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPInetState; | ||||
| import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPRadioState; | ||||
| import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPVIFState; | ||||
| import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPConfig; | ||||
| import com.telecominfraproject.wlan.opensync.external.integration.models.OpensyncAPHotspot20Config; | ||||
| import com.telecominfraproject.wlan.profile.models.Profile; | ||||
| import com.telecominfraproject.wlan.profile.models.ProfileType; | ||||
| import com.telecominfraproject.wlan.profile.network.models.ApNetworkConfiguration; | ||||
| import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration; | ||||
| import com.telecominfraproject.wlan.status.network.models.RadiusDetails; | ||||
| import com.vmware.ovsdb.exception.OvsdbClientException; | ||||
| import com.vmware.ovsdb.jsonrpc.v1.util.JsonUtil; | ||||
| import com.vmware.ovsdb.protocol.methods.RowUpdate; | ||||
| import com.vmware.ovsdb.protocol.methods.TableUpdate; | ||||
| import com.vmware.ovsdb.protocol.methods.TableUpdates; | ||||
| import com.vmware.ovsdb.protocol.operation.notation.Atom; | ||||
| import com.vmware.ovsdb.protocol.operation.notation.Row; | ||||
| import com.vmware.ovsdb.protocol.operation.notation.Uuid; | ||||
| @@ -50,18 +52,30 @@ import com.vmware.ovsdb.protocol.operation.result.ErrorResult; | ||||
| import com.vmware.ovsdb.protocol.operation.result.InsertResult; | ||||
| import com.vmware.ovsdb.protocol.operation.result.OperationResult; | ||||
| import com.vmware.ovsdb.protocol.operation.result.SelectResult; | ||||
| import com.vmware.ovsdb.protocol.schema.DatabaseSchema; | ||||
| import com.vmware.ovsdb.protocol.schema.TableSchema; | ||||
| import com.vmware.ovsdb.service.OvsdbClient; | ||||
|  | ||||
| @RunWith(SpringRunner.class) | ||||
| @ActiveProfiles(profiles = { "integration_test", }) // NOTE: these profiles will | ||||
|                                                     // be ADDED to the list of | ||||
|                                                     // active profiles | ||||
| // be ADDED to the list of | ||||
| // active profiles | ||||
| @SpringBootTest(webEnvironment = WebEnvironment.NONE, classes = OvsdbDaoTest.class) | ||||
| @Import(value = { OvsdbDao.class, OvsdbDaoTest.Config.class, | ||||
|  | ||||
| }) | ||||
| public class OvsdbDaoTest { | ||||
|  | ||||
|     static final int DEFAULT_CUSTOMER_ID = 1; | ||||
|  | ||||
|     private static final long HOTSPOT_CONFIG_ID = 1; | ||||
|     private static final long HOTSPOT_PROVIDER_ID_1 = 2; | ||||
|     private static final long HOTSPOT_PROVIDER_ID_2 = 3; | ||||
|     private static final long SSID_PSK_ID = 4; | ||||
|     private static final long SSID_OSU_ID = 5; | ||||
|     private static final long OPERATOR_ID = 6; | ||||
|     private static final long VENUE_ID = 7; | ||||
|     private static final long EQUIPMENT_AP_ID = 8; | ||||
|     private static final String LAN_IF_TYPE = "bridge"; | ||||
|  | ||||
|     private static final String LAN_IF_NAME = "br-lan"; | ||||
| @@ -97,9 +111,12 @@ public class OvsdbDaoTest { | ||||
|     @Mock(answer = Answers.RETURNS_MOCKS) | ||||
|     OvsdbClient ovsdbClient; | ||||
|  | ||||
|     @Mock | ||||
|     @Mock(answer = Answers.RETURNS_MOCKS) | ||||
|     CompletableFuture<OperationResult[]> futureResult; | ||||
|  | ||||
|     @Mock(answer = Answers.RETURNS_MOCKS) | ||||
|     CompletableFuture<OperationResult[]> selectionFutureResult; | ||||
|  | ||||
|     @Autowired | ||||
|     OvsdbDao ovsdbDao; | ||||
|  | ||||
| @@ -108,6 +125,7 @@ public class OvsdbDaoTest { | ||||
|     @Configuration | ||||
|     // @PropertySource({ "classpath:persistence-${envTarget:dev}.properties" }) | ||||
|     static class Config { | ||||
|  | ||||
|         @Bean | ||||
|         public OvsdbDao ovsdbDao() { | ||||
|             return new OvsdbDao(); | ||||
| @@ -124,6 +142,264 @@ public class OvsdbDaoTest { | ||||
|         mockito.finishMocking(); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testConfigureGreTunnels() throws Exception { | ||||
|         List<Row> rows = new ArrayList<>(); | ||||
|         OperationResult[] operationResult = new OperationResult[] { new SelectResult(rows) }; | ||||
|         Mockito.when(ovsdbClient.transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList())) | ||||
|                 .thenReturn(selectionFutureResult); | ||||
|         Mockito.when(selectionFutureResult.get(30, TimeUnit.SECONDS)).thenReturn(operationResult); | ||||
|         Profile apProfile = new Profile(); | ||||
|         apProfile.setCustomerId(2); | ||||
|         apProfile.setId(1L); | ||||
|         apProfile.setName("ApProfile"); | ||||
|         apProfile.setProfileType(ProfileType.equipment_ap); | ||||
|         ApNetworkConfiguration tunnelProfileDetails = ApNetworkConfiguration.createWithDefaults(); | ||||
|  | ||||
|         tunnelProfileDetails.setGreLocalInetAddr(InetAddress.getByName("10.0.10.10")); | ||||
|         tunnelProfileDetails.setGreRemoteInetAddr(InetAddress.getByName("192.168.0.10")); | ||||
|         tunnelProfileDetails.setGreTunnelName("gre1"); | ||||
|         tunnelProfileDetails.setGreParentIfName("wan"); | ||||
|         apProfile.setDetails(tunnelProfileDetails); | ||||
|  | ||||
|         OpensyncAPConfig apConfig = Mockito.mock(OpensyncAPConfig.class); | ||||
|         Mockito.when(apConfig.getApProfile()).thenReturn(apProfile); | ||||
|         ovsdbDao.configureGreTunnels(ovsdbClient, apConfig); | ||||
|         // 1 call to check existence, 1 to add profile | ||||
|         Mockito.verify(ovsdbClient, Mockito.times(2)).transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList()); | ||||
|         Mockito.verify(apConfig, Mockito.times(3)).getApProfile(); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testGetRadiusConfiguration() throws Exception { | ||||
|         OpensyncAPConfig apConfig = new OpensyncAPConfig(); | ||||
|         Profile profileRadius = OvsdbDaoTestUtilities.createRadiusProfile(DEFAULT_CUSTOMER_ID); | ||||
|         apConfig.setRadiusProfiles(List.of(profileRadius)); | ||||
|         SsidConfiguration ssidConfig = SsidConfiguration.createWithDefaults(); | ||||
|         ssidConfig.setRadiusServiceName("Radius-Profile"); | ||||
|         Map<String, String> security = new HashMap<>(); | ||||
|         Location location = new Location(); | ||||
|         location.setName("Ottawa"); | ||||
|         apConfig.setEquipmentLocation(location); | ||||
|         ovsdbDao.getRadiusConfiguration(apConfig, ssidConfig, security);        | ||||
|         assert (security.get("radius_server_ip").equals("192.168.0.1")); | ||||
|         assert (security.get("radius_server_port").equals("1812")); | ||||
|         assert (security.get("radius_server_secret").equals("testing123")); | ||||
|     } | ||||
|      | ||||
|     @Test | ||||
|     public void testGetRadiusAccountingConfiguration() throws Exception { | ||||
|         OpensyncAPConfig apConfig = new OpensyncAPConfig(); | ||||
|         Profile profileRadius = OvsdbDaoTestUtilities.createRadiusProfile(DEFAULT_CUSTOMER_ID); | ||||
|         apConfig.setRadiusProfiles(List.of(profileRadius)); | ||||
|         SsidConfiguration ssidConfig = SsidConfiguration.createWithDefaults(); | ||||
|         ssidConfig.setRadiusAccountingServiceName("Radius-Profile"); | ||||
|         ssidConfig.setRadiusAcountingServiceInterval(60); | ||||
|         Map<String, String> security = new HashMap<>(); | ||||
|         Location location = new Location(); | ||||
|         location.setName("Ottawa"); | ||||
|         apConfig.setEquipmentLocation(location); | ||||
|         ovsdbDao.getRadiusAccountingConfiguration(apConfig, ssidConfig, security); | ||||
|         assert (Integer.valueOf(security.get("radius_acct_interval")) | ||||
|                 .equals(ssidConfig.getRadiusAcountingServiceInterval())); | ||||
|         assert (security.get("radius_acct_ip").equals("192.168.0.1")); | ||||
|         assert (security.get("radius_acct_port").equals("1812")); | ||||
|         assert (security.get("radius_acct_secret").equals("testing123")); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testGetRadiusAccountingConfigurationNoAcctInterval() throws Exception { | ||||
|         OpensyncAPConfig apConfig = new OpensyncAPConfig(); | ||||
|         Profile profileRadius = OvsdbDaoTestUtilities.createRadiusProfile(DEFAULT_CUSTOMER_ID); | ||||
|         apConfig.setRadiusProfiles(List.of(profileRadius)); | ||||
|         SsidConfiguration ssidConfig = SsidConfiguration.createWithDefaults(); | ||||
|         ssidConfig.setRadiusAccountingServiceName("Radius-Profile"); | ||||
|         Map<String, String> security = new HashMap<>(); | ||||
|         Location location = new Location(); | ||||
|         location.setName("Ottawa"); | ||||
|         apConfig.setEquipmentLocation(location); | ||||
|         ovsdbDao.getRadiusAccountingConfiguration(apConfig, ssidConfig, security); | ||||
|         assert (security.get("radius_acct_interval").equals("0")); | ||||
|         assert (security.get("radius_acct_ip").equals("192.168.0.1")); | ||||
|         assert (security.get("radius_acct_port").equals("1812")); | ||||
|         assert (security.get("radius_acct_secret").equals("testing123")); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testConfigureHotspots() throws Exception { | ||||
|  | ||||
|         DatabaseSchema schemaMock = Mockito.mock(DatabaseSchema.class); | ||||
|         CompletableFuture<DatabaseSchema> schemaFuture = Mockito.mock(CompletableFuture.class); | ||||
|         Mockito.when(schemaFuture.get(Mockito.anyLong(), Mockito.any())).thenReturn(schemaMock); | ||||
|         HashMap<String, TableSchema> mapMock = Mockito.mock(HashMap.class); | ||||
|  | ||||
|         Mockito.when(mapMock.containsKey(Mockito.any())).thenReturn(true); | ||||
|         Mockito.when(mapMock.get(Mockito.any())).thenReturn(Mockito.mock(TableSchema.class)); | ||||
|         Mockito.when(schemaMock.getTables()).thenReturn(mapMock); | ||||
|         Mockito.when(ovsdbClient.getSchema(Mockito.anyString())).thenReturn(schemaFuture); | ||||
|  | ||||
|         OpensyncAPConfig apConfig = new OpensyncAPConfig(); | ||||
|         OpensyncAPHotspot20Config hsConfig = new OpensyncAPHotspot20Config(); | ||||
|  | ||||
|         Profile profileSsidPsk = OvsdbDaoTestUtilities.createPasspointAccessSsid(DEFAULT_CUSTOMER_ID); | ||||
|         profileSsidPsk.setId(SSID_PSK_ID); | ||||
|         Profile profileSsidOsu = OvsdbDaoTestUtilities.createPasspointOsuSsid(DEFAULT_CUSTOMER_ID); | ||||
|         profileSsidOsu.setId(SSID_OSU_ID); | ||||
|         Profile passpointOperatorProfile = OvsdbDaoTestUtilities.createPasspointOperatorProfile(DEFAULT_CUSTOMER_ID); | ||||
|         passpointOperatorProfile.setId(OPERATOR_ID); | ||||
|         Profile passpointVenueProfile = OvsdbDaoTestUtilities.createPasspointVenueProfile(DEFAULT_CUSTOMER_ID); | ||||
|         passpointVenueProfile.setId(VENUE_ID); | ||||
|         Profile hotspot20IdProviderProfile = new Profile(); | ||||
|         hotspot20IdProviderProfile.setId(HOTSPOT_PROVIDER_ID_1); | ||||
|         hotspot20IdProviderProfile = OvsdbDaoTestUtilities.createPasspointIdProviderProfile(DEFAULT_CUSTOMER_ID, | ||||
|                 hotspot20IdProviderProfile, "TipWlan-Hotspot20-OSU-Provider", "Rogers AT&T Wireless", "Canada", "ca", | ||||
|                 302, 720, "rogers.com", 1); | ||||
|         Profile hotspot20IdProviderProfile2 = new Profile(); | ||||
|         hotspot20IdProviderProfile2.setId(HOTSPOT_PROVIDER_ID_2); | ||||
|         hotspot20IdProviderProfile2 = OvsdbDaoTestUtilities.createPasspointIdProviderProfile(DEFAULT_CUSTOMER_ID, | ||||
|                 hotspot20IdProviderProfile2, "TipWlan-Hotspot20-OSU-Provider-2", "Telus Mobility", "Canada", "ca", 302, | ||||
|                 220, "telus.com", 1); | ||||
|  | ||||
|         profileSsidOsu.getChildProfileIds().add(hotspot20IdProviderProfile.getId()); | ||||
|         profileSsidOsu.getChildProfileIds().add(hotspot20IdProviderProfile2.getId()); | ||||
|  | ||||
|         Profile passpointHotspotConfig = OvsdbDaoTestUtilities.createPasspointHotspotConfig(DEFAULT_CUSTOMER_ID, | ||||
|                 hotspot20IdProviderProfile2, hotspot20IdProviderProfile, passpointOperatorProfile, | ||||
|                 passpointVenueProfile, profileSsidPsk, profileSsidOsu); | ||||
|         passpointHotspotConfig.setId(HOTSPOT_CONFIG_ID); | ||||
|  | ||||
|         Profile hotspotProfileAp = OvsdbDaoTestUtilities.createPasspointApProfile(DEFAULT_CUSTOMER_ID, profileSsidPsk, | ||||
|                 profileSsidOsu); | ||||
|         hotspotProfileAp.setId(EQUIPMENT_AP_ID); | ||||
|  | ||||
|         hsConfig.setHotspot20OperatorSet(Set.of(passpointOperatorProfile)); | ||||
|         hsConfig.setHotspot20ProviderSet(Set.of(hotspot20IdProviderProfile, hotspot20IdProviderProfile2)); | ||||
|         hsConfig.setHotspot20VenueSet(Set.of(passpointVenueProfile)); | ||||
|         hsConfig.setHotspot20ProfileSet(Set.of(passpointHotspotConfig)); | ||||
|  | ||||
|         apConfig.setHotspotConfig(hsConfig); | ||||
|  | ||||
|         apConfig.setApProfile(hotspotProfileAp); | ||||
|  | ||||
|         apConfig.setSsidProfile(List.of(profileSsidOsu, profileSsidPsk)); | ||||
|  | ||||
|         Mockito.when(futureResult.get(Mockito.anyLong(), Mockito.eq(TimeUnit.SECONDS))) | ||||
|                 .thenReturn(OvsdbDaoTestUtilities.hs20IconRows()).thenReturn(OvsdbDaoTestUtilities.hs20InsertIconRows()) | ||||
|                 .thenReturn(OvsdbDaoTestUtilities.hs20OsuProviders()).thenReturn(OvsdbDaoTestUtilities.hs20IconRows()) | ||||
|                 .thenReturn(OvsdbDaoTestUtilities.hs20IconRows()) | ||||
|                 .thenReturn(OvsdbDaoTestUtilities.hs20InsertProviderRows()) | ||||
|                 .thenReturn(OvsdbDaoTestUtilities.hs20Config()).thenReturn(OvsdbDaoTestUtilities.hs20OsuProviders()) | ||||
|                 .thenReturn(OvsdbDaoTestUtilities.vifConfigRows()).thenReturn(OvsdbDaoTestUtilities.vifConfigRows()) | ||||
|                 .thenReturn(OvsdbDaoTestUtilities.hs20Config()); | ||||
|  | ||||
|         Mockito.when(ovsdbClient.transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList())).thenReturn(futureResult); | ||||
|  | ||||
|         ovsdbDao.configureHotspots(ovsdbClient, apConfig); | ||||
|  | ||||
|         Mockito.verify(futureResult, Mockito.times(13)).get(Mockito.anyLong(), Mockito.eq(TimeUnit.SECONDS)); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testConfigureGreTunnelsWithNoLocalAddress() throws Exception { | ||||
|         List<Row> rows = new ArrayList<>(); | ||||
|         OperationResult[] operationResult = new OperationResult[] { new SelectResult(rows) }; | ||||
|         Mockito.when(ovsdbClient.transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList())) | ||||
|                 .thenReturn(selectionFutureResult); | ||||
|         Mockito.when(selectionFutureResult.get(30, TimeUnit.SECONDS)).thenReturn(operationResult); | ||||
|         Profile apProfile = new Profile(); | ||||
|         apProfile.setCustomerId(2); | ||||
|         apProfile.setId(1L); | ||||
|         apProfile.setName("ApProfile"); | ||||
|         apProfile.setProfileType(ProfileType.equipment_ap); | ||||
|         ApNetworkConfiguration tunnelProfileDetails = ApNetworkConfiguration.createWithDefaults(); | ||||
|  | ||||
|         tunnelProfileDetails.setGreRemoteInetAddr(InetAddress.getByName("192.168.0.10")); | ||||
|         tunnelProfileDetails.setGreTunnelName("gre1"); | ||||
|         tunnelProfileDetails.setGreParentIfName("wan"); | ||||
|         apProfile.setDetails(tunnelProfileDetails); | ||||
|  | ||||
|         OpensyncAPConfig apConfig = Mockito.mock(OpensyncAPConfig.class); | ||||
|         Mockito.when(apConfig.getApProfile()).thenReturn(apProfile); | ||||
|         ovsdbDao.configureGreTunnels(ovsdbClient, apConfig); | ||||
|         // 2 calls to check existence, 2 calls to insert tunnel (1 each per | ||||
|         // Profile) | ||||
|         Mockito.verify(ovsdbClient, Mockito.times(2)).transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList()); | ||||
|         Mockito.verify(apConfig, Mockito.times(3)).getApProfile(); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testConfigureGreTunnelsWithNoRemoteAddress() throws Exception { | ||||
|         Profile apProfile = new Profile(); | ||||
|         apProfile.setCustomerId(2); | ||||
|         apProfile.setId(1L); | ||||
|         apProfile.setName("ApProfile"); | ||||
|         apProfile.setProfileType(ProfileType.equipment_ap); | ||||
|         ApNetworkConfiguration tunnelProfileDetails = ApNetworkConfiguration.createWithDefaults(); | ||||
|  | ||||
|         tunnelProfileDetails.setGreLocalInetAddr(InetAddress.getByName("10.0.10.10")); | ||||
|         tunnelProfileDetails.setGreTunnelName("gre1"); | ||||
|         tunnelProfileDetails.setGreParentIfName("wan"); | ||||
|         apProfile.setDetails(tunnelProfileDetails); | ||||
|  | ||||
|         OpensyncAPConfig apConfig = Mockito.mock(OpensyncAPConfig.class); | ||||
|         Mockito.when(apConfig.getApProfile()).thenReturn(apProfile); | ||||
|         ovsdbDao.configureGreTunnels(ovsdbClient, apConfig); | ||||
|         // Should not create | ||||
|         Mockito.verify(ovsdbClient, Mockito.times(0)).transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList()); | ||||
|         Mockito.verify(apConfig, Mockito.times(3)).getApProfile(); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testConfigureGreTunnelsWithNoParentInterface() throws Exception { | ||||
|         Profile apProfile = new Profile(); | ||||
|         apProfile.setCustomerId(2); | ||||
|         apProfile.setId(1L); | ||||
|         apProfile.setName("ApProfile"); | ||||
|         apProfile.setProfileType(ProfileType.equipment_ap); | ||||
|         ApNetworkConfiguration tunnelProfileDetails = ApNetworkConfiguration.createWithDefaults(); | ||||
|  | ||||
|         tunnelProfileDetails.setGreLocalInetAddr(InetAddress.getByName("10.0.10.10")); | ||||
|         tunnelProfileDetails.setGreRemoteInetAddr(InetAddress.getByName("192.168.0.10")); | ||||
|         tunnelProfileDetails.setGreTunnelName("gre1"); | ||||
|         apProfile.setDetails(tunnelProfileDetails); | ||||
|  | ||||
|         OpensyncAPConfig apConfig = Mockito.mock(OpensyncAPConfig.class); | ||||
|         Mockito.when(apConfig.getApProfile()).thenReturn(apProfile); | ||||
|         ovsdbDao.configureGreTunnels(ovsdbClient, apConfig); | ||||
|         // Should not create | ||||
|         Mockito.verify(ovsdbClient, Mockito.times(0)).transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList()); | ||||
|         Mockito.verify(apConfig, Mockito.times(3)).getApProfile(); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testConfigureGreTunnelsWithNoTunnelName() throws Exception { | ||||
|         Profile apProfile = new Profile(); | ||||
|         apProfile.setCustomerId(2); | ||||
|         apProfile.setId(1L); | ||||
|         apProfile.setName("ApProfile"); | ||||
|         apProfile.setProfileType(ProfileType.equipment_ap); | ||||
|         ApNetworkConfiguration tunnelProfileDetails = ApNetworkConfiguration.createWithDefaults(); | ||||
|  | ||||
|         tunnelProfileDetails.setGreLocalInetAddr(InetAddress.getByName("10.0.10.10")); | ||||
|         tunnelProfileDetails.setGreRemoteInetAddr(InetAddress.getByName("192.168.0.10")); | ||||
|         tunnelProfileDetails.setGreParentIfName("wan"); | ||||
|  | ||||
|         apProfile.setDetails(tunnelProfileDetails); | ||||
|  | ||||
|         OpensyncAPConfig apConfig = Mockito.mock(OpensyncAPConfig.class); | ||||
|         Mockito.when(apConfig.getApProfile()).thenReturn(apProfile); | ||||
|         ovsdbDao.configureGreTunnels(ovsdbClient, apConfig); | ||||
|         // Should not create | ||||
|         Mockito.verify(ovsdbClient, Mockito.times(0)).transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList()); | ||||
|         Mockito.verify(apConfig, Mockito.times(3)).getApProfile(); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testGetConnectNodeInfo() throws Exception { | ||||
|  | ||||
| @@ -207,7 +483,7 @@ public class OvsdbDaoTest { | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     @Test(expected = RuntimeException.class) | ||||
|     public void testFailGetConnectNodeInfo() throws Exception { | ||||
|  | ||||
|         Mockito.when(ovsdbClient.transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList())).thenReturn(futureResult); | ||||
| @@ -387,94 +663,6 @@ public class OvsdbDaoTest { | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testOvsdbDaoGetOpensyncAPVIFState() throws Exception { | ||||
|  | ||||
|         String path = "src/test/resources/Wifi_VIF_State-home-ap-24.json"; | ||||
|  | ||||
|         File file = new File(path); | ||||
|         String absolutePath = file.getAbsolutePath(); | ||||
|         File jsonFile = ResourceUtils.getFile(absolutePath); | ||||
|  | ||||
|         JsonNode jn = JsonLoader.fromFile(jsonFile); | ||||
|         Row row = JsonUtil.deserializeNoException(jn.toString(), Row.class); | ||||
|         RowUpdate rowUpdate = new RowUpdate(); | ||||
|         rowUpdate.setNew(row); | ||||
|  | ||||
|         path = "src/test/resources/Wifi_VIF_State-home-ap-l50.json"; | ||||
|         file = new File(path); | ||||
|         absolutePath = file.getAbsolutePath(); | ||||
|         jsonFile = ResourceUtils.getFile(absolutePath); | ||||
|         jn = JsonLoader.fromFile(jsonFile); | ||||
|         Row row1 = JsonUtil.deserializeNoException(jn.toString(), Row.class); | ||||
|  | ||||
|         RowUpdate rowUpdate1 = new RowUpdate(); | ||||
|         rowUpdate1.setNew(row1); | ||||
|  | ||||
|         path = "src/test/resources/Wifi_VIF_State-home-ap-u50.json"; | ||||
|         file = new File(path); | ||||
|         absolutePath = file.getAbsolutePath(); | ||||
|         jsonFile = ResourceUtils.getFile(absolutePath); | ||||
|         jn = JsonLoader.fromFile(jsonFile); | ||||
|         Row row2 = JsonUtil.deserializeNoException(jn.toString(), Row.class); | ||||
|  | ||||
|         RowUpdate rowUpdate2 = new RowUpdate(); | ||||
|         rowUpdate2.setNew(row2); | ||||
|  | ||||
|         List<OpensyncAPVIFState> vifStateList = ovsdbDao.getOpensyncApVifStateForRowUpdate(rowUpdate, "SomeAPId", ovsdbClient); | ||||
|         assert (vifStateList.size() == 1); | ||||
|         vifStateList.addAll(ovsdbDao.getOpensyncApVifStateForRowUpdate(rowUpdate1, "SomeAPId", ovsdbClient)); | ||||
|         assert (vifStateList.size() == 2); | ||||
|         vifStateList.addAll(ovsdbDao.getOpensyncApVifStateForRowUpdate(rowUpdate2, "SomeAPId", ovsdbClient)); | ||||
|         assert (vifStateList.size() == 3); | ||||
|  | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testOvsdbDaoGetOpensyncAPRadioState() throws Exception { | ||||
|  | ||||
|         String path = "src/test/resources/Wifi_Radio_State-home-ap-24.json"; | ||||
|  | ||||
|         File file = new File(path); | ||||
|         String absolutePath = file.getAbsolutePath(); | ||||
|         File jsonFile = ResourceUtils.getFile(absolutePath); | ||||
|  | ||||
|         JsonNode jn = JsonLoader.fromFile(jsonFile); | ||||
|         Row row = JsonUtil.deserializeNoException(jn.toString(), Row.class); | ||||
|         RowUpdate rowUpdate = new RowUpdate(); | ||||
|         rowUpdate.setNew(row); | ||||
|  | ||||
|         path = "src/test/resources/Wifi_Radio_State-home-ap-l50.json"; | ||||
|         file = new File(path); | ||||
|         absolutePath = file.getAbsolutePath(); | ||||
|         jsonFile = ResourceUtils.getFile(absolutePath); | ||||
|         jn = JsonLoader.fromFile(jsonFile); | ||||
|         Row row1 = JsonUtil.deserializeNoException(jn.toString(), Row.class); | ||||
|  | ||||
|         RowUpdate rowUpdate1 = new RowUpdate(); | ||||
|         rowUpdate1.setNew(row1); | ||||
|  | ||||
|         path = "src/test/resources/Wifi_Radio_State-home-ap-u50.json"; | ||||
|         file = new File(path); | ||||
|         absolutePath = file.getAbsolutePath(); | ||||
|         jsonFile = ResourceUtils.getFile(absolutePath); | ||||
|         jn = JsonLoader.fromFile(jsonFile); | ||||
|         Row row2 = JsonUtil.deserializeNoException(jn.toString(), Row.class); | ||||
|  | ||||
|         RowUpdate rowUpdate2 = new RowUpdate(); | ||||
|         rowUpdate2.setNew(row2); | ||||
|  | ||||
|         TableUpdate tableUpdate = new TableUpdate(ImmutableMap.of(row.getUuidColumn("_uuid").getUuid(), rowUpdate, | ||||
|                 row1.getUuidColumn("_uuid").getUuid(), rowUpdate1, row2.getUuidColumn("_uuid").getUuid(), rowUpdate2)); | ||||
|         TableUpdates tableUpdates = new TableUpdates(ImmutableMap.of(OvsdbDao.wifiRadioStateDbTable, tableUpdate)); | ||||
|  | ||||
|         List<OpensyncAPRadioState> radioStateList = ovsdbDao.getOpensyncAPRadioState(tableUpdates, "SomeAPId", | ||||
|                 ovsdbClient); | ||||
|         assert (radioStateList.size() == 3); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testObsdbDaoEnableNetworkProbe() throws Exception { | ||||
|  | ||||
| @@ -521,48 +709,7 @@ public class OvsdbDaoTest { | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testOvsdbDaoGetOpensyncAPInetState() throws Exception { | ||||
|  | ||||
|         String path = "src/test/resources/Wifi_Inet_State-home-ap-24.json"; | ||||
|  | ||||
|         File file = new File(path); | ||||
|         String absolutePath = file.getAbsolutePath(); | ||||
|         File jsonFile = ResourceUtils.getFile(absolutePath); | ||||
|  | ||||
|         JsonNode jn = JsonLoader.fromFile(jsonFile); | ||||
|         Row row = JsonUtil.deserializeNoException(jn.toString(), Row.class); | ||||
|         RowUpdate rowUpdate = new RowUpdate(); | ||||
|         rowUpdate.setNew(row); | ||||
|  | ||||
|         path = "src/test/resources/Wifi_Inet_State-home-ap-l50.json"; | ||||
|         file = new File(path); | ||||
|         absolutePath = file.getAbsolutePath(); | ||||
|         jsonFile = ResourceUtils.getFile(absolutePath); | ||||
|         jn = JsonLoader.fromFile(jsonFile); | ||||
|         Row row1 = JsonUtil.deserializeNoException(jn.toString(), Row.class); | ||||
|  | ||||
|         RowUpdate rowUpdate1 = new RowUpdate(); | ||||
|         rowUpdate1.setNew(row1); | ||||
|  | ||||
|         path = "src/test/resources/Wifi_Inet_State-home-ap-u50.json"; | ||||
|         file = new File(path); | ||||
|         absolutePath = file.getAbsolutePath(); | ||||
|         jsonFile = ResourceUtils.getFile(absolutePath); | ||||
|         jn = JsonLoader.fromFile(jsonFile); | ||||
|         Row row2 = JsonUtil.deserializeNoException(jn.toString(), Row.class); | ||||
|  | ||||
|         RowUpdate rowUpdate2 = new RowUpdate(); | ||||
|         rowUpdate2.setNew(row2); | ||||
|          | ||||
|         List<OpensyncAPInetState> inetStateList = ovsdbDao.getOpensyncApInetStateForRowUpdate(rowUpdate, "SomeAPId", ovsdbClient); | ||||
|         assert (inetStateList.size() == 1); | ||||
|         inetStateList.addAll(ovsdbDao.getOpensyncApInetStateForRowUpdate(rowUpdate1, "SomeAPId", ovsdbClient)); | ||||
|         assert (inetStateList.size() == 2); | ||||
|         inetStateList.addAll(ovsdbDao.getOpensyncApInetStateForRowUpdate(rowUpdate2, "SomeAPId", ovsdbClient)); | ||||
|         assert (inetStateList.size() == 3); | ||||
|  | ||||
|  | ||||
|     } | ||||
|     static Row[] hs20Icons = { | ||||
|  | ||||
|     }; | ||||
| } | ||||
|   | ||||
| @@ -0,0 +1,548 @@ | ||||
| package com.telecominfraproject.wlan.opensync.ovsdb.dao; | ||||
|  | ||||
| import java.net.InetAddress; | ||||
| import java.net.UnknownHostException; | ||||
| import java.util.ArrayList; | ||||
| 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.UUID; | ||||
|  | ||||
| import com.telecominfraproject.wlan.core.model.equipment.RadioType; | ||||
| import com.telecominfraproject.wlan.profile.models.Profile; | ||||
| import com.telecominfraproject.wlan.profile.models.ProfileType; | ||||
| import com.telecominfraproject.wlan.profile.network.models.ApNetworkConfiguration; | ||||
| import com.telecominfraproject.wlan.profile.passpoint.models.PasspointDuple; | ||||
| import com.telecominfraproject.wlan.profile.passpoint.models.PasspointMccMnc; | ||||
| import com.telecominfraproject.wlan.profile.passpoint.models.PasspointProfile; | ||||
| import com.telecominfraproject.wlan.profile.passpoint.models.operator.PasspointOperatorProfile; | ||||
| import com.telecominfraproject.wlan.profile.passpoint.models.provider.PasspointNaiRealmInformation; | ||||
| import com.telecominfraproject.wlan.profile.passpoint.models.provider.PasspointOsuIcon; | ||||
| import com.telecominfraproject.wlan.profile.passpoint.models.provider.PasspointOsuProviderProfile; | ||||
| import com.telecominfraproject.wlan.profile.passpoint.models.venue.PasspointVenueProfile; | ||||
| import com.telecominfraproject.wlan.profile.radius.models.RadiusProfile; | ||||
| import com.telecominfraproject.wlan.profile.radius.models.RadiusServer; | ||||
| import com.telecominfraproject.wlan.profile.radius.models.RadiusServiceRegion; | ||||
| import com.telecominfraproject.wlan.profile.rf.models.RfConfiguration; | ||||
| import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration; | ||||
| import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration.SecureMode; | ||||
| import com.vmware.ovsdb.protocol.operation.notation.Atom; | ||||
| import com.vmware.ovsdb.protocol.operation.notation.Row; | ||||
| import com.vmware.ovsdb.protocol.operation.notation.Uuid; | ||||
| import com.vmware.ovsdb.protocol.operation.notation.Value; | ||||
| import com.vmware.ovsdb.protocol.operation.result.InsertResult; | ||||
| import com.vmware.ovsdb.protocol.operation.result.OperationResult; | ||||
| import com.vmware.ovsdb.protocol.operation.result.SelectResult; | ||||
| import com.vmware.ovsdb.protocol.operation.result.UpdateResult; | ||||
|  | ||||
| public class OvsdbDaoTestUtilities { | ||||
|  | ||||
|     // Static creation of Profiles and Results to use with the OvsdbDao JUnit | ||||
|     // tests. | ||||
|     static void createPasspointHotspot(int customerId, Profile passpointHotspotConfig, Profile passpointOperatorProfile, | ||||
|             Profile passpointVenueProfile, Profile hotspot20IdProviderProfile, Profile hotspot20IdProviderProfile2, | ||||
|             Profile profileSsidPsk, Profile profileSsidOsu, Profile hotspotProfileAp) { | ||||
|  | ||||
|         profileSsidPsk = createPasspointAccessSsid(customerId); | ||||
|         profileSsidPsk.setId(1L); | ||||
|         profileSsidOsu = createPasspointOsuSsid(customerId); | ||||
|         profileSsidOsu.setId(2L); | ||||
|  | ||||
|         passpointOperatorProfile = createPasspointOperatorProfile(customerId); | ||||
|         passpointOperatorProfile.setId(3L); | ||||
|         passpointVenueProfile = createPasspointVenueProfile(customerId); | ||||
|         passpointVenueProfile.setId(4L); | ||||
|         hotspot20IdProviderProfile = createPasspointIdProviderProfile(customerId, hotspot20IdProviderProfile, | ||||
|                 "TipWlan-Hotspot20-OSU-Provider", "Rogers AT&T Wireless", "Canada", "ca", 302, 720, "rogers.com", 1); | ||||
|         hotspot20IdProviderProfile.setId(5L); | ||||
|         hotspot20IdProviderProfile2 = createPasspointIdProviderProfile(customerId, hotspot20IdProviderProfile2, | ||||
|                 "TipWlan-Hotspot20-OSU-Provider-2", "Telus Mobility", "Canada", "ca", 302, 220, "telus.com", 1); | ||||
|         hotspot20IdProviderProfile2.setId(6L); | ||||
|         profileSsidOsu.getChildProfileIds().add(hotspot20IdProviderProfile.getId()); | ||||
|         profileSsidOsu.getChildProfileIds().add(hotspot20IdProviderProfile2.getId()); | ||||
|  | ||||
|         passpointHotspotConfig = createPasspointHotspotConfig(customerId, hotspot20IdProviderProfile2, | ||||
|                 hotspot20IdProviderProfile, passpointOperatorProfile, passpointVenueProfile, profileSsidPsk, | ||||
|                 profileSsidOsu); | ||||
|         passpointHotspotConfig.setId(7L); | ||||
|  | ||||
|         hotspotProfileAp = createPasspointApProfile(customerId, profileSsidPsk, profileSsidOsu); | ||||
|         hotspotProfileAp.setId(8L); | ||||
|     } | ||||
|  | ||||
|     static Profile createPasspointHotspotConfig(int customerId, Profile hotspot20IdProviderProfile2, | ||||
|             Profile hotspot20IdProviderProfile, Profile passpointOperatorProfile, Profile passpointVenueProfile, | ||||
|             Profile profileSsidPsk, Profile profileSsidOpen) { | ||||
|         Profile passpointHotspotConfig; | ||||
|         passpointHotspotConfig = new Profile(); | ||||
|         passpointHotspotConfig.setCustomerId(customerId); | ||||
|         passpointHotspotConfig.setName("TipWlan-Hotspot20-Config"); | ||||
|         passpointHotspotConfig.setProfileType(ProfileType.passpoint); | ||||
|         Set<Long> passpointHotspotConfigChildIds = new HashSet<>(); | ||||
|         passpointHotspotConfigChildIds.add(passpointOperatorProfile.getId()); | ||||
|         passpointHotspotConfigChildIds.add(passpointVenueProfile.getId()); | ||||
|         passpointHotspotConfigChildIds.add(hotspot20IdProviderProfile.getId()); | ||||
|         passpointHotspotConfigChildIds.add(hotspot20IdProviderProfile2.getId()); | ||||
|         passpointHotspotConfig.setChildProfileIds(passpointHotspotConfigChildIds); | ||||
|         passpointHotspotConfig.setDetails(PasspointProfile.createWithDefaults()); | ||||
|         Set<Long> providerIds = new HashSet<>(); | ||||
|         providerIds.add(hotspot20IdProviderProfile.getId()); | ||||
|         providerIds.add(hotspot20IdProviderProfile2.getId()); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()).setPasspointOsuProviderProfileIds(providerIds); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()) | ||||
|                 .setPasspointOperatorProfileId(passpointOperatorProfile.getId()); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()) | ||||
|                 .setPasspointVenueProfileId(passpointVenueProfile.getId()); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()).setOsuSsidProfileId(profileSsidOpen.getId()); | ||||
|         profileSsidPsk.getChildProfileIds().add(passpointHotspotConfig.getId()); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()) | ||||
|                 .setAssociatedAccessSsidProfileIds(List.of(profileSsidPsk.getId())); | ||||
|         return passpointHotspotConfig; | ||||
|     } | ||||
|  | ||||
|     static Profile createPasspointIdProviderProfile(int customerId, Profile providerProfile, String providerName, | ||||
|             String network, String country, String iso, int mcc, int mnc, String naiRealm, int countryCode) { | ||||
|         Profile hotspot20IdProviderProfile; | ||||
|         hotspot20IdProviderProfile = new Profile(); | ||||
|         hotspot20IdProviderProfile.setCustomerId(customerId); | ||||
|         hotspot20IdProviderProfile.setName(providerName); | ||||
|         hotspot20IdProviderProfile.setProfileType(ProfileType.passpoint_osu_id_provider); | ||||
|         PasspointMccMnc passpointMccMnc = PasspointMccMnc.createWithDefaults(); | ||||
|         passpointMccMnc.setMcc(mcc); | ||||
|         passpointMccMnc.setMnc(mnc); | ||||
|         passpointMccMnc.setIso(iso); | ||||
|         passpointMccMnc.setCountry(country); | ||||
|         passpointMccMnc.setCountryCode(1); | ||||
|         passpointMccMnc.setNetwork(network); | ||||
|         List<PasspointMccMnc> mccMncList = new ArrayList<>(); | ||||
|         mccMncList.add(passpointMccMnc); | ||||
|         Set<String> naiRealms = new HashSet<>(); | ||||
|         naiRealms.add(naiRealm); | ||||
|         List<Byte> roamingOi = new ArrayList<>(); | ||||
|         roamingOi.add(Byte.valueOf("1")); | ||||
|         roamingOi.add(Byte.valueOf("2")); | ||||
|         roamingOi.add(Byte.valueOf("3")); | ||||
|         roamingOi.add(Byte.valueOf("4")); | ||||
|         hotspot20IdProviderProfile = createOsuProviderProfile(customerId, hotspot20IdProviderProfile, mccMncList, | ||||
|                 naiRealms, "https://example.com/osu/" + naiRealm.split("/.com")[0], naiRealm.split(".com")[0], naiRealm, | ||||
|                 roamingOi); | ||||
|         return hotspot20IdProviderProfile; | ||||
|     } | ||||
|  | ||||
|     static Profile createPasspointVenueProfile(int customerId) { | ||||
|         Profile passpointVenueProfile; | ||||
|         passpointVenueProfile = new Profile(); | ||||
|         passpointVenueProfile.setCustomerId(customerId); | ||||
|         passpointVenueProfile.setName("TipWlan-Hotspot20-Venue"); | ||||
|         passpointVenueProfile.setProfileType(ProfileType.passpoint_venue); | ||||
|         passpointVenueProfile.setDetails(PasspointVenueProfile.createWithDefaults()); | ||||
|         return passpointVenueProfile; | ||||
|     } | ||||
|  | ||||
|     static Profile createPasspointOperatorProfile(int customerId) { | ||||
|         Profile passpointOperatorProfile; | ||||
|         passpointOperatorProfile = new Profile(); | ||||
|         passpointOperatorProfile.setCustomerId(customerId); | ||||
|         passpointOperatorProfile.setName("TipWlan-Hotspot20-Operator"); | ||||
|         passpointOperatorProfile.setProfileType(ProfileType.passpoint_operator); | ||||
|         passpointOperatorProfile.setDetails(PasspointOperatorProfile.createWithDefaults()); | ||||
|         return passpointOperatorProfile; | ||||
|     } | ||||
|  | ||||
|     static Profile createPasspointAccessSsid(int customerId) { | ||||
|         Profile profileSsidPsk; | ||||
|         profileSsidPsk = new Profile(); | ||||
|         profileSsidPsk.setCustomerId(customerId); | ||||
|         profileSsidPsk.setName("TipWlan-cloud-hotspot-access"); | ||||
|         SsidConfiguration ssidConfigPsk = SsidConfiguration.createWithDefaults(); | ||||
|         Set<RadioType> appliedRadiosPsk = new HashSet<RadioType>(); | ||||
|         appliedRadiosPsk.add(RadioType.is5GHzL); | ||||
|         appliedRadiosPsk.add(RadioType.is5GHzU); | ||||
|         ssidConfigPsk.setSsid("TipWlan-cloud-hotspot-access"); | ||||
|         ssidConfigPsk.setAppliedRadios(appliedRadiosPsk); | ||||
|         ssidConfigPsk.setSecureMode(SecureMode.wpa2PSK); | ||||
|         ssidConfigPsk.setKeyStr("testing123"); | ||||
|         profileSsidPsk.setDetails(ssidConfigPsk); | ||||
|         return profileSsidPsk; | ||||
|     } | ||||
|  | ||||
|     static Profile createPasspointOsuSsid(int customerId) { | ||||
|         Profile profileSsidPsk; | ||||
|         profileSsidPsk = new Profile(); | ||||
|         profileSsidPsk.setCustomerId(customerId); | ||||
|         profileSsidPsk.setName("TipWlan-cloud-hotspot-osu"); | ||||
|         SsidConfiguration ssidConfigPsk = SsidConfiguration.createWithDefaults(); | ||||
|         Set<RadioType> appliedRadiosPsk = new HashSet<RadioType>(); | ||||
|         appliedRadiosPsk.add(RadioType.is2dot4GHz); | ||||
|         ssidConfigPsk.setSsid("TipWlan-cloud-hotspot-osu"); | ||||
|         ssidConfigPsk.setAppliedRadios(appliedRadiosPsk); | ||||
|         ssidConfigPsk.setSecureMode(SecureMode.open); | ||||
|         profileSsidPsk.setDetails(ssidConfigPsk); | ||||
|         return profileSsidPsk; | ||||
|     } | ||||
|  | ||||
|     static Profile createPasspointApProfile(int customerId, Profile profileSsidPsk, Profile profileSsidOpen) { | ||||
|  | ||||
|         Profile hotspotProfileAp = new Profile(); | ||||
|         hotspotProfileAp.setCustomerId(customerId); | ||||
|         hotspotProfileAp.setName("HotspotProfileAp"); | ||||
|         hotspotProfileAp.setDetails(ApNetworkConfiguration.createWithDefaults()); | ||||
|         hotspotProfileAp.getChildProfileIds().add(profileSsidPsk.getId()); | ||||
|         hotspotProfileAp.getChildProfileIds().add(profileSsidOpen.getId()); | ||||
|         hotspotProfileAp.getChildProfileIds().add(createPasspointRfProfile(customerId).getId()); | ||||
|         return hotspotProfileAp; | ||||
|  | ||||
|     } | ||||
|  | ||||
|     static Profile createPasspointRfProfile(int customerId) { | ||||
|  | ||||
|         Profile profileRf = new Profile(); | ||||
|         profileRf.setCustomerId(customerId); | ||||
|         profileRf.setName("TipWlan-rf-passpoint"); | ||||
|         RfConfiguration rfConfig = RfConfiguration.createWithDefaults(); | ||||
|         rfConfig.getRfConfigMap().forEach((x, y) -> y.setRf("TipWlan-rf-passpoint")); | ||||
|         profileRf.setDetails(rfConfig); | ||||
|  | ||||
|         return profileRf; | ||||
|     } | ||||
|  | ||||
|     static Profile createOsuProviderProfile(int customerId, Profile hotspot20IdProviderProfile, | ||||
|             List<PasspointMccMnc> mccMncList, Set<String> realms, String serverUri, String suffix, String domainName, | ||||
|             List<Byte> roamingOi) { | ||||
|  | ||||
|         PasspointOsuProviderProfile passpointIdProviderProfile = PasspointOsuProviderProfile.createWithDefaults(); | ||||
|  | ||||
|         passpointIdProviderProfile.setMccMncList(mccMncList); | ||||
|         PasspointOsuIcon icon1 = new PasspointOsuIcon(); | ||||
|         icon1.setIconLocale(Locale.CANADA); | ||||
|         icon1.setIconWidth(32); | ||||
|         icon1.setIconHeight(32); | ||||
|         icon1.setLanguageCode(Locale.CANADA.getISO3Language()); | ||||
|         icon1.setIconName("icon32eng"); | ||||
|         icon1.setImageUrl("https://localhost:9096/icon32eng.png"); | ||||
|         icon1.setFilePath("/tmp/icon32eng.png"); | ||||
|         PasspointOsuIcon icon2 = new PasspointOsuIcon(); | ||||
|         icon2.setIconLocale(Locale.CANADA_FRENCH); | ||||
|         icon2.setIconWidth(32); | ||||
|         icon2.setIconHeight(32); | ||||
|         icon2.setLanguageCode(Locale.CANADA_FRENCH.getISO3Language()); | ||||
|         icon2.setIconName("icon32fra"); | ||||
|         icon2.setImageUrl("https://localhost:9096/icon32fra.png"); | ||||
|         icon2.setFilePath("/tmp/icon32fra.png"); | ||||
|         PasspointOsuIcon icon3 = new PasspointOsuIcon(); | ||||
|         icon3.setIconLocale(Locale.US); | ||||
|         icon3.setIconWidth(32); | ||||
|         icon3.setIconHeight(32); | ||||
|         icon3.setLanguageCode(Locale.US.getISO3Language()); | ||||
|         icon3.setIconName("icon32usa"); | ||||
|         icon3.setImageUrl("https://localhost:9096/icon32usa.png"); | ||||
|         icon3.setFilePath("/tmp/icon32usa.png"); | ||||
|         List<PasspointOsuIcon> osuIconList = new ArrayList<>(); | ||||
|         osuIconList.add(icon1); | ||||
|         osuIconList.add(icon2); | ||||
|         osuIconList.add(icon3); | ||||
|         passpointIdProviderProfile.setOsuIconList(osuIconList); | ||||
|  | ||||
|         passpointIdProviderProfile.setRoamingOi(roamingOi); | ||||
|         List<PasspointNaiRealmInformation> naiRealmList = new ArrayList<>(); | ||||
|  | ||||
|         PasspointNaiRealmInformation naiRealmInfo = PasspointNaiRealmInformation.createWithDefaults(); | ||||
|         naiRealmInfo.setNaiRealms(realms); | ||||
|  | ||||
|         naiRealmList.add(naiRealmInfo); | ||||
|         passpointIdProviderProfile.setNaiRealmList(naiRealmList); | ||||
|         passpointIdProviderProfile.setDomainName(domainName); | ||||
|         passpointIdProviderProfile.setOsuNaiStandalone("anonymous@" + domainName); | ||||
|         passpointIdProviderProfile.setOsuNaiShared("anonymous@" + domainName); | ||||
|         List<Integer> methodList = new ArrayList<>(); | ||||
|         methodList.add(1); | ||||
|         methodList.add(0); | ||||
|         passpointIdProviderProfile.setOsuMethodList(methodList); | ||||
|         PasspointDuple enOsuProvider = PasspointDuple.createWithDefaults(); | ||||
|         enOsuProvider.setLocale(Locale.CANADA); | ||||
|         enOsuProvider.setDupleName("Example provider " + suffix); | ||||
|         PasspointDuple frOsuProvider = PasspointDuple.createWithDefaults(); | ||||
|         frOsuProvider.setLocale(Locale.CANADA_FRENCH); | ||||
|         frOsuProvider.setDupleName("Exemple de fournisseur " + suffix); | ||||
|         List<PasspointDuple> friendlyNameList = new ArrayList<>(); | ||||
|         friendlyNameList.add(enOsuProvider); | ||||
|         friendlyNameList.add(frOsuProvider); | ||||
|         passpointIdProviderProfile.setOsuFriendlyName(friendlyNameList); | ||||
|         List<PasspointDuple> osuServiceDescription = new ArrayList<>(); | ||||
|         PasspointDuple enService = PasspointDuple.createWithDefaults(); | ||||
|         enService.setLocale(Locale.CANADA); | ||||
|         enService.setDupleName("Example services " + suffix); | ||||
|         osuServiceDescription.add(enService); | ||||
|         PasspointDuple frService = PasspointDuple.createWithDefaults(); | ||||
|         frService.setLocale(Locale.CANADA_FRENCH); | ||||
|         frService.setDupleName("Exemples de services " + suffix); | ||||
|         osuServiceDescription.add(frService); | ||||
|         passpointIdProviderProfile.setOsuServiceDescription(osuServiceDescription); | ||||
|         passpointIdProviderProfile.setOsuServerUri(serverUri); | ||||
|  | ||||
|         hotspot20IdProviderProfile.setDetails(passpointIdProviderProfile); | ||||
|         return hotspot20IdProviderProfile; | ||||
|     } | ||||
|  | ||||
|     static OperationResult[] hs20Config() { | ||||
|         List<Row> ret = new ArrayList<>(); | ||||
|  | ||||
|         Map<String, Value> columns = new HashMap<>(); | ||||
|         columns.put("_uuid", new Atom<>(Uuid.of(UUID.fromString("28f2b88e-d10d-4cae-832d-784210940709")))); | ||||
|         columns.put("_version", new Atom<>(Uuid.of(UUID.randomUUID()))); | ||||
|         columns.put("anqp_domain_id", new Atom<>(1234)); | ||||
|         columns.put("connection_capability", new Atom<>(" 6:8888:1")); | ||||
|         columns.put("deauth_request_timeout", new Atom<>(0)); | ||||
|         columns.put("domain_name", | ||||
|                 com.vmware.ovsdb.protocol.operation.notation.Set.of(new Atom<>("rogers.com"), new Atom<>("telus.com"))); | ||||
|         columns.put("enable", new Atom<>(true)); | ||||
|         columns.put("gas_addr3_behavior", new Atom<>(0)); | ||||
|         columns.put("hessid", new Atom<>("26:f5:a2:ef:2e:56")); | ||||
|         columns.put("ipaddr_type_availability", new Atom<>(4)); | ||||
|         columns.put("mcc_mnc", new Atom<>("302,720;302,220")); | ||||
|         columns.put("nai_realm", com.vmware.ovsdb.protocol.operation.notation.Set | ||||
|                 .of(new Atom<>("0,rogers.com,21[5:7][2:4],13[5:6]"), new Atom<>("0,telus.com,21[5:7][2:4],13[5:6]"))); | ||||
|         columns.put("network_auth_type", new Atom<>("00")); | ||||
|         columns.put("operating_class", new Atom<>(0)); | ||||
|         columns.put("operator_friendly_name", | ||||
|                 com.vmware.ovsdb.protocol.operation.notation.Set.of( | ||||
|                         new Atom<>("eng:Default friendly passpoint_operator name"), | ||||
|                         new Atom<>("fra:Nom de l'opérateur convivial par défaut"))); | ||||
|         columns.put("operator_icons", | ||||
|                 com.vmware.ovsdb.protocol.operation.notation.Set.of( | ||||
|                         new Atom<>(Uuid.of(UUID.fromString("5f2d0e46-92bd-43a1-aa66-94474deb2212"))), | ||||
|                         new Atom<>(Uuid.of(UUID.fromString("7cf892c2-3f04-4851-986c-a7b7d8ad1dfa"))), | ||||
|                         new Atom<>(Uuid.of(UUID.fromString("9449e6cf-de62-4805-855b-3fc9bb5cd3ec"))))); | ||||
|         columns.put("osen", new Atom<>(false)); | ||||
|         columns.put("osu_providers", | ||||
|                 com.vmware.ovsdb.protocol.operation.notation.Set.of( | ||||
|                         new Atom<>(Uuid.of(UUID.fromString("33b78c84-3242-4477-831f-185c6532cfda"))), | ||||
|                         new Atom<>(Uuid.of(UUID.fromString("ae51393c-f9e5-4021-af73-c5ad4b751f88"))))); | ||||
|         columns.put("osu_ssid", new Atom<>("ssid-open")); | ||||
|         columns.put("roaming_oi", | ||||
|                 com.vmware.ovsdb.protocol.operation.notation.Set.of(new Atom<>("11223344"), new Atom<>("234433"))); | ||||
|         columns.put("tos", new Atom<>("https://localhost:9091/filestore/termsAndConditions")); | ||||
|         columns.put("venue_group_type", new Atom<>("2:8")); | ||||
|         columns.put("venue_name", com.vmware.ovsdb.protocol.operation.notation.Set | ||||
|                 .of(new Atom<>("eng:Example passpoint_venue"), new Atom<>("fra:Exemple de lieu"))); | ||||
|         columns.put("venue_url", com.vmware.ovsdb.protocol.operation.notation.Set | ||||
|                 .of(new Atom<>("1:http://www.example.com/info-fra"), new Atom<>("2:http://www.example.com/info-eng"))); | ||||
|         columns.put("vif_config", | ||||
|                 com.vmware.ovsdb.protocol.operation.notation.Set.of( | ||||
|                         new Atom<>(Uuid.of(UUID.fromString("66abe4b3-2a26-4769-b684-da70e2392a07"))), | ||||
|                         new Atom<>(Uuid.of(UUID.fromString("fad30b59-fada-41fc-ad62-2afca67cf9d5"))))); | ||||
|  | ||||
|         OperationResult[] operationResult = new OperationResult[1]; | ||||
|         SelectResult selectResult = new SelectResult(ret); | ||||
|         operationResult[0] = selectResult; | ||||
|  | ||||
|         return operationResult; | ||||
|     } | ||||
|  | ||||
|     static OperationResult[] hs20InsertProviderRows() { | ||||
|  | ||||
|         InsertResult insertResult = new InsertResult(Uuid.of(UUID.fromString("33b78c84-3242-4477-831f-185c6532cfda"))); | ||||
|         InsertResult insertResult2 = new InsertResult(Uuid.of(UUID.fromString("ae51393c-f9e5-4021-af73-c5ad4b751f88"))); | ||||
|  | ||||
|         OperationResult[] operationResult = new OperationResult[2]; | ||||
|         operationResult[0] = insertResult; | ||||
|         operationResult[1] = insertResult2; | ||||
|  | ||||
|         return operationResult; | ||||
|     } | ||||
|  | ||||
|     static OperationResult[] hs20OsuProviders() { | ||||
|         List<Row> ret = new ArrayList<>(); | ||||
|  | ||||
|         Map<String, Value> columns = new HashMap<>(); | ||||
|         columns.put("_uuid", new Atom<>(Uuid.of(UUID.fromString("33b78c84-3242-4477-831f-185c6532cfda")))); | ||||
|         columns.put("_version", new Atom<>(Uuid.of(UUID.randomUUID()))); | ||||
|         columns.put("method_list", com.vmware.ovsdb.protocol.operation.notation.Set.of(new Atom<>(0), new Atom<>(1))); | ||||
|         columns.put("osu_friendly_name", com.vmware.ovsdb.protocol.operation.notation.Set | ||||
|                 .of(new Atom<>("eng:Example provider rogers"), new Atom<>("fra:Exemple de fournisseur rogers"))); | ||||
|         columns.put("osu_icons", | ||||
|                 com.vmware.ovsdb.protocol.operation.notation.Set.of( | ||||
|                         new Atom<>(Uuid.of(UUID.fromString("5f2d0e46-92bd-43a1-aa66-94474deb2212"))), | ||||
|                         new Atom<>(Uuid.of(UUID.fromString("7cf892c2-3f04-4851-986c-a7b7d8ad1dfa"))), | ||||
|                         new Atom<>(Uuid.of(UUID.fromString("9449e6cf-de62-4805-855b-3fc9bb5cd3ec"))))); | ||||
|         columns.put("osu_nai", new Atom<>("anonymous@rogers.com")); | ||||
|         columns.put("server_uri", new Atom<>("https://example.com/osu/rogers")); | ||||
|         columns.put("service_description", com.vmware.ovsdb.protocol.operation.notation.Set | ||||
|                 .of(new Atom<>("eng:Example provider rogers"), new Atom<>("fra:Exemple de fournisseur rogers"))); | ||||
|  | ||||
|         ret.add(new Row(columns)); | ||||
|  | ||||
|         columns = new HashMap<>(); | ||||
|         columns.put("_uuid", new Atom<>(Uuid.of(UUID.fromString("ae51393c-f9e5-4021-af73-c5ad4b751f88")))); | ||||
|         columns.put("_version", new Atom<>(Uuid.of(UUID.randomUUID()))); | ||||
|         columns.put("method_list", com.vmware.ovsdb.protocol.operation.notation.Set.of(new Atom<>(0), new Atom<>(1))); | ||||
|         columns.put("osu_friendly_name", com.vmware.ovsdb.protocol.operation.notation.Set | ||||
|                 .of(new Atom<>("eng:Example provider telus"), new Atom<>("fra:Exemple de fournisseur telus"))); | ||||
|         columns.put("osu_icons", | ||||
|                 com.vmware.ovsdb.protocol.operation.notation.Set.of( | ||||
|                         new Atom<>(Uuid.of(UUID.fromString("5f2d0e46-92bd-43a1-aa66-94474deb2212"))), | ||||
|                         new Atom<>(Uuid.of(UUID.fromString("7cf892c2-3f04-4851-986c-a7b7d8ad1dfa"))), | ||||
|                         new Atom<>(Uuid.of(UUID.fromString("9449e6cf-de62-4805-855b-3fc9bb5cd3ec"))))); | ||||
|         columns.put("osu_nai", new Atom<>("anonymous@telus.com")); | ||||
|         columns.put("server_uri", new Atom<>("https://example.com/osu/telus")); | ||||
|         columns.put("service_description", com.vmware.ovsdb.protocol.operation.notation.Set | ||||
|                 .of(new Atom<>("eng:Example provider telus"), new Atom<>("fra:Exemple de fournisseur telus"))); | ||||
|  | ||||
|         OperationResult[] operationResult = new OperationResult[1]; | ||||
|         SelectResult selectResult = new SelectResult(ret); | ||||
|         operationResult[0] = selectResult; | ||||
|  | ||||
|         return operationResult; | ||||
|     } | ||||
|  | ||||
|     static OperationResult[] hs20InsertIconRows() { | ||||
|  | ||||
|         UpdateResult insertResult = new UpdateResult(1); | ||||
|         UpdateResult insertResult2 = new UpdateResult(2); | ||||
|         UpdateResult insertResult3 = new UpdateResult(3); | ||||
|  | ||||
|         OperationResult[] operationResult = new OperationResult[3]; | ||||
|         operationResult[0] = insertResult; | ||||
|         operationResult[1] = insertResult2; | ||||
|         operationResult[2] = insertResult3; | ||||
|  | ||||
|         return operationResult; | ||||
|     } | ||||
|  | ||||
|     static OperationResult[] hs20IconRows() { | ||||
|         List<Row> ret = new ArrayList<>(); | ||||
|  | ||||
|         Map<String, Value> columns = new HashMap<>(); | ||||
|         columns.put("_uuid", new Atom<>(Uuid.of(UUID.fromString("5f2d0e46-92bd-43a1-aa66-94474deb2212")))); | ||||
|         columns.put("_version", new Atom<>(Uuid.of(UUID.randomUUID()))); | ||||
|         columns.put("height", new Atom<>(32L)); | ||||
|         columns.put("img_type", new Atom<>("image/png")); | ||||
|         columns.put("lang_code", new Atom<>("eng")); | ||||
|         columns.put("name", new Atom<>("icon32usa")); | ||||
|         columns.put("path", new Atom<String>("/tmp/icon32usa.png")); | ||||
|         columns.put("url", new Atom<String>("https://localhost:9096/icon32usa.png")); | ||||
|         columns.put("width", new Atom<>(32L)); | ||||
|  | ||||
|         ret.add(new Row(columns)); | ||||
|  | ||||
|         columns = new HashMap<>(); | ||||
|         columns.put("_uuid", new Atom<>(Uuid.of(UUID.fromString("7cf892c2-3f04-4851-986c-a7b7d8ad1dfa")))); | ||||
|         columns.put("_version", new Atom<>(Uuid.of(UUID.randomUUID()))); | ||||
|         columns.put("height", new Atom<>(32L)); | ||||
|         columns.put("img_type", new Atom<>("image/png")); | ||||
|         columns.put("lang_code", new Atom<>("eng")); | ||||
|         columns.put("name", new Atom<>("icon32eng")); | ||||
|         columns.put("path", new Atom<String>("/tmp/icon32eng.png")); | ||||
|         columns.put("url", new Atom<String>("https://localhost:9096/icon32eng.png")); | ||||
|         columns.put("width", new Atom<>(32L)); | ||||
|  | ||||
|         ret.add(new Row(columns)); | ||||
|  | ||||
|         columns = new HashMap<>(); | ||||
|         columns.put("_uuid", new Atom<>(Uuid.of(UUID.fromString("9449e6cf-de62-4805-855b-3fc9bb5cd3ec")))); | ||||
|         columns.put("_version", new Atom<>(Uuid.of(UUID.randomUUID()))); | ||||
|         columns.put("height", new Atom<>(32L)); | ||||
|         columns.put("img_type", new Atom<>("image/png")); | ||||
|         columns.put("lang_code", new Atom<>("fra")); | ||||
|         columns.put("name", new Atom<>("icon32fra")); | ||||
|         columns.put("path", new Atom<String>("/tmp/icon32fra.png")); | ||||
|         columns.put("url", new Atom<String>("https://localhost:9096/icon32fra.png")); | ||||
|         columns.put("width", new Atom<>(32L)); | ||||
|  | ||||
|         ret.add(new Row(columns)); | ||||
|  | ||||
|         SelectResult selectResult = new SelectResult(ret); | ||||
|  | ||||
|         OperationResult[] operationResult = new OperationResult[1]; | ||||
|         operationResult[0] = selectResult; | ||||
|  | ||||
|         return operationResult; | ||||
|     } | ||||
|  | ||||
|     static OperationResult[] vifConfigRows() { | ||||
|  | ||||
|         List<Row> ret = new ArrayList<>(); | ||||
|         Row row = new Row(new HashMap<String, Value>()); | ||||
|         row.getColumns().put("_uuid", new Atom<>(Uuid.of(UUID.fromString("66abe4b3-2a26-4769-b684-da70e2392a07")))); | ||||
|         row.getColumns().put("ssid", new Atom<>("ssid-access")); | ||||
|         row.getColumns().put("mac", new Atom<>("26:f5:a2:ef:2e:56")); | ||||
|         row.getColumns().put("if_name", new Atom<>("wlan0")); | ||||
|         ret.add(row); | ||||
|  | ||||
|         Row row2 = new Row(new HashMap<String, Value>()); | ||||
|         row2.getColumns().put("_uuid", new Atom<>(Uuid.of(UUID.fromString("fad30b59-fada-41fc-ad62-2afca67cf9d5")))); | ||||
|         row2.getColumns().put("ssid", new Atom<>("ssid-access")); | ||||
|         row2.getColumns().put("mac", new Atom<>("24:f5:a2:ef:2e:54")); | ||||
|         row2.getColumns().put("if_name", new Atom<>("wlan2")); | ||||
|         ret.add(row2); | ||||
|  | ||||
|         Row row3 = new Row(new HashMap<String, Value>()); | ||||
|         row3.getColumns().put("_uuid", new Atom<>(Uuid.of(UUID.randomUUID()))); | ||||
|         row3.getColumns().put("ssid", new Atom<>("ssid-open")); | ||||
|         row3.getColumns().put("mac", new Atom<>("24:f5:a2:ef:2e:55")); | ||||
|         row3.getColumns().put("if_name", new Atom<>("wlan1")); | ||||
|         ret.add(row3); | ||||
|  | ||||
|         SelectResult selectResult = new SelectResult(ret); | ||||
|  | ||||
|         OperationResult[] operationResult = new OperationResult[1]; | ||||
|         operationResult[0] = selectResult; | ||||
|         return operationResult; | ||||
|     } | ||||
|  | ||||
|     static OperationResult[] vifStates() { | ||||
|  | ||||
|         List<Row> ret = new ArrayList<>(); | ||||
|  | ||||
|         Row row = new Row(new HashMap<String, Value>()); | ||||
|         row.getColumns().put("_uuid", new Atom<>(Uuid.of(UUID.fromString("66abe4b3-2a26-4769-b684-da70e2392a07")))); | ||||
|         row.getColumns().put("ssid", new Atom<>("ssid-access")); | ||||
|         row.getColumns().put("if_name", new Atom<>("wlan0")); | ||||
|         ret.add(row); | ||||
|  | ||||
|         Row row2 = new Row(new HashMap<String, Value>()); | ||||
|         row2.getColumns().put("_uuid", new Atom<>(Uuid.of(UUID.fromString("fad30b59-fada-41fc-ad62-2afca67cf9d5")))); | ||||
|         row2.getColumns().put("ssid", new Atom<>("ssid-access")); | ||||
|         row2.getColumns().put("if_name", new Atom<>("wlan2")); | ||||
|         ret.add(row2); | ||||
|  | ||||
|         Row row3 = new Row(new HashMap<String, Value>()); | ||||
|         row3.getColumns().put("_uuid", new Atom<>(Uuid.of(UUID.randomUUID()))); | ||||
|         row3.getColumns().put("ssid", new Atom<>("ssid-open")); | ||||
|         row3.getColumns().put("if_name", new Atom<>("wlan1")); | ||||
|         ret.add(row3); | ||||
|  | ||||
|         SelectResult selectResult = new SelectResult(ret); | ||||
|  | ||||
|         OperationResult[] operationResult = new OperationResult[1]; | ||||
|         operationResult[0].equals(selectResult); | ||||
|         return operationResult; | ||||
|     } | ||||
|  | ||||
|     static Profile createRadiusProfile(int customerId) { | ||||
|         Profile profileRadius = new Profile(); | ||||
|         profileRadius.setCustomerId(customerId); | ||||
|         profileRadius.setProfileType(ProfileType.radius); | ||||
|         profileRadius.setName("Radius-Profile"); | ||||
|  | ||||
|         RadiusProfile radiusDetails = new RadiusProfile(); | ||||
|         RadiusServiceRegion radiusServiceRegion = new RadiusServiceRegion(); | ||||
|         RadiusServer radiusServer = new RadiusServer(); | ||||
|         radiusServer.setAuthPort(1812); | ||||
|         try { | ||||
|             radiusServer.setIpAddress(InetAddress.getByName("192.168.0.1")); | ||||
|         } catch (UnknownHostException e) { | ||||
|             throw new IllegalArgumentException(e); | ||||
|         } | ||||
|         radiusServer.setSecret("testing123"); | ||||
|         radiusServiceRegion.addRadiusServer("Radius-Profile", radiusServer); | ||||
|         radiusServiceRegion.setRegionName("Ottawa"); | ||||
|         radiusDetails.addRadiusServiceRegion(radiusServiceRegion); | ||||
|         profileRadius.setDetails(radiusDetails); | ||||
|         return profileRadius; | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -1,110 +0,0 @@ | ||||
| { | ||||
| 	"vif_radio_idx": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"if_name": "home-ap-24", | ||||
| 	"state": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mac": "24:f5:a2:ef:2e:54", | ||||
| 	"ssid": "TipWlan-cloud-3-radios", | ||||
| 	"uapsd_enable": true, | ||||
| 	"ap_bridge": false, | ||||
| 	"wps_pbc": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mac_list": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"associated_clients": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"btm": 1, | ||||
| 	"_uuid": [ | ||||
| 		"uuid", | ||||
| 		"a007d865-fe4b-4265-a9a1-69d4b309e939" | ||||
| 	], | ||||
| 	"ssid_broadcast": "enabled", | ||||
| 	"wps": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mcast2ucast": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mode": "ap", | ||||
| 	"mac_list_type": "none", | ||||
| 	"wps_pbc_key_id": "", | ||||
| 	"ft_psk": 0, | ||||
| 	"channel": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"parent": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"multi_ap": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"ap_vlan_sta_addr": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"security": [ | ||||
| 		"map", | ||||
| 		[ | ||||
| 			[ | ||||
| 				"encryption", | ||||
| 				"OPEN" | ||||
| 			] | ||||
| 		] | ||||
| 	], | ||||
| 	"wds": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"enabled": true, | ||||
| 	"vlan_id": 1, | ||||
| 	"min_hw_mode": "11n", | ||||
| 	"vif_config": [ | ||||
| 		"uuid", | ||||
| 		"fc3de7db-ee6c-452c-859c-1be81b0b5b24" | ||||
| 	], | ||||
| 	"_version": [ | ||||
| 		"uuid", | ||||
| 		"a96bff45-29bd-423b-9014-10a418683e5d" | ||||
| 	], | ||||
| 	"bridge": "lan", | ||||
| 	"group_rekey": 0, | ||||
| 	"ft_mobility_domain": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"dynamic_beacon": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"rrm": 1 | ||||
| } | ||||
| @@ -1,109 +0,0 @@ | ||||
| { | ||||
| 	"vif_radio_idx": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"if_name": "home-ap-l50", | ||||
| 	"state": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mac": "24:f5:a2:ef:2e:55", | ||||
| 	"ssid": "TipWlan-cloud-3-radios", | ||||
| 	"uapsd_enable": true, | ||||
| 	"ap_bridge": false, | ||||
| 	"wps_pbc": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mac_list": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"associated_clients": [ | ||||
| 		"uuid", | ||||
| 		"073c3961-33fe-4054-abc6-ae2e8b91c914" | ||||
| 	], | ||||
| 	"btm": 1, | ||||
| 	"_uuid": [ | ||||
| 		"uuid", | ||||
| 		"7ebfab8d-0962-4af3-a45b-b5a9d68c86c8" | ||||
| 	], | ||||
| 	"ssid_broadcast": "enabled", | ||||
| 	"wps": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mcast2ucast": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mode": "ap", | ||||
| 	"mac_list_type": "none", | ||||
| 	"wps_pbc_key_id": "", | ||||
| 	"ft_psk": 0, | ||||
| 	"channel": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"parent": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"multi_ap": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"ap_vlan_sta_addr": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"security": [ | ||||
| 		"map", | ||||
| 		[ | ||||
| 			[ | ||||
| 				"encryption", | ||||
| 				"OPEN" | ||||
| 			] | ||||
| 		] | ||||
| 	], | ||||
| 	"wds": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"enabled": true, | ||||
| 	"vlan_id": 1, | ||||
| 	"min_hw_mode": "11ac", | ||||
| 	"vif_config": [ | ||||
| 		"uuid", | ||||
| 		"54c01e8b-4d67-456e-ab18-cbc89c784c2a" | ||||
| 	], | ||||
| 	"_version": [ | ||||
| 		"uuid", | ||||
| 		"faec64fb-fbc1-417a-9ff4-f30ff2c5be94" | ||||
| 	], | ||||
| 	"bridge": "lan", | ||||
| 	"group_rekey": 0, | ||||
| 	"ft_mobility_domain": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"dynamic_beacon": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"rrm": 1 | ||||
| } | ||||
| @@ -1,109 +0,0 @@ | ||||
| { | ||||
| 	"vif_radio_idx": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"if_name": "home-ap-u50", | ||||
| 	"state": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mac": "26:f5:a2:ef:2e:56", | ||||
| 	"ssid": "TipWlan-cloud-3-radios", | ||||
| 	"uapsd_enable": true, | ||||
| 	"ap_bridge": false, | ||||
| 	"wps_pbc": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mac_list": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"associated_clients": [ | ||||
| 		"uuid", | ||||
| 		"c9f5a30d-7ccf-406f-a0d8-f108b377584e" | ||||
| 	], | ||||
| 	"btm": 1, | ||||
| 	"_uuid": [ | ||||
| 		"uuid", | ||||
| 		"009e6ee9-d687-4201-9c55-f42d26cbd7b5" | ||||
| 	], | ||||
| 	"ssid_broadcast": "enabled", | ||||
| 	"wps": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mcast2ucast": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mode": "ap", | ||||
| 	"mac_list_type": "none", | ||||
| 	"wps_pbc_key_id": "", | ||||
| 	"ft_psk": 0, | ||||
| 	"channel": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"parent": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"multi_ap": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"ap_vlan_sta_addr": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"security": [ | ||||
| 		"map", | ||||
| 		[ | ||||
| 			[ | ||||
| 				"encryption", | ||||
| 				"OPEN" | ||||
| 			] | ||||
| 		] | ||||
| 	], | ||||
| 	"wds": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"enabled": true, | ||||
| 	"vlan_id": 1, | ||||
| 	"min_hw_mode": "11ac", | ||||
| 	"vif_config": [ | ||||
| 		"uuid", | ||||
| 		"4aeefd3b-b86f-45e4-a9a1-c734363be9c8" | ||||
| 	], | ||||
| 	"_version": [ | ||||
| 		"uuid", | ||||
| 		"e70c7842-6257-46d1-94d3-350a55733fc4" | ||||
| 	], | ||||
| 	"bridge": "lan", | ||||
| 	"group_rekey": 0, | ||||
| 	"ft_mobility_domain": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"dynamic_beacon": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"rrm": 1 | ||||
| } | ||||
| @@ -1,110 +0,0 @@ | ||||
| { | ||||
| 	"vif_radio_idx": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"if_name": "home-ap-24", | ||||
| 	"state": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mac": "24:f5:a2:ef:2e:54", | ||||
| 	"ssid": "TipWlan-cloud-3-radios", | ||||
| 	"uapsd_enable": true, | ||||
| 	"ap_bridge": false, | ||||
| 	"wps_pbc": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mac_list": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"associated_clients": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"btm": 1, | ||||
| 	"_uuid": [ | ||||
| 		"uuid", | ||||
| 		"a007d865-fe4b-4265-a9a1-69d4b309e939" | ||||
| 	], | ||||
| 	"ssid_broadcast": "enabled", | ||||
| 	"wps": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mcast2ucast": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mode": "ap", | ||||
| 	"mac_list_type": "none", | ||||
| 	"wps_pbc_key_id": "", | ||||
| 	"ft_psk": 0, | ||||
| 	"channel": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"parent": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"multi_ap": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"ap_vlan_sta_addr": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"security": [ | ||||
| 		"map", | ||||
| 		[ | ||||
| 			[ | ||||
| 				"encryption", | ||||
| 				"OPEN" | ||||
| 			] | ||||
| 		] | ||||
| 	], | ||||
| 	"wds": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"enabled": true, | ||||
| 	"vlan_id": 1, | ||||
| 	"min_hw_mode": "11n", | ||||
| 	"vif_config": [ | ||||
| 		"uuid", | ||||
| 		"fc3de7db-ee6c-452c-859c-1be81b0b5b24" | ||||
| 	], | ||||
| 	"_version": [ | ||||
| 		"uuid", | ||||
| 		"a96bff45-29bd-423b-9014-10a418683e5d" | ||||
| 	], | ||||
| 	"bridge": "lan", | ||||
| 	"group_rekey": 0, | ||||
| 	"ft_mobility_domain": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"dynamic_beacon": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"rrm": 1 | ||||
| } | ||||
| @@ -1,109 +0,0 @@ | ||||
| { | ||||
| 	"vif_radio_idx": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"if_name": "home-ap-l50", | ||||
| 	"state": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mac": "24:f5:a2:ef:2e:55", | ||||
| 	"ssid": "TipWlan-cloud-3-radios", | ||||
| 	"uapsd_enable": true, | ||||
| 	"ap_bridge": false, | ||||
| 	"wps_pbc": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mac_list": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"associated_clients": [ | ||||
| 		"uuid", | ||||
| 		"073c3961-33fe-4054-abc6-ae2e8b91c914" | ||||
| 	], | ||||
| 	"btm": 1, | ||||
| 	"_uuid": [ | ||||
| 		"uuid", | ||||
| 		"7ebfab8d-0962-4af3-a45b-b5a9d68c86c8" | ||||
| 	], | ||||
| 	"ssid_broadcast": "enabled", | ||||
| 	"wps": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mcast2ucast": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mode": "ap", | ||||
| 	"mac_list_type": "none", | ||||
| 	"wps_pbc_key_id": "", | ||||
| 	"ft_psk": 0, | ||||
| 	"channel": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"parent": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"multi_ap": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"ap_vlan_sta_addr": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"security": [ | ||||
| 		"map", | ||||
| 		[ | ||||
| 			[ | ||||
| 				"encryption", | ||||
| 				"OPEN" | ||||
| 			] | ||||
| 		] | ||||
| 	], | ||||
| 	"wds": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"enabled": true, | ||||
| 	"vlan_id": 1, | ||||
| 	"min_hw_mode": "11ac", | ||||
| 	"vif_config": [ | ||||
| 		"uuid", | ||||
| 		"54c01e8b-4d67-456e-ab18-cbc89c784c2a" | ||||
| 	], | ||||
| 	"_version": [ | ||||
| 		"uuid", | ||||
| 		"faec64fb-fbc1-417a-9ff4-f30ff2c5be94" | ||||
| 	], | ||||
| 	"bridge": "lan", | ||||
| 	"group_rekey": 0, | ||||
| 	"ft_mobility_domain": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"dynamic_beacon": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"rrm": 1 | ||||
| } | ||||
| @@ -1,109 +0,0 @@ | ||||
| { | ||||
| 	"vif_radio_idx": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"if_name": "home-ap-u50", | ||||
| 	"state": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mac": "26:f5:a2:ef:2e:56", | ||||
| 	"ssid": "TipWlan-cloud-3-radios", | ||||
| 	"uapsd_enable": true, | ||||
| 	"ap_bridge": false, | ||||
| 	"wps_pbc": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mac_list": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"associated_clients": [ | ||||
| 		"uuid", | ||||
| 		"c9f5a30d-7ccf-406f-a0d8-f108b377584e" | ||||
| 	], | ||||
| 	"btm": 1, | ||||
| 	"_uuid": [ | ||||
| 		"uuid", | ||||
| 		"009e6ee9-d687-4201-9c55-f42d26cbd7b5" | ||||
| 	], | ||||
| 	"ssid_broadcast": "enabled", | ||||
| 	"wps": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mcast2ucast": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mode": "ap", | ||||
| 	"mac_list_type": "none", | ||||
| 	"wps_pbc_key_id": "", | ||||
| 	"ft_psk": 0, | ||||
| 	"channel": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"parent": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"multi_ap": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"ap_vlan_sta_addr": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"security": [ | ||||
| 		"map", | ||||
| 		[ | ||||
| 			[ | ||||
| 				"encryption", | ||||
| 				"OPEN" | ||||
| 			] | ||||
| 		] | ||||
| 	], | ||||
| 	"wds": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"enabled": true, | ||||
| 	"vlan_id": 1, | ||||
| 	"min_hw_mode": "11ac", | ||||
| 	"vif_config": [ | ||||
| 		"uuid", | ||||
| 		"4aeefd3b-b86f-45e4-a9a1-c734363be9c8" | ||||
| 	], | ||||
| 	"_version": [ | ||||
| 		"uuid", | ||||
| 		"e70c7842-6257-46d1-94d3-350a55733fc4" | ||||
| 	], | ||||
| 	"bridge": "lan", | ||||
| 	"group_rekey": 0, | ||||
| 	"ft_mobility_domain": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"dynamic_beacon": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"rrm": 1 | ||||
| } | ||||
| @@ -1,110 +0,0 @@ | ||||
| { | ||||
| 	"vif_radio_idx": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"if_name": "home-ap-24", | ||||
| 	"state": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mac": "24:f5:a2:ef:2e:54", | ||||
| 	"ssid": "TipWlan-cloud-3-radios", | ||||
| 	"uapsd_enable": true, | ||||
| 	"ap_bridge": false, | ||||
| 	"wps_pbc": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mac_list": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"associated_clients": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"btm": 1, | ||||
| 	"_uuid": [ | ||||
| 		"uuid", | ||||
| 		"a007d865-fe4b-4265-a9a1-69d4b309e939" | ||||
| 	], | ||||
| 	"ssid_broadcast": "enabled", | ||||
| 	"wps": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mcast2ucast": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mode": "ap", | ||||
| 	"mac_list_type": "none", | ||||
| 	"wps_pbc_key_id": "", | ||||
| 	"ft_psk": 0, | ||||
| 	"channel": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"parent": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"multi_ap": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"ap_vlan_sta_addr": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"security": [ | ||||
| 		"map", | ||||
| 		[ | ||||
| 			[ | ||||
| 				"encryption", | ||||
| 				"OPEN" | ||||
| 			] | ||||
| 		] | ||||
| 	], | ||||
| 	"wds": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"enabled": true, | ||||
| 	"vlan_id": 1, | ||||
| 	"min_hw_mode": "11n", | ||||
| 	"vif_config": [ | ||||
| 		"uuid", | ||||
| 		"fc3de7db-ee6c-452c-859c-1be81b0b5b24" | ||||
| 	], | ||||
| 	"_version": [ | ||||
| 		"uuid", | ||||
| 		"a96bff45-29bd-423b-9014-10a418683e5d" | ||||
| 	], | ||||
| 	"bridge": "lan", | ||||
| 	"group_rekey": 0, | ||||
| 	"ft_mobility_domain": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"dynamic_beacon": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"rrm": 1 | ||||
| } | ||||
| @@ -1,109 +0,0 @@ | ||||
| { | ||||
| 	"vif_radio_idx": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"if_name": "home-ap-l50", | ||||
| 	"state": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mac": "24:f5:a2:ef:2e:55", | ||||
| 	"ssid": "TipWlan-cloud-3-radios", | ||||
| 	"uapsd_enable": true, | ||||
| 	"ap_bridge": false, | ||||
| 	"wps_pbc": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mac_list": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"associated_clients": [ | ||||
| 		"uuid", | ||||
| 		"073c3961-33fe-4054-abc6-ae2e8b91c914" | ||||
| 	], | ||||
| 	"btm": 1, | ||||
| 	"_uuid": [ | ||||
| 		"uuid", | ||||
| 		"7ebfab8d-0962-4af3-a45b-b5a9d68c86c8" | ||||
| 	], | ||||
| 	"ssid_broadcast": "enabled", | ||||
| 	"wps": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mcast2ucast": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"mode": "ap", | ||||
| 	"mac_list_type": "none", | ||||
| 	"wps_pbc_key_id": "", | ||||
| 	"ft_psk": 0, | ||||
| 	"channel": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"parent": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"multi_ap": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"ap_vlan_sta_addr": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"security": [ | ||||
| 		"map", | ||||
| 		[ | ||||
| 			[ | ||||
| 				"encryption", | ||||
| 				"OPEN" | ||||
| 			] | ||||
| 		] | ||||
| 	], | ||||
| 	"wds": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"enabled": true, | ||||
| 	"vlan_id": 1, | ||||
| 	"min_hw_mode": "11ac", | ||||
| 	"vif_config": [ | ||||
| 		"uuid", | ||||
| 		"54c01e8b-4d67-456e-ab18-cbc89c784c2a" | ||||
| 	], | ||||
| 	"_version": [ | ||||
| 		"uuid", | ||||
| 		"faec64fb-fbc1-417a-9ff4-f30ff2c5be94" | ||||
| 	], | ||||
| 	"bridge": "lan", | ||||
| 	"group_rekey": 0, | ||||
| 	"ft_mobility_domain": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"dynamic_beacon": [ | ||||
| 		"set", | ||||
| 		[ | ||||
| 		] | ||||
| 	], | ||||
| 	"rrm": 1 | ||||
| } | ||||
| @@ -1,96 +0,0 @@ | ||||
| { | ||||
|     "vif_radio_idx": [ | ||||
|         "set", | ||||
|         [] | ||||
|     ], | ||||
|     "if_name": "home-ap-u50", | ||||
|     "state": [ | ||||
|         "set", | ||||
|         [] | ||||
|     ], | ||||
|     "mac": "26:f5:a2:ef:2e:56", | ||||
|     "ssid": "TipWlan-cloud-3-radios", | ||||
|     "uapsd_enable": true, | ||||
|     "ap_bridge": false, | ||||
|     "wps_pbc": [ | ||||
|         "set", | ||||
|         [] | ||||
|     ], | ||||
|     "mac_list": [ | ||||
|         "set", | ||||
|         [] | ||||
|     ], | ||||
|     "associated_clients": [ | ||||
|         "uuid", | ||||
|         "c9f5a30d-7ccf-406f-a0d8-f108b377584e" | ||||
|     ], | ||||
|     "btm": 1, | ||||
|     "_uuid": [ | ||||
|         "uuid", | ||||
|         "009e6ee9-d687-4201-9c55-f42d26cbd7b5" | ||||
|     ], | ||||
|     "ssid_broadcast": "enabled", | ||||
|     "wps": [ | ||||
|         "set", | ||||
|         [] | ||||
|     ], | ||||
|     "mcast2ucast": [ | ||||
|         "set", | ||||
|         [] | ||||
|     ], | ||||
|     "mode": "ap", | ||||
|     "mac_list_type": "none", | ||||
|     "wps_pbc_key_id": "", | ||||
|     "ft_psk": 0, | ||||
|     "channel": [ | ||||
|         "set", | ||||
|         [] | ||||
|     ], | ||||
|     "parent": [ | ||||
|         "set", | ||||
|         [] | ||||
|     ], | ||||
|     "multi_ap": [ | ||||
|         "set", | ||||
|         [] | ||||
|     ], | ||||
|     "ap_vlan_sta_addr": [ | ||||
|         "set", | ||||
|         [] | ||||
|     ], | ||||
|     "security": [ | ||||
|         "map", | ||||
|         [ | ||||
|             [ | ||||
|                 "encryption", | ||||
|                 "OPEN" | ||||
|             ] | ||||
|         ] | ||||
|     ], | ||||
|     "wds": [ | ||||
|         "set", | ||||
|         [] | ||||
|     ], | ||||
|     "enabled": true, | ||||
|     "vlan_id": 1, | ||||
|     "min_hw_mode": "11ac", | ||||
|     "vif_config": [ | ||||
|         "uuid", | ||||
|         "4aeefd3b-b86f-45e4-a9a1-c734363be9c8" | ||||
|     ], | ||||
|     "_version": [ | ||||
|         "uuid", | ||||
|         "e70c7842-6257-46d1-94d3-350a55733fc4" | ||||
|     ], | ||||
|     "bridge": "lan", | ||||
|     "group_rekey": 0, | ||||
|     "ft_mobility_domain": [ | ||||
|         "set", | ||||
|         [] | ||||
|     ], | ||||
|     "dynamic_beacon": [ | ||||
|         "set", | ||||
|         [] | ||||
|     ], | ||||
|     "rrm": 1 | ||||
| } | ||||
		Reference in New Issue
	
	Block a user