mirror of
				https://github.com/Telecominfraproject/wlan-cloud-opensync-controller.git
				synced 2025-10-31 10:37:51 +00:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			20201204-1
			...
			testv1.0
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 0fcdb7410e | 
							
								
								
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							| @@ -1,5 +1,5 @@ | ||||
| BSD 3-Clause License | ||||
|  | ||||
| #Release Testing | ||||
| Copyright (c) 2020, Telecom Infra Project | ||||
| All rights reserved. | ||||
|  | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -30,7 +30,6 @@ import com.telecominfraproject.wlan.client.session.models.ClientSessionDetails; | ||||
| import com.telecominfraproject.wlan.client.session.models.ClientSessionMetricDetails; | ||||
| import com.telecominfraproject.wlan.cloudeventdispatcher.CloudEventDispatcherInterface; | ||||
| import com.telecominfraproject.wlan.core.model.equipment.ChannelBandwidth; | ||||
| import com.telecominfraproject.wlan.core.model.equipment.ChannelHopReason; | ||||
| import com.telecominfraproject.wlan.core.model.equipment.DetectedAuthMode; | ||||
| import com.telecominfraproject.wlan.core.model.equipment.MacAddress; | ||||
| import com.telecominfraproject.wlan.core.model.equipment.NeighborScanPacketType; | ||||
| @@ -40,9 +39,8 @@ import com.telecominfraproject.wlan.core.model.equipment.SecurityType; | ||||
| import com.telecominfraproject.wlan.core.model.equipment.WiFiSessionUtility; | ||||
| import com.telecominfraproject.wlan.core.model.utils.DecibelUtils; | ||||
| import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface; | ||||
| import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration; | ||||
| import com.telecominfraproject.wlan.equipment.models.Equipment; | ||||
| import com.telecominfraproject.wlan.opensync.util.OvsdbToWlanCloudTypeMappingUtility; | ||||
| import com.telecominfraproject.wlan.opensync.ovsdb.dao.utilities.OvsdbToWlanCloudTypeMappingUtility; | ||||
| import com.telecominfraproject.wlan.profile.ProfileServiceInterface; | ||||
| import com.telecominfraproject.wlan.profile.models.Profile; | ||||
| import com.telecominfraproject.wlan.profile.models.ProfileContainer; | ||||
| @@ -78,7 +76,6 @@ import com.telecominfraproject.wlan.status.models.Status; | ||||
| import com.telecominfraproject.wlan.status.models.StatusCode; | ||||
| import com.telecominfraproject.wlan.status.models.StatusDataType; | ||||
| import com.telecominfraproject.wlan.status.network.models.NetworkAdminStatusData; | ||||
| import com.telecominfraproject.wlan.systemevent.equipment.realtime.RealTimeChannelHopEvent; | ||||
| import com.telecominfraproject.wlan.systemevent.equipment.realtime.RealTimeEventType; | ||||
| import com.telecominfraproject.wlan.systemevent.equipment.realtime.RealTimeSipCallReportEvent; | ||||
| import com.telecominfraproject.wlan.systemevent.equipment.realtime.RealTimeSipCallStartEvent; | ||||
| @@ -95,7 +92,6 @@ import sts.OpensyncStats.AssocType; | ||||
| import sts.OpensyncStats.CallReport; | ||||
| import sts.OpensyncStats.CallStart; | ||||
| import sts.OpensyncStats.CallStop; | ||||
| import sts.OpensyncStats.ChannelSwitchReason; | ||||
| import sts.OpensyncStats.Client; | ||||
| import sts.OpensyncStats.ClientReport; | ||||
| import sts.OpensyncStats.DNSProbeMetric; | ||||
| @@ -154,7 +150,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|     void processMqttMessage(String topic, WCStatsReport wcStatsReport) { | ||||
|         LOG.info("Received WCStatsReport {}", wcStatsReport.toString()); | ||||
|  | ||||
|         LOG.debug("Received report on topic {}", topic); | ||||
|         LOG.info("Received report on topic {}", topic); | ||||
|         int customerId = extractCustomerIdFromTopic(topic); | ||||
|  | ||||
|         long equipmentId = extractEquipmentIdFromTopic(topic); | ||||
| @@ -249,7 +245,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|         } | ||||
|  | ||||
|         if (!metricRecordList.isEmpty()) { | ||||
|             LOG.debug("Publishing Metrics {}", metricRecordList); | ||||
|             LOG.info("Publishing Metrics {}", metricRecordList); | ||||
|             equipmentMetricsCollectorInterface.publishMetrics(metricRecordList); | ||||
|         } | ||||
|  | ||||
| @@ -300,7 +296,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|  | ||||
|             for (sts.OpensyncStats.EventReport.ClientSession apEventClientSession : e.getClientSessionList()) { | ||||
|  | ||||
|                 LOG.debug("Processing EventReport::ClientSession {}", apEventClientSession); | ||||
|                 LOG.info("Processing EventReport::ClientSession {}", apEventClientSession); | ||||
|  | ||||
|                 processClientConnectEvent(customerId, equipmentId, locationId, e, apEventClientSession); | ||||
|  | ||||
| @@ -322,74 +318,10 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|  | ||||
|             } | ||||
|  | ||||
|             publishChannelHopEvents(customerId, equipmentId, e); | ||||
|  | ||||
|         }); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     private void publishChannelHopEvents(int customerId, long equipmentId, EventReport e) { | ||||
|          | ||||
|         LOG.info("publishChannelHopEvents for customerId {} equipmentId {}"); | ||||
|          | ||||
|         List<SystemEvent> events = new ArrayList<>(); | ||||
|          | ||||
|         for (sts.OpensyncStats.EventReport.ChannelSwitchEvent channelSwitchEvent : e.getChannelSwitchList()) { | ||||
|             Equipment equipment = equipmentServiceInterface.getOrNull(equipmentId); | ||||
|             if (equipment == null) | ||||
|                 continue; | ||||
|             RadioType radioType = null; | ||||
|             Long timestamp = null; | ||||
|             ChannelHopReason reason = null; | ||||
|             Integer channel = null; | ||||
|             if (channelSwitchEvent.hasBand()) {                    | ||||
|                radioType = OvsdbToWlanCloudTypeMappingUtility | ||||
|                 .getRadioTypeFromOpensyncStatsRadioBandType(channelSwitchEvent.getBand());             | ||||
|             } | ||||
|             if (RadioType.isUnsupported(radioType)) { | ||||
|                 LOG.warn("publishChannelHopEvents:RadioType {} is unsupported, cannot send RealTimeChannelHopEvent for {}", radioType, channelSwitchEvent); | ||||
|                 continue; | ||||
|             } | ||||
|             if (channelSwitchEvent.hasTimestampMs()) { | ||||
|                 timestamp = channelSwitchEvent.getTimestampMs(); | ||||
|             } | ||||
|             if (timestamp == null) { | ||||
|                 LOG.warn("publishChannelHopEvents:timestamp is null, cannot send RealTimeChannelHopEvent for {}", channelSwitchEvent); | ||||
|                 continue;   | ||||
|             } | ||||
|              | ||||
|             if (channelSwitchEvent.hasReason()) { | ||||
|                 if (channelSwitchEvent.getReason().equals(ChannelSwitchReason.high_interference)) reason = ChannelHopReason.HighInterference; | ||||
|                 else if (channelSwitchEvent.getReason().equals(ChannelSwitchReason.radar_detected)) reason = ChannelHopReason.RadarDetected; | ||||
|             } | ||||
|             if (ChannelHopReason.isUnsupported(reason)) { | ||||
|                 LOG.warn("publishChannelHopEvents:reason {} is unsupported, cannot send RealTimeChannelHopEvent for {}", channelSwitchEvent.getReason(), channelSwitchEvent); | ||||
|                 continue;  | ||||
|             } | ||||
|             if (channelSwitchEvent.hasChannel()) { | ||||
|                 channel = channelSwitchEvent.getChannel(); | ||||
|             } | ||||
|             if (channel == null) { | ||||
|                 LOG.warn("publishChannelHopEvents:channel is null, cannot send RealTimeChannelHopEvent for {}", channelSwitchEvent); | ||||
|                 continue;  | ||||
|             } | ||||
|  | ||||
|             RealTimeChannelHopEvent channelHopEvent = new RealTimeChannelHopEvent(RealTimeEventType.Channel_Hop, customerId, equipmentId, radioType, channel, ((ApElementConfiguration)equipment.getDetails()).getRadioMap().get(radioType).getChannelNumber(), reason, timestamp); | ||||
|              | ||||
|             events.add(channelHopEvent); | ||||
|              | ||||
|             LOG.debug("publishChannelHopEvents:Adding ChannelHopEvent to bulk list {}", channelHopEvent); | ||||
|         } | ||||
|          | ||||
|  | ||||
|         if (events.size() > 0) { | ||||
|             LOG.info("publishChannelHopEvents:publishEventsBulk: {}", events); | ||||
|             equipmentMetricsCollectorInterface.publishEventsBulk(events); | ||||
|         } else { | ||||
|             LOG.info("publishChannelHopEvents:No ChannelHopEvents in report"); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     protected void processClientConnectEvent(int customerId, long equipmentId, long locationId, EventReport e, | ||||
|             sts.OpensyncStats.EventReport.ClientSession apEventClientSession) { | ||||
|         for (ClientConnectEvent clientConnectEvent : apEventClientSession.getClientConnectEventList()) { | ||||
| @@ -601,7 +533,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 clientSession = clientServiceInterface.updateSession(clientSession); | ||||
|  | ||||
|             } else { | ||||
|                 LOG.warn("Cannot update client or client session when no client mac address is present"); | ||||
|                 LOG.info("Cannot update client or client session when no client mac address is present"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -661,7 +593,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 clientSession = clientServiceInterface.updateSession(clientSession); | ||||
|  | ||||
|             } else { | ||||
|                 LOG.warn("Cannot update client or client session when no client mac address is present"); | ||||
|                 LOG.info("Cannot update client or client session when no client mac address is present"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -734,7 +666,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 clientSession = clientServiceInterface.updateSession(clientSession); | ||||
|  | ||||
|             } else { | ||||
|                 LOG.warn("Cannot update client or client session when no client mac address is present"); | ||||
|                 LOG.info("Cannot update client or client session when no client mac address is present"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -796,7 +728,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 clientSession = clientServiceInterface.updateSession(clientSession); | ||||
|  | ||||
|             } else { | ||||
|                 LOG.warn("Cannot update client or client session when no client mac address is present"); | ||||
|                 LOG.info("Cannot update client or client session when no client mac address is present"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -855,7 +787,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 clientSession = clientServiceInterface.updateSession(clientSession); | ||||
|  | ||||
|             } else { | ||||
|                 LOG.warn("Cannot update client or client session when no client mac address is present"); | ||||
|                 LOG.info("Cannot update client or client session when no client mac address is present"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -904,7 +836,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 clientSession = clientServiceInterface.updateSession(clientSession); | ||||
|  | ||||
|             } else { | ||||
|                 LOG.warn("Cannot update client or client session when no client mac address is present"); | ||||
|                 LOG.info("Cannot update client or client session when no client mac address is present"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -961,7 +893,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 clientSession = clientServiceInterface.updateSession(clientSession); | ||||
|  | ||||
|             } else { | ||||
|                 LOG.warn("Cannot update client or client session when no clientmac address is present"); | ||||
|                 LOG.info("Cannot update client or client session when no clientmac address is present"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -1028,7 +960,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 clientSession = clientServiceInterface.updateSession(clientSession); | ||||
|  | ||||
|             } else { | ||||
|                 LOG.warn("Cannot update client or client session when no client mac address is present"); | ||||
|                 LOG.info("Cannot update client or client session when no client mac address is present"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -1046,9 +978,9 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 eventTimestamp = videoVoiceReport.getTimestampMs(); | ||||
|             } | ||||
|  | ||||
|             LOG.debug("Received VideoVoiceReport {} for SIP call", videoVoiceReport); | ||||
|             LOG.info("Received VideoVoiceReport {} for SIP call", videoVoiceReport); | ||||
|  | ||||
|             processRealTimeSipCallReportEvent(customerId, equipmentId, eventTimestamp, eventsList, videoVoiceReport); | ||||
|             processRealTImeSipCallReportEvent(customerId, equipmentId, eventTimestamp, eventsList, videoVoiceReport); | ||||
|  | ||||
|             processRealTimeSipCallStartEvent(customerId, equipmentId, eventTimestamp, eventsList, videoVoiceReport); | ||||
|  | ||||
| @@ -1068,65 +1000,111 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|  | ||||
|     } | ||||
|  | ||||
|     protected void processRealTimeSipCallReportEvent(int customerId, long equipmentId, long eventTimestamp, | ||||
|                                                      List<SystemEvent> eventsList, VideoVoiceReport videoVoiceReport) { | ||||
|     protected void processRealTImeSipCallReportEvent(int customerId, long equipmentId, long eventTimestamp, | ||||
|             List<SystemEvent> eventsList, VideoVoiceReport videoVoiceReport) { | ||||
|         if (videoVoiceReport.hasCallReport()) { | ||||
|  | ||||
|             CallReport callReport = videoVoiceReport.getCallReport(); | ||||
|             List<com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowStats> cloudRtpFlowStatsList = new ArrayList<>(); | ||||
|             for (RtpFlowStats apRtpFlowStats : callReport.getStatsList()) { | ||||
|  | ||||
|                 com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowStats cloudRtpStats = new com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowStats(); | ||||
|  | ||||
|                 if (apRtpFlowStats.hasCodec()) { | ||||
|                     cloudRtpStats.setCodec(apRtpFlowStats.getCodec()); | ||||
|                 } | ||||
|  | ||||
|                 if (apRtpFlowStats.hasBlockCodecs()) { | ||||
|                     cloudRtpStats.setBlockCodecs(apRtpFlowStats.getBlockCodecs().toByteArray()); | ||||
|                 } | ||||
|  | ||||
|                 if (apRtpFlowStats.hasLatency()) { | ||||
|                     cloudRtpStats.setLatency(apRtpFlowStats.getLatency()); | ||||
|                 } | ||||
|  | ||||
|                 if (apRtpFlowStats.hasRtpSeqFirst()) { | ||||
|                     cloudRtpStats.setFirstRTPSeq(apRtpFlowStats.getRtpSeqFirst()); | ||||
|                 } | ||||
|  | ||||
|                 if (apRtpFlowStats.hasRtpSeqLast()) { | ||||
|                     cloudRtpStats.setLastRTPSeq(apRtpFlowStats.getRtpSeqLast()); | ||||
|                 } | ||||
|  | ||||
|                 if (apRtpFlowStats.hasDirection()) { | ||||
|                     switch (apRtpFlowStats.getDirection()) { | ||||
|                     case RTP_DOWNSTREAM: | ||||
|                         cloudRtpStats.setDirection( | ||||
|                                 com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowDirection.DOWNSTREAM); | ||||
|                         break; | ||||
|                     case RTP_UPSTREAM: | ||||
|                         cloudRtpStats.setDirection( | ||||
|                                 com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowDirection.UPSTREAM); | ||||
|                         break; | ||||
|                     default: | ||||
|                         cloudRtpStats.setDirection( | ||||
|                                 com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowDirection.UNSUPPORTED); | ||||
|                     } | ||||
|                 } | ||||
|  | ||||
|                 if (apRtpFlowStats.hasRtpFlowType()) { | ||||
|                     switch (apRtpFlowStats.getRtpFlowType()) { | ||||
|                     case RTP_VIDEO: | ||||
|                         cloudRtpStats.setFlowType( | ||||
|                                 com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowType.VIDEO); | ||||
|                         break; | ||||
|                     case RTP_VOICE: | ||||
|                         cloudRtpStats.setFlowType( | ||||
|                                 com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowType.VOICE); | ||||
|                         break; | ||||
|                     default: | ||||
|                         cloudRtpStats.setFlowType( | ||||
|                                 com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowType.UNSUPPORTED); | ||||
|                         break; | ||||
|                     } | ||||
|                 } | ||||
|  | ||||
|                 if (apRtpFlowStats.hasJitter()) { | ||||
|                     cloudRtpStats.setJitter(apRtpFlowStats.getJitter()); | ||||
|                 } | ||||
|  | ||||
|                 if (apRtpFlowStats.hasTotalPacketsSent()) { | ||||
|                     cloudRtpStats.setTotalPacket(apRtpFlowStats.getTotalPacketsSent()); | ||||
|                 } | ||||
|  | ||||
|                 if (apRtpFlowStats.hasTotalPacketsLost()) { | ||||
|                     cloudRtpStats.setTotalPacketLost(apRtpFlowStats.getTotalPacketsLost()); | ||||
|                 } | ||||
|  | ||||
|                 if (apRtpFlowStats.hasMosx100()) { | ||||
|                     cloudRtpStats.setMosMultipliedBy100(apRtpFlowStats.getMosx100()); | ||||
|                 } | ||||
|  | ||||
|                 if (apRtpFlowStats.hasPacketLossConsec()) { | ||||
|                     cloudRtpStats.setPacketLossConsecutive(apRtpFlowStats.getPacketLossConsec()); | ||||
|                 } | ||||
|  | ||||
|                 if (apRtpFlowStats.hasPacketLossPercent()) { | ||||
|                     cloudRtpStats.setPacketLossPercentage(apRtpFlowStats.getPacketLossPercent()); | ||||
|                 } | ||||
|  | ||||
|                 cloudRtpFlowStatsList.add(cloudRtpStats); | ||||
|  | ||||
|             } | ||||
|  | ||||
|             RealTimeSipCallReportEvent cloudSipCallReportEvent = new RealTimeSipCallReportEvent(customerId, equipmentId, | ||||
|                     eventTimestamp); | ||||
|  | ||||
|             if (callReport.hasClientMac() && callReport.getClientMac().isValidUtf8()) { | ||||
|                 cloudSipCallReportEvent.setClientMacAddress(MacAddress.valueOf(callReport.getClientMac().toStringUtf8())); | ||||
|             } | ||||
|             cloudSipCallReportEvent.setStatuses(processRtpFlowStats(callReport.getStatsList())); | ||||
|             cloudSipCallReportEvent.setClientMacAddress(MacAddress.valueOf(callReport.getClientMac())); | ||||
|             cloudSipCallReportEvent.setStatuses(cloudRtpFlowStatsList); | ||||
|             cloudSipCallReportEvent.setEventType(RealTimeEventType.SipCallReport); | ||||
|  | ||||
|             cloudSipCallReportEvent.setReportReason(SIPCallReportReason.GOT_PUBLISH); | ||||
|             cloudSipCallReportEvent.setSipCallId(callReport.getWifiSessionId()); | ||||
|             cloudSipCallReportEvent.setAssociationId(callReport.getSessionId()); | ||||
|  | ||||
|             if (callReport.hasReason()) { | ||||
|                 cloudSipCallReportEvent.setReportReason(getCallReportReason(callReport.getReason())); | ||||
|             } | ||||
|             if (callReport.hasProviderDomain()) { | ||||
|                 cloudSipCallReportEvent.setProviderDomain(callReport.getProviderDomain()); | ||||
|             } | ||||
|  | ||||
|             if (callReport.getCodecsCount() > 0) { | ||||
|                 cloudSipCallReportEvent.setCodecs(callReport.getCodecsList()); | ||||
|             } | ||||
|  | ||||
|             if (callReport.hasChannel()) { | ||||
|                 cloudSipCallReportEvent.setChannel(callReport.getChannel()); | ||||
|             } | ||||
|  | ||||
|             if (callReport.hasBand()) { | ||||
|                 cloudSipCallReportEvent.setRadioType(OvsdbToWlanCloudTypeMappingUtility | ||||
|                         .getRadioTypeFromOpensyncStatsRadioBandType(callReport.getBand())); | ||||
|             } | ||||
|  | ||||
|             eventsList.add(cloudSipCallReportEvent); | ||||
|  | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private SIPCallReportReason getCallReportReason(CallReport.CallReportReason reason) { | ||||
|         if (reason != null) { | ||||
|             switch (reason) { | ||||
|                 case ROAMED_TO: | ||||
|                     return SIPCallReportReason.ROAMED_TO; | ||||
|                 case GOT_PUBLISH: | ||||
|                     return SIPCallReportReason.GOT_PUBLISH; | ||||
|                 case ROAMED_FROM: | ||||
|                     return SIPCallReportReason.ROAMED_FROM; | ||||
|                 default: | ||||
|                     return SIPCallReportReason.UNSUPPORTED; | ||||
|             } | ||||
|         } | ||||
|         return SIPCallReportReason.UNSUPPORTED; | ||||
|     } | ||||
|  | ||||
|     protected void processRealTimeSipCallStartEvent(int customerId, long equipmentId, long eventTimestamp, | ||||
|             List<SystemEvent> eventsList, VideoVoiceReport videoVoiceReport) { | ||||
|         if (videoVoiceReport.hasCallStart()) { | ||||
| @@ -1136,8 +1114,8 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|             RealTimeSipCallStartEvent cloudSipCallStartEvent = new RealTimeSipCallStartEvent(customerId, equipmentId, | ||||
|                     eventTimestamp); | ||||
|  | ||||
|             if (apCallStart.hasClientMac() && apCallStart.getClientMac().isValidUtf8()) { | ||||
|                 cloudSipCallStartEvent.setClientMacAddress(MacAddress.valueOf(apCallStart.getClientMac().toStringUtf8())); | ||||
|             if (apCallStart.hasClientMac()) { | ||||
|                 cloudSipCallStartEvent.setClientMacAddress(MacAddress.valueOf(apCallStart.getClientMac())); | ||||
|             } | ||||
|  | ||||
|             if (apCallStart.hasDeviceInfo()) { | ||||
| @@ -1150,25 +1128,13 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|  | ||||
|             if (apCallStart.hasSessionId()) { | ||||
|                 cloudSipCallStartEvent.setAssociationId(apCallStart.getSessionId()); | ||||
|  | ||||
|             } | ||||
|  | ||||
|             if (apCallStart.hasWifiSessionId()) { | ||||
|                 cloudSipCallStartEvent.setAssociationId(apCallStart.getWifiSessionId()); | ||||
|             } | ||||
|  | ||||
|             if (apCallStart.getCodecsCount() > 0) { | ||||
|                 cloudSipCallStartEvent.setCodecs(apCallStart.getCodecsList()); | ||||
|             } | ||||
|  | ||||
|             if (apCallStart.hasChannel()) { | ||||
|                 cloudSipCallStartEvent.setChannel(apCallStart.getChannel()); | ||||
|             } | ||||
|  | ||||
|             if (apCallStart.hasBand()) { | ||||
|                 cloudSipCallStartEvent.setRadioType(OvsdbToWlanCloudTypeMappingUtility | ||||
|                         .getRadioTypeFromOpensyncStatsRadioBandType(apCallStart.getBand())); | ||||
|             } | ||||
|  | ||||
|             eventsList.add(cloudSipCallStartEvent); | ||||
|  | ||||
|         } | ||||
| @@ -1189,9 +1155,9 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|  | ||||
|             } | ||||
|  | ||||
|             if (apCallStop.hasClientMac() && apCallStop.getClientMac().isValidUtf8()) { | ||||
|             if (apCallStop.hasClientMac()) { | ||||
|  | ||||
|                 cloudSipCallStopEvent.setClientMacAddress(MacAddress.valueOf(apCallStop.getClientMac().toStringUtf8())); | ||||
|                 cloudSipCallStopEvent.setClientMacAddress(MacAddress.valueOf(apCallStop.getClientMac())); | ||||
|  | ||||
|             } | ||||
|  | ||||
| @@ -1222,27 +1188,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|  | ||||
|             } | ||||
|  | ||||
|             if (apCallStop.getStatsCount() > 0) { | ||||
|                 cloudSipCallStopEvent.setStatuses(processRtpFlowStats(apCallStop.getStatsList())); | ||||
|             } | ||||
|  | ||||
|             if (apCallStop.hasProviderDomain()) { | ||||
|                 cloudSipCallStopEvent.setProviderDomain(apCallStop.getProviderDomain()); | ||||
|             } | ||||
|  | ||||
|             if (apCallStop.getCodecsCount() > 0) { | ||||
|                 cloudSipCallStopEvent.setCodecs(apCallStop.getCodecsList()); | ||||
|             } | ||||
|  | ||||
|             if (apCallStop.hasChannel()) { | ||||
|                 cloudSipCallStopEvent.setChannel(apCallStop.getChannel()); | ||||
|             } | ||||
|  | ||||
|             if (apCallStop.hasBand()) { | ||||
|                 cloudSipCallStopEvent.setRadioType(OvsdbToWlanCloudTypeMappingUtility | ||||
|                         .getRadioTypeFromOpensyncStatsRadioBandType(apCallStop.getBand())); | ||||
|             } | ||||
|  | ||||
|             eventsList.add(cloudSipCallStopEvent); | ||||
|  | ||||
|         } | ||||
| @@ -1288,95 +1233,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private List<com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowStats> processRtpFlowStats(List<OpensyncStats.RtpFlowStats> stats) { | ||||
|         List<com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowStats> cloudRtpFlowStatsList = new ArrayList<>(); | ||||
|         for (RtpFlowStats apRtpFlowStats : stats) { | ||||
|  | ||||
|             com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowStats cloudRtpStats = new com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowStats(); | ||||
|  | ||||
|             if (apRtpFlowStats.hasCodec()) { | ||||
|                 cloudRtpStats.setCodec(apRtpFlowStats.getCodec()); | ||||
|             } | ||||
|  | ||||
|             if (apRtpFlowStats.hasBlockCodecs()) { | ||||
|                 cloudRtpStats.setBlockCodecs(apRtpFlowStats.getBlockCodecs().toByteArray()); | ||||
|             } | ||||
|  | ||||
|             if (apRtpFlowStats.hasLatency()) { | ||||
|                 cloudRtpStats.setLatency(apRtpFlowStats.getLatency()); | ||||
|             } | ||||
|  | ||||
|             if (apRtpFlowStats.hasRtpSeqFirst()) { | ||||
|                 cloudRtpStats.setFirstRTPSeq(apRtpFlowStats.getRtpSeqFirst()); | ||||
|             } | ||||
|  | ||||
|             if (apRtpFlowStats.hasRtpSeqLast()) { | ||||
|                 cloudRtpStats.setLastRTPSeq(apRtpFlowStats.getRtpSeqLast()); | ||||
|             } | ||||
|  | ||||
|             if (apRtpFlowStats.hasDirection()) { | ||||
|                 switch (apRtpFlowStats.getDirection()) { | ||||
|                     case RTP_DOWNSTREAM: | ||||
|                         cloudRtpStats.setDirection( | ||||
|                                 com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowDirection.DOWNSTREAM); | ||||
|                         break; | ||||
|                     case RTP_UPSTREAM: | ||||
|                         cloudRtpStats.setDirection( | ||||
|                                 com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowDirection.UPSTREAM); | ||||
|                         break; | ||||
|                     default: | ||||
|                         cloudRtpStats.setDirection( | ||||
|                                 com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowDirection.UNSUPPORTED); | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             if (apRtpFlowStats.hasRtpFlowType()) { | ||||
|                 switch (apRtpFlowStats.getRtpFlowType()) { | ||||
|                     case RTP_VIDEO: | ||||
|                         cloudRtpStats.setFlowType( | ||||
|                                 com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowType.VIDEO); | ||||
|                         break; | ||||
|                     case RTP_VOICE: | ||||
|                         cloudRtpStats.setFlowType( | ||||
|                                 com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowType.VOICE); | ||||
|                         break; | ||||
|                     default: | ||||
|                         cloudRtpStats.setFlowType( | ||||
|                                 com.telecominfraproject.wlan.systemevent.equipment.realtime.RtpFlowType.UNSUPPORTED); | ||||
|                         break; | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             if (apRtpFlowStats.hasJitter()) { | ||||
|                 cloudRtpStats.setJitter(apRtpFlowStats.getJitter()); | ||||
|             } | ||||
|  | ||||
|             if (apRtpFlowStats.hasTotalPacketsSent()) { | ||||
|                 cloudRtpStats.setTotalPacket(apRtpFlowStats.getTotalPacketsSent()); | ||||
|             } | ||||
|  | ||||
|             if (apRtpFlowStats.hasTotalPacketsLost()) { | ||||
|                 cloudRtpStats.setTotalPacketLost(apRtpFlowStats.getTotalPacketsLost()); | ||||
|             } | ||||
|  | ||||
|             if (apRtpFlowStats.hasMosx100()) { | ||||
|                 cloudRtpStats.setMosMultipliedBy100(apRtpFlowStats.getMosx100()); | ||||
|             } | ||||
|  | ||||
|             if (apRtpFlowStats.hasPacketLossConsec()) { | ||||
|                 cloudRtpStats.setPacketLossConsecutive(apRtpFlowStats.getPacketLossConsec()); | ||||
|             } | ||||
|  | ||||
|             if (apRtpFlowStats.hasPacketLossPercent()) { | ||||
|                 cloudRtpStats.setPacketLossPercentage(apRtpFlowStats.getPacketLossPercent()); | ||||
|             } | ||||
|  | ||||
|             cloudRtpFlowStatsList.add(cloudRtpStats); | ||||
|  | ||||
|         } | ||||
|         return cloudRtpFlowStatsList; | ||||
|     } | ||||
|  | ||||
|     protected void processRtsStartSessionEvent(int customerId, long equipmentId, long eventTimestamp, | ||||
|             List<SystemEvent> eventsList, VideoVoiceReport videoVoiceReport) { | ||||
|         if (videoVoiceReport.hasStreamVideoSessionStart()) { | ||||
| @@ -1745,7 +1601,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|             NetworkAdminStatusData statusData = (NetworkAdminStatusData) networkAdminStatus.getDetails(); | ||||
|              | ||||
|             if (n.getDnsState() == null) { | ||||
|                 LOG.debug("No DnsState present in networkProbeMetrics, DnsState and CloudLinkStatus set to 'normal"); | ||||
|                 LOG.info("No DnsState present in networkProbeMetrics, DnsState and CloudLinkStatus set to 'normal"); | ||||
|                 statusData.setDnsStatus(StatusCode.normal); | ||||
|                 statusData.setCloudLinkStatus(StatusCode.normal); | ||||
|             } else { | ||||
| @@ -1753,13 +1609,13 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 statusData.setCloudLinkStatus(stateUpDownErrorToStatusCode(n.getDnsState())); | ||||
|             } | ||||
|             if (n.getDhcpState() == null) { | ||||
|                 LOG.debug("No DhcpState present in networkProbeMetrics, set to 'normal"); | ||||
|                 LOG.info("No DhcpState present in networkProbeMetrics, set to 'normal"); | ||||
|                 statusData.setDhcpStatus(StatusCode.normal); | ||||
|             } else { | ||||
|                 statusData.setDhcpStatus(stateUpDownErrorToStatusCode(n.getDhcpState())); | ||||
|             } | ||||
|             if (n.getRadiusState() == null) { | ||||
|                 LOG.debug("No RadiusState present in networkProbeMetrics, set to 'normal"); | ||||
|                 LOG.info("No RadiusState present in networkProbeMetrics, set to 'normal"); | ||||
|                 statusData.setRadiusStatus(StatusCode.normal); | ||||
|             } else { | ||||
|                 statusData.setRadiusStatus(stateUpDownErrorToStatusCode(n.getRadiusState())); | ||||
| @@ -1769,7 +1625,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|  | ||||
|             networkAdminStatus = statusServiceInterface.update(networkAdminStatus); | ||||
|  | ||||
|             LOG.debug("Updated NetworkAdminStatus {}", networkAdminStatus); | ||||
|             LOG.info("Updated NetworkAdminStatus {}", networkAdminStatus); | ||||
|  | ||||
|         }); | ||||
|  | ||||
| @@ -1802,7 +1658,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 StatusDataType.RADIO_UTILIZATION); | ||||
|  | ||||
|         if (radioUtilizationStatus == null) { | ||||
|             LOG.debug("Create new radioUtilizationStatus"); | ||||
|             LOG.info("Create new radioUtilizationStatus"); | ||||
|             radioUtilizationStatus = new Status(); | ||||
|             radioUtilizationStatus.setCustomerId(customerId); | ||||
|             radioUtilizationStatus.setEquipmentId(equipmentId); | ||||
| @@ -1863,16 +1719,17 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 if (radiusMetrics.hasLatency()) { | ||||
|                     networkProbeMetrics.setRadiusLatencyInMs(radiusMetrics.getLatency()); | ||||
|                 } | ||||
|  | ||||
|                 if (radiusMetrics.hasRadiusState()) { | ||||
|                     StateUpDownError radiusState = OvsdbToWlanCloudTypeMappingUtility | ||||
|                             .getCloudMetricsStateFromOpensyncStatsStateUpDown(radiusMetrics.getRadiusState()); | ||||
|  | ||||
|                     networkProbeMetrics.setRadiusState(radiusState); | ||||
|                     if (radiusMetrics.hasRadiusState()) { | ||||
|                         StateUpDownError radiusState = OvsdbToWlanCloudTypeMappingUtility | ||||
|                                 .getCloudMetricsStateFromOpensyncStatsStateUpDown(radiusMetrics.getRadiusState()); | ||||
|  | ||||
|                         networkProbeMetrics.setRadiusState(radiusState); | ||||
|  | ||||
|                     } | ||||
|  | ||||
|                 } | ||||
|  | ||||
|  | ||||
|             } | ||||
|  | ||||
|             if (networkProbe.hasVlanProbe()) { | ||||
| @@ -1912,7 +1769,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|         eqOsPerformance.setTotalAvailableMemoryKb(deviceReport.getMemUtil().getMemTotal()); | ||||
|         status.setDetails(eqOsPerformance); | ||||
|         status = statusServiceInterface.update(status); | ||||
|         LOG.debug("updated status {}", status); | ||||
|         LOG.info("updated status {}", status); | ||||
|     } | ||||
|  | ||||
|     void populateApClientMetrics(List<ServiceMetric> metricRecordList, Report report, int customerId, long equipmentId, | ||||
| @@ -1923,12 +1780,12 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|             for (Client cl : clReport.getClientListList()) { | ||||
|  | ||||
|                 if (cl.getMacAddress() == null) { | ||||
|                     LOG.debug("No mac address for Client {}, cannot set device mac address for client in ClientMetrics.", | ||||
|                     LOG.info("No mac address for Client {}, cannot set device mac address for client in ClientMetrics.", | ||||
|                             cl); | ||||
|                     continue; | ||||
|                 } | ||||
|  | ||||
|                 LOG.debug("Processing ClientReport from AP {}", cl.getMacAddress()); | ||||
|                 LOG.info("Processing ClientReport from AP {}", cl.getMacAddress()); | ||||
|  | ||||
|                 ServiceMetric smr = new ServiceMetric(customerId, equipmentId, new MacAddress(cl.getMacAddress())); | ||||
|                 smr.setLocationId(locationId); | ||||
| @@ -1952,7 +1809,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                 long sessionId = WiFiSessionUtility.encodeWiFiAssociationId(clReport.getTimestampMs() / 1000L, | ||||
|                         MacAddress.convertMacStringToLongValue(cl.getMacAddress())); | ||||
|  | ||||
|                 LOG.debug("populateApClientMetrics Session Id {}", sessionId); | ||||
|                 LOG.info("populateApClientMetrics Session Id {}", sessionId); | ||||
|                 cMetrics.setSessionId(sessionId); | ||||
|  | ||||
|                 if (cl.hasStats()) { | ||||
| @@ -2010,7 +1867,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                     } | ||||
|                 } | ||||
|  | ||||
|                 LOG.debug("ApClientMetrics Report {}", cMetrics); | ||||
|                 LOG.info("ApClientMetrics Report {}", cMetrics); | ||||
|  | ||||
|             } | ||||
|  | ||||
| @@ -2094,18 +1951,18 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|             boolean isReassociation = true; | ||||
|             if (clientInstance == null) { | ||||
|  | ||||
|                 LOG.debug("Cannot get client instance for {}", client.getMacAddress()); | ||||
|                 LOG.info("Cannot get client instance for {}", client.getMacAddress()); | ||||
|                 return null; | ||||
|  | ||||
|             } | ||||
|  | ||||
|             LOG.debug("Client {}", clientInstance); | ||||
|             LOG.info("Client {}", clientInstance); | ||||
|  | ||||
|             ClientSession clientSession = clientServiceInterface.getSessionOrNull(customerId, equipmentId, | ||||
|                     clientInstance.getMacAddress()); | ||||
|  | ||||
|             if (clientSession == null) { | ||||
|                 LOG.warn("Cannot get client session for {}", clientInstance.getMacAddress()); | ||||
|                 LOG.info("Cannot get client session for {}", clientInstance.getMacAddress()); | ||||
|                 return null; | ||||
|             } | ||||
|  | ||||
| @@ -2145,9 +2002,6 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                         || ssidConfig.getSecureMode().equals(SecureMode.wpa2PSK) | ||||
|                         || ssidConfig.getSecureMode().equals(SecureMode.wpa2OnlyPSK)) { | ||||
|                     latestClientSessionDetails.setSecurityType(SecurityType.PSK); | ||||
|                 } else if (ssidConfig.getSecureMode().equals(SecureMode.wpa3OnlySAE) | ||||
|                         || ssidConfig.getSecureMode().equals(SecureMode.wpa3MixedSAE)){ | ||||
|                     latestClientSessionDetails.setSecurityType(SecurityType.SAE); | ||||
|                 } else if (ssidConfig.getSecureMode().equals(SecureMode.wpa2Radius) | ||||
|                         || ssidConfig.getSecureMode().equals(SecureMode.wpaRadius) | ||||
|                         || ssidConfig.getSecureMode().equals(SecureMode.wpa2OnlyRadius)) { | ||||
| @@ -2155,9 +2009,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                     latestClientSessionDetails.setEapDetails(new ClientEapDetails()); | ||||
|                 } else if (ssidConfig.getSecureMode().equals(SecureMode.wpaEAP) | ||||
|                         || ssidConfig.getSecureMode().equals(SecureMode.wpa2EAP) | ||||
|                         || ssidConfig.getSecureMode().equals(SecureMode.wpa2OnlyEAP) | ||||
|                         || ssidConfig.getSecureMode().equals(SecureMode.wpa3OnlyEAP) | ||||
|                         || ssidConfig.getSecureMode().equals(SecureMode.wpa3MixedEAP)) { | ||||
|                         || ssidConfig.getSecureMode().equals(SecureMode.wpa2OnlyEAP)) { | ||||
|                     latestClientSessionDetails.setSecurityType(SecurityType.RADIUS); | ||||
|                     latestClientSessionDetails.setEapDetails(new ClientEapDetails()); | ||||
|                 } else { | ||||
| @@ -2185,7 +2037,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|  | ||||
|             clientSession = clientServiceInterface.updateSession(clientSession); | ||||
|  | ||||
|             LOG.debug("Updated client session {}", clientSession); | ||||
|             LOG.info("Updated client session {}", clientSession); | ||||
|  | ||||
|             return clientSession; | ||||
|         } catch (Exception e) { | ||||
| @@ -2202,7 +2054,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|         ClientSessionMetricDetails metricDetails = new ClientSessionMetricDetails(); | ||||
|  | ||||
|         if (LOG.isDebugEnabled()) | ||||
|             LOG.debug("Stats: {} DurationMs {}", client.getStats(), client.getDurationMs()); | ||||
|             LOG.info("Stats: {} DurationMs {}", client.getStats(), client.getDurationMs()); | ||||
|         int rssi = client.getStats().getRssi(); | ||||
|         metricDetails.setRssi(rssi); | ||||
|         metricDetails.setRxBytes(client.getStats().getRxBytes()); | ||||
| @@ -2220,7 +2072,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|         metricDetails.setRxRateKbps((long) client.getStats().getRxRate()); | ||||
|         metricDetails.setTxRateKbps((long) client.getStats().getTxRate()); | ||||
|         if (LOG.isDebugEnabled()) | ||||
|             LOG.debug("RxRateKbps {} TxRateKbps {}", metricDetails.getRxRateKbps(), metricDetails.getTxRateKbps()); | ||||
|             LOG.info("RxRateKbps {} TxRateKbps {}", metricDetails.getRxRateKbps(), metricDetails.getTxRateKbps()); | ||||
|  | ||||
|         // Throughput, do rate / duration | ||||
|         if (client.getDurationMs() > 1000) { | ||||
| @@ -2233,15 +2085,15 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|             float txBytesToMb = txBytesFv / 125000F; | ||||
|  | ||||
|             if (LOG.isDebugEnabled()) | ||||
|                 LOG.debug("rxBytesToMb {} txBytesToMb {} ", rxBytesToMb, txBytesToMb); | ||||
|                 LOG.info("rxBytesToMb {} txBytesToMb {} ", rxBytesToMb, txBytesToMb); | ||||
|  | ||||
|             metricDetails.setRxMbps(rxBytesToMb / durationSec); | ||||
|             metricDetails.setTxMbps(txBytesToMb / durationSec); | ||||
|             if (LOG.isDebugEnabled()) | ||||
|                 LOG.debug("RxMbps {} TxMbps {} ", metricDetails.getRxMbps(), metricDetails.getTxMbps()); | ||||
|                 LOG.info("RxMbps {} TxMbps {} ", metricDetails.getRxMbps(), metricDetails.getTxMbps()); | ||||
|  | ||||
|         } else { | ||||
|             LOG.warn("Cannot calculate tx/rx throughput for Client {} based on duration of {} Ms", | ||||
|             LOG.info("Cannot calculate tx/rx throughput for Client {} based on duration of {} Ms", | ||||
|                     client.getMacAddress(), client.getDurationMs()); | ||||
|         } | ||||
|         metricDetails.setLastMetricTimestamp(timestamp); | ||||
| @@ -2262,7 +2114,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|  | ||||
|         for (ClientReport clientReport : report.getClientsList()) { | ||||
|  | ||||
|             LOG.debug("ClientReport for channel {} RadioBand {}", clientReport.getChannel(), clientReport.getBand()); | ||||
|             LOG.info("ClientReport for channel {} RadioBand {}", clientReport.getChannel(), clientReport.getBand()); | ||||
|  | ||||
|             if (smr.getCreatedTimestamp() < clientReport.getTimestampMs()) { | ||||
|                 smr.setCreatedTimestamp(clientReport.getTimestampMs()); | ||||
| @@ -2305,7 +2157,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|             LOG.debug("Client Report Date is {}", new Date(clientReport.getTimestampMs())); | ||||
|             LOG.info("Client Report Date is {}", new Date(clientReport.getTimestampMs())); | ||||
|             int numConnectedClients = 0; | ||||
|             for (Client client : clientReport.getClientListList()) { | ||||
|                 if (client.hasStats()) { | ||||
| @@ -2385,7 +2237,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|                         } | ||||
|  | ||||
|                     } catch (Exception e) { | ||||
|                         LOG.error("Unabled to update client {}", client, e); | ||||
|                         LOG.info("Unabled to update client {} session {}", client, e); | ||||
|                     } | ||||
|  | ||||
|                 } | ||||
| @@ -2415,7 +2267,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|  | ||||
|         } | ||||
|  | ||||
|         LOG.debug("ApSsidMetrics {}", apSsidMetrics); | ||||
|         LOG.info("ApSsidMetrics {}", apSsidMetrics); | ||||
|  | ||||
|     } | ||||
|  | ||||
| @@ -2461,18 +2313,8 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|  | ||||
|         ProfileContainer profileContainer = new ProfileContainer( | ||||
|                 profileServiceInterface.getProfileWithChildren(profileId)); | ||||
|          | ||||
|         Profile rfProfile = profileContainer.getChildOfTypeOrNull(profileId, ProfileType.rf); | ||||
|         RfConfiguration rfConfig = null; | ||||
|         if (rfProfile != null) { | ||||
|          rfConfig = (RfConfiguration) profileContainer.getChildOfTypeOrNull(profileId, ProfileType.rf) | ||||
|         RfConfiguration rfConfig = (RfConfiguration) profileContainer.getChildOfTypeOrNull(profileId, ProfileType.rf) | ||||
|                 .getDetails(); | ||||
|         } | ||||
|          | ||||
|         if (rfConfig == null) { | ||||
|             LOG.warn("Cannot get RfConfiguration for customerId {} equipmentId {}", customerId,equipmentId); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         for (Survey survey : report.getSurveyList()) { | ||||
|  | ||||
| @@ -2532,7 +2374,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor { | ||||
|             smr.setCreatedTimestamp(survey.getTimestampMs()); | ||||
|             metricRecordList.add(smr); | ||||
|  | ||||
|             LOG.debug("ChannelInfoReports {}", channelInfoReports); | ||||
|             LOG.info("ChannelInfoReports {}", channelInfoReports); | ||||
|  | ||||
|         } | ||||
|  | ||||
|   | ||||
| @@ -88,6 +88,7 @@ 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; | ||||
|  | ||||
| @@ -161,6 +162,20 @@ 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() { | ||||
|  | ||||
|   | ||||
| @@ -7,7 +7,6 @@ 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; | ||||
| @@ -40,8 +39,6 @@ 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; | ||||
| @@ -55,21 +52,18 @@ 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", }) | ||||
| @@ -170,20 +164,6 @@ 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()) | ||||
| @@ -259,55 +239,6 @@ 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 { | ||||
|  | ||||
| @@ -366,74 +297,6 @@ 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() { | ||||
|  | ||||
| @@ -478,15 +341,8 @@ 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()); | ||||
|  | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|   "model_type": "Equipment", | ||||
|   "id": 51, | ||||
|   "customerId": 2, | ||||
|   "profileId": 12, | ||||
|   "profileId": 5, | ||||
|   "locationId": 8, | ||||
|   "equipmentType": "AP", | ||||
|   "inventoryId": "Test_Client_21P10C68818122", | ||||
|   | ||||
| @@ -1,56 +1,55 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 12, | ||||
|     "customerId": 2, | ||||
|     "profileType": "equipment_ap", | ||||
|     "name": "ApProfile-3-radios", | ||||
|     "details": { | ||||
|         "model_type": "ApNetworkConfiguration", | ||||
|         "networkConfigVersion": "AP-1", | ||||
|         "equipmentType": "AP", | ||||
|         "vlanNative": true, | ||||
|         "vlan": 0, | ||||
|         "ntpServer": { | ||||
|             "model_type": "AutoOrManualString", | ||||
|             "auto": true, | ||||
|             "value": "pool.ntp.org" | ||||
|         }, | ||||
|         "syslogRelay": null, | ||||
|         "rtlsSettings": null, | ||||
|         "syntheticClientEnabled": true, | ||||
|         "ledControlEnabled": true, | ||||
|         "equipmentDiscovery": false, | ||||
|         "greTunnelName": null, | ||||
|         "greParentIfName": null, | ||||
|         "greLocalInetAddr": null, | ||||
|         "greRemoteInetAddr": null, | ||||
|         "greRemoteMacAddr": null, | ||||
|         "radioMap": { | ||||
|             "is2dot4GHz": { | ||||
|                 "model_type": "RadioProfileConfiguration", | ||||
|                 "bestApEnabled": true, | ||||
|                 "bestAPSteerType": "both" | ||||
|             }, | ||||
|             "is5GHzU": { | ||||
|                 "model_type": "RadioProfileConfiguration", | ||||
|                 "bestApEnabled": true, | ||||
|                 "bestAPSteerType": "both" | ||||
|             }, | ||||
|             "is5GHzL": { | ||||
|                 "model_type": "RadioProfileConfiguration", | ||||
|                 "bestApEnabled": true, | ||||
|                 "bestAPSteerType": "both" | ||||
|             } | ||||
|         }, | ||||
|         "profileType": "equipment_ap" | ||||
|     }, | ||||
|     "createdTimestamp": 1606778369934, | ||||
|     "lastModifiedTimestamp": 1606778443413, | ||||
|     "childProfileIds": [ | ||||
|         16, | ||||
|         5, | ||||
|         10, | ||||
|         11, | ||||
|         15 | ||||
|     ] | ||||
| } | ||||
| 	"model_type": "Profile", | ||||
| 	"id": 23, | ||||
| 	"customerId": 2, | ||||
| 	"profileType": "equipment_ap", | ||||
| 	"name": "ApProfile-3-radios-passpoint", | ||||
| 	"details": { | ||||
| 		"model_type": "ApNetworkConfiguration", | ||||
| 		"networkConfigVersion": "AP-1", | ||||
| 		"equipmentType": "AP", | ||||
| 		"vlanNative": true, | ||||
| 		"vlan": 0, | ||||
| 		"ntpServer": { | ||||
| 			"model_type": "AutoOrManualString", | ||||
| 			"auto": true, | ||||
| 			"value": "pool.ntp.org" | ||||
| 		}, | ||||
| 		"syslogRelay": null, | ||||
| 		"rtlsSettings": null, | ||||
| 		"syntheticClientEnabled": true, | ||||
| 		"ledControlEnabled": true, | ||||
| 		"equipmentDiscovery": false, | ||||
| 		"greTunnelName": null, | ||||
| 		"greParentIfName": null, | ||||
| 		"greLocalInetAddr": null, | ||||
| 		"greRemoteInetAddr": null, | ||||
| 		"greRemoteMacAddr": null, | ||||
| 		"radioMap": { | ||||
| 			"is2dot4GHz": { | ||||
| 				"model_type": "RadioProfileConfiguration", | ||||
| 				"bestApEnabled": true, | ||||
| 				"bestAPSteerType": "both" | ||||
| 			}, | ||||
| 			"is5GHzU": { | ||||
| 				"model_type": "RadioProfileConfiguration", | ||||
| 				"bestApEnabled": true, | ||||
| 				"bestAPSteerType": "both" | ||||
| 			}, | ||||
| 			"is5GHzL": { | ||||
| 				"model_type": "RadioProfileConfiguration", | ||||
| 				"bestApEnabled": true, | ||||
| 				"bestAPSteerType": "both" | ||||
| 			} | ||||
| 		}, | ||||
| 		"profileType": "equipment_ap" | ||||
| 	}, | ||||
| 	"createdTimestamp": 1605711197140, | ||||
| 	"lastModifiedTimestamp": 1605711197140, | ||||
| 	"childProfileIds": [ | ||||
| 		16, | ||||
| 		21, | ||||
| 		22, | ||||
| 		15 | ||||
| 	] | ||||
| } | ||||
|   | ||||
| @@ -1,71 +1,72 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"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 | ||||
| 		] | ||||
| 	} | ||||
| { | ||||
|         "model_type": "Profile", | ||||
|         "id": 24, | ||||
|         "customerId": 2, | ||||
|         "profileType": "passpoint", | ||||
|         "name": "TipWlan-Hotspot20-Config", | ||||
|         "details": { | ||||
|             "model_type": "PasspointProfile", | ||||
|             "enableInterworkingAndHs20": true, | ||||
|             "hessid": null, | ||||
|             "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, | ||||
|                     "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-hotspot-osu", | ||||
|             "operatorProfileName": "TipWlan-Hotspot20-Operator", | ||||
|             "venueProfileName": "TipWlan-Hotspot20-Venue", | ||||
|             "idProviderProfileNames": [ | ||||
|                 "TipWlan-Hotspot20-OSU-Provider-2", | ||||
|                 "TipWlan-Hotspot20-OSU-Provider" | ||||
|             ], | ||||
|             "accessNetworkType": "free_public_network", | ||||
|             "networkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
|             "associatedSsids": [ | ||||
|                 "TipWlan-cloud-hotspot-access" | ||||
|             ], | ||||
|             "profileType": "passpoint" | ||||
|         }, | ||||
|         "createdTimestamp": 1605711223339, | ||||
|         "lastModifiedTimestamp": 1605711223339, | ||||
|         "childProfileIds": [ | ||||
|             17, | ||||
|             18, | ||||
|             19, | ||||
|             20 | ||||
|         ] | ||||
|     } | ||||
| ] | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 19, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider", | ||||
| 		"name": "TipWlan-Hotspot20-OSU-Provider", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "rogers.com", | ||||
| @@ -128,8 +128,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370345, | ||||
| 		"lastModifiedTimestamp": 1606778370345, | ||||
| 		"createdTimestamp": 1605711165325, | ||||
| 		"lastModifiedTimestamp": 1605711165325, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| @@ -138,7 +138,7 @@ | ||||
| 		"id": 20, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider-2", | ||||
| 		"name": "TipWlan-Hotspot20-OSU-Provider-2", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "telus.com", | ||||
| @@ -262,8 +262,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370351, | ||||
| 		"lastModifiedTimestamp": 1606778370351, | ||||
| 		"createdTimestamp": 1605711165330, | ||||
| 		"lastModifiedTimestamp": 1605711165330, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 10, | ||||
| 		"id": 22, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "service_metrics_collection_config", | ||||
| 		"name": "Metrics-Profile-3-Radios", | ||||
| 		"name": "Metrics-Profile-Passpoint", | ||||
| 		"details": { | ||||
| 			"model_type": "ServiceMetricsCollectionConfigProfile", | ||||
| 			"radioTypes": [ | ||||
| @@ -21,6 +21,30 @@ | ||||
| 			], | ||||
| 			"metricConfigParameterMap": { | ||||
| 				"ApNode": [ | ||||
| 					{ | ||||
| 						"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": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -45,42 +69,6 @@ | ||||
| 						"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, | ||||
| @@ -92,16 +80,21 @@ | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"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" | ||||
| 					} | ||||
| 				], | ||||
| 				"ApSsid": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -115,6 +108,13 @@ | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					} | ||||
| 				], | ||||
| 				"Client": [ | ||||
| @@ -144,12 +144,12 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| @@ -168,12 +168,12 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| @@ -192,29 +192,41 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"Neighbour": [ | ||||
| 					{ | ||||
| 						"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, | ||||
| @@ -239,6 +251,18 @@ | ||||
| 						"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" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -262,37 +286,13 @@ | ||||
| 						"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, | ||||
| 		"createdTimestamp": 1605711195528, | ||||
| 		"lastModifiedTimestamp": 1605711195528, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 17, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_operator", | ||||
| 		"name": "TipWlan-Passpoint-Operator", | ||||
| 		"name": "TipWlan-Hotspot20-Operator", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOperatorProfile", | ||||
| 			"serverOnlyAuthenticatedL2EncryptionNetwork": false, | ||||
| @@ -29,8 +29,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_operator" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369945, | ||||
| 		"lastModifiedTimestamp": 1606778369945, | ||||
| 		"createdTimestamp": 1605711164952, | ||||
| 		"lastModifiedTimestamp": 1605711164952, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -1,204 +1,205 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 11, | ||||
|     "customerId": 2, | ||||
|     "profileType": "rf", | ||||
|     "name": "TipWlan-rf", | ||||
|     "details": { | ||||
|         "model_type": "RfConfiguration", | ||||
|         "rfConfigMap": { | ||||
|             "is5GHz": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHz", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
|                     "enabled": true, | ||||
|                     "scanFrequencySeconds": 10, | ||||
|                     "scanDurationMillis": 65 | ||||
|                 }, | ||||
|                 "neighbouringListApConfig": { | ||||
|                     "model_type": "NeighbouringAPListConfiguration", | ||||
|                     "minSignal": -85, | ||||
|                     "maxAps": 25 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
|                     "noiseFloorThresholdInDB": -75, | ||||
|                     "noiseFloorThresholdTimeInSeconds": 180, | ||||
|                     "nonWifiThresholdInPercentage": 50, | ||||
|                     "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 | ||||
|                 } | ||||
|             }, | ||||
|             "is2dot4GHz": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is2dot4GHz", | ||||
|                 "radioMode": "modeN", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
|                 "channelBandwidth": "is20MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
|                     "enabled": true, | ||||
|                     "scanFrequencySeconds": 10, | ||||
|                     "scanDurationMillis": 65 | ||||
|                 }, | ||||
|                 "neighbouringListApConfig": { | ||||
|                     "model_type": "NeighbouringAPListConfiguration", | ||||
|                     "minSignal": -85, | ||||
|                     "maxAps": 25 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
|                     "noiseFloorThresholdInDB": -75, | ||||
|                     "noiseFloorThresholdTimeInSeconds": 180, | ||||
|                     "nonWifiThresholdInPercentage": 50, | ||||
|                     "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 | ||||
|                 } | ||||
|             }, | ||||
|             "is5GHzU": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzU", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
|                     "enabled": true, | ||||
|                     "scanFrequencySeconds": 10, | ||||
|                     "scanDurationMillis": 65 | ||||
|                 }, | ||||
|                 "neighbouringListApConfig": { | ||||
|                     "model_type": "NeighbouringAPListConfiguration", | ||||
|                     "minSignal": -85, | ||||
|                     "maxAps": 25 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
|                     "noiseFloorThresholdInDB": -75, | ||||
|                     "noiseFloorThresholdTimeInSeconds": 180, | ||||
|                     "nonWifiThresholdInPercentage": 50, | ||||
|                     "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 | ||||
|                 } | ||||
|             }, | ||||
|             "is5GHzL": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzL", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
|                     "enabled": true, | ||||
|                     "scanFrequencySeconds": 10, | ||||
|                     "scanDurationMillis": 65 | ||||
|                 }, | ||||
|                 "neighbouringListApConfig": { | ||||
|                     "model_type": "NeighbouringAPListConfiguration", | ||||
|                     "minSignal": -85, | ||||
|                     "maxAps": 25 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
|                     "noiseFloorThresholdInDB": -75, | ||||
|                     "noiseFloorThresholdTimeInSeconds": 180, | ||||
|                     "nonWifiThresholdInPercentage": 50, | ||||
|                     "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 | ||||
|                 } | ||||
|             } | ||||
|         }, | ||||
|         "profileType": "rf" | ||||
|     }, | ||||
|     "createdTimestamp": 1606778369933, | ||||
|     "lastModifiedTimestamp": 1606778369933, | ||||
|     "childProfileIds": [] | ||||
| } | ||||
| 	"model_type": "Profile", | ||||
| 	"id": 21, | ||||
| 	"customerId": 2, | ||||
| 	"profileType": "rf", | ||||
| 	"name": "TipWlan-rf-passpoint", | ||||
| 	"details": { | ||||
| 		"model_type": "RfConfiguration", | ||||
| 		"rfConfigMap": { | ||||
| 			"is5GHz": { | ||||
| 				"model_type": "RfElementConfiguration", | ||||
| 				"radioType": "is5GHz", | ||||
| 				"radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
| 				"beaconInterval": 100, | ||||
| 				"forceScanDuringVoice": "disabled", | ||||
| 				"rtsCtsThreshold": 65535, | ||||
| 				"channelBandwidth": "is80MHz", | ||||
| 				"mimoMode": "twoByTwo", | ||||
| 				"maxNumClients": 100, | ||||
| 				"autoChannelSelection": false, | ||||
| 				"activeScanSettings": { | ||||
| 					"model_type": "ActiveScanSettings", | ||||
| 					"enabled": true, | ||||
| 					"scanFrequencySeconds": 10, | ||||
| 					"scanDurationMillis": 65 | ||||
| 				}, | ||||
| 				"neighbouringListApConfig": { | ||||
| 					"model_type": "NeighbouringAPListConfiguration", | ||||
| 					"minSignal": -85, | ||||
| 					"maxAps": 25 | ||||
| 				}, | ||||
| 				"minAutoCellSize": -65, | ||||
| 				"perimeterDetectionEnabled": true, | ||||
| 				"channelHopSettings": { | ||||
| 					"model_type": "ChannelHopSettings", | ||||
| 					"noiseFloorThresholdInDB": -75, | ||||
| 					"noiseFloorThresholdTimeInSeconds": 180, | ||||
| 					"nonWifiThresholdInPercentage": 50, | ||||
| 					"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 | ||||
| 				} | ||||
| 			}, | ||||
| 			"is2dot4GHz": { | ||||
| 				"model_type": "RfElementConfiguration", | ||||
| 				"radioType": "is2dot4GHz", | ||||
| 				"radioMode": "modeN", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
| 				"beaconInterval": 100, | ||||
| 				"forceScanDuringVoice": "disabled", | ||||
| 				"rtsCtsThreshold": 65535, | ||||
| 				"channelBandwidth": "is20MHz", | ||||
| 				"mimoMode": "twoByTwo", | ||||
| 				"maxNumClients": 100, | ||||
| 				"autoChannelSelection": false, | ||||
| 				"activeScanSettings": { | ||||
| 					"model_type": "ActiveScanSettings", | ||||
| 					"enabled": true, | ||||
| 					"scanFrequencySeconds": 10, | ||||
| 					"scanDurationMillis": 65 | ||||
| 				}, | ||||
| 				"neighbouringListApConfig": { | ||||
| 					"model_type": "NeighbouringAPListConfiguration", | ||||
| 					"minSignal": -85, | ||||
| 					"maxAps": 25 | ||||
| 				}, | ||||
| 				"minAutoCellSize": -65, | ||||
| 				"perimeterDetectionEnabled": true, | ||||
| 				"channelHopSettings": { | ||||
| 					"model_type": "ChannelHopSettings", | ||||
| 					"noiseFloorThresholdInDB": -75, | ||||
| 					"noiseFloorThresholdTimeInSeconds": 180, | ||||
| 					"nonWifiThresholdInPercentage": 50, | ||||
| 					"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 | ||||
| 				} | ||||
| 			}, | ||||
| 			"is5GHzU": { | ||||
| 				"model_type": "RfElementConfiguration", | ||||
| 				"radioType": "is5GHzU", | ||||
| 				"radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
| 				"beaconInterval": 100, | ||||
| 				"forceScanDuringVoice": "disabled", | ||||
| 				"rtsCtsThreshold": 65535, | ||||
| 				"channelBandwidth": "is80MHz", | ||||
| 				"mimoMode": "twoByTwo", | ||||
| 				"maxNumClients": 100, | ||||
| 				"autoChannelSelection": false, | ||||
| 				"activeScanSettings": { | ||||
| 					"model_type": "ActiveScanSettings", | ||||
| 					"enabled": true, | ||||
| 					"scanFrequencySeconds": 10, | ||||
| 					"scanDurationMillis": 65 | ||||
| 				}, | ||||
| 				"neighbouringListApConfig": { | ||||
| 					"model_type": "NeighbouringAPListConfiguration", | ||||
| 					"minSignal": -85, | ||||
| 					"maxAps": 25 | ||||
| 				}, | ||||
| 				"minAutoCellSize": -65, | ||||
| 				"perimeterDetectionEnabled": true, | ||||
| 				"channelHopSettings": { | ||||
| 					"model_type": "ChannelHopSettings", | ||||
| 					"noiseFloorThresholdInDB": -75, | ||||
| 					"noiseFloorThresholdTimeInSeconds": 180, | ||||
| 					"nonWifiThresholdInPercentage": 50, | ||||
| 					"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 | ||||
| 				} | ||||
| 			}, | ||||
| 			"is5GHzL": { | ||||
| 				"model_type": "RfElementConfiguration", | ||||
| 				"radioType": "is5GHzL", | ||||
| 				"radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
| 				"beaconInterval": 100, | ||||
| 				"forceScanDuringVoice": "disabled", | ||||
| 				"rtsCtsThreshold": 65535, | ||||
| 				"channelBandwidth": "is80MHz", | ||||
| 				"mimoMode": "twoByTwo", | ||||
| 				"maxNumClients": 100, | ||||
| 				"autoChannelSelection": false, | ||||
| 				"activeScanSettings": { | ||||
| 					"model_type": "ActiveScanSettings", | ||||
| 					"enabled": true, | ||||
| 					"scanFrequencySeconds": 10, | ||||
| 					"scanDurationMillis": 65 | ||||
| 				}, | ||||
| 				"neighbouringListApConfig": { | ||||
| 					"model_type": "NeighbouringAPListConfiguration", | ||||
| 					"minSignal": -85, | ||||
| 					"maxAps": 25 | ||||
| 				}, | ||||
| 				"minAutoCellSize": -65, | ||||
| 				"perimeterDetectionEnabled": true, | ||||
| 				"channelHopSettings": { | ||||
| 					"model_type": "ChannelHopSettings", | ||||
| 					"noiseFloorThresholdInDB": -75, | ||||
| 					"noiseFloorThresholdTimeInSeconds": 180, | ||||
| 					"nonWifiThresholdInPercentage": 50, | ||||
| 					"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 | ||||
| 				} | ||||
| 			} | ||||
| 		}, | ||||
| 		"profileType": "rf" | ||||
| 	}, | ||||
| 	"createdTimestamp": 1605711191976, | ||||
| 	"lastModifiedTimestamp": 1605711191976, | ||||
| 	"childProfileIds": [ | ||||
| 	] | ||||
| } | ||||
|   | ||||
| @@ -1,80 +1,13 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 5, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-3-radios", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-3-radios", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is2dot4GHz", | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "wpa2OnlyPSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": "openwifi", | ||||
| 			"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": "BRIDGE", | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369598, | ||||
| 		"lastModifiedTimestamp": 1606778369598, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 15, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-passpoint-access", | ||||
| 		"name": "TipWlan-cloud-hotspot-access", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-access", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-access", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is5GHzU" | ||||
| @@ -88,7 +21,6 @@ | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -96,7 +28,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -108,13 +40,13 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -127,8 +59,8 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369943, | ||||
| 		"lastModifiedTimestamp": 1606778370811, | ||||
| 		"createdTimestamp": 1605711164949, | ||||
| 		"lastModifiedTimestamp": 1605711223372, | ||||
| 		"childProfileIds": [ | ||||
| 			24 | ||||
| 		] | ||||
| @@ -138,10 +70,10 @@ | ||||
| 		"id": 16, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-passpoint-osu", | ||||
| 		"name": "TipWlan-cloud-hotspot-osu", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-osu", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-osu", | ||||
| 			"appliedRadios": [ | ||||
| 				"is2dot4GHz" | ||||
| 			], | ||||
| @@ -154,7 +86,6 @@ | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -162,7 +93,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -174,13 +105,13 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -193,8 +124,8 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369944, | ||||
| 		"lastModifiedTimestamp": 1606778370352, | ||||
| 		"createdTimestamp": 1605711164950, | ||||
| 		"lastModifiedTimestamp": 1605711171732, | ||||
| 		"childProfileIds": [ | ||||
| 			19, | ||||
| 			20 | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 18, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_venue", | ||||
| 		"name": "TipWlan-Passpoint-Venue", | ||||
| 		"name": "TipWlan-Hotspot20-Venue", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointVenueProfile", | ||||
| 			"venueNameSet": [ | ||||
| @@ -28,15 +28,15 @@ | ||||
| 				} | ||||
| 			], | ||||
| 			"venueTypeAssignment": { | ||||
| 				"model_type": "PasspointVenueTypeAssignment", | ||||
| 				"model_type": "ProfileVenueTypeAssignment", | ||||
| 				"venueDescription": "Research and Development Facility", | ||||
| 				"venueGroupId": 2, | ||||
| 				"venueTypeId": 8 | ||||
| 			}, | ||||
| 			"profileType": "passpoint_venue" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369950, | ||||
| 		"lastModifiedTimestamp": 1606778369950, | ||||
| 		"createdTimestamp": 1605711164956, | ||||
| 		"lastModifiedTimestamp": 1605711164956, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -7,7 +7,6 @@ | ||||
|         <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"> | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|   "model_type": "Equipment", | ||||
|   "id": 51, | ||||
|   "customerId": 2, | ||||
|   "profileId": 12, | ||||
|   "profileId": 5, | ||||
|   "locationId": 8, | ||||
|   "equipmentType": "AP", | ||||
|   "inventoryId": "Test_Client_21P10C68818122", | ||||
|   | ||||
| @@ -1,56 +1,55 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 12, | ||||
|     "customerId": 2, | ||||
|     "profileType": "equipment_ap", | ||||
|     "name": "ApProfile-3-radios", | ||||
|     "details": { | ||||
|         "model_type": "ApNetworkConfiguration", | ||||
|         "networkConfigVersion": "AP-1", | ||||
|         "equipmentType": "AP", | ||||
|         "vlanNative": true, | ||||
|         "vlan": 0, | ||||
|         "ntpServer": { | ||||
|             "model_type": "AutoOrManualString", | ||||
|             "auto": true, | ||||
|             "value": "pool.ntp.org" | ||||
|         }, | ||||
|         "syslogRelay": null, | ||||
|         "rtlsSettings": null, | ||||
|         "syntheticClientEnabled": true, | ||||
|         "ledControlEnabled": true, | ||||
|         "equipmentDiscovery": false, | ||||
|         "greTunnelName": null, | ||||
|         "greParentIfName": null, | ||||
|         "greLocalInetAddr": null, | ||||
|         "greRemoteInetAddr": null, | ||||
|         "greRemoteMacAddr": null, | ||||
|         "radioMap": { | ||||
|             "is2dot4GHz": { | ||||
|                 "model_type": "RadioProfileConfiguration", | ||||
|                 "bestApEnabled": true, | ||||
|                 "bestAPSteerType": "both" | ||||
|             }, | ||||
|             "is5GHzU": { | ||||
|                 "model_type": "RadioProfileConfiguration", | ||||
|                 "bestApEnabled": true, | ||||
|                 "bestAPSteerType": "both" | ||||
|             }, | ||||
|             "is5GHzL": { | ||||
|                 "model_type": "RadioProfileConfiguration", | ||||
|                 "bestApEnabled": true, | ||||
|                 "bestAPSteerType": "both" | ||||
|             } | ||||
|         }, | ||||
|         "profileType": "equipment_ap" | ||||
|     }, | ||||
|     "createdTimestamp": 1606778369934, | ||||
|     "lastModifiedTimestamp": 1606778443413, | ||||
|     "childProfileIds": [ | ||||
|         16, | ||||
|         5, | ||||
|         10, | ||||
|         11, | ||||
|         15 | ||||
|     ] | ||||
| } | ||||
| 	"model_type": "Profile", | ||||
| 	"id": 23, | ||||
| 	"customerId": 2, | ||||
| 	"profileType": "equipment_ap", | ||||
| 	"name": "ApProfile-3-radios-passpoint", | ||||
| 	"details": { | ||||
| 		"model_type": "ApNetworkConfiguration", | ||||
| 		"networkConfigVersion": "AP-1", | ||||
| 		"equipmentType": "AP", | ||||
| 		"vlanNative": true, | ||||
| 		"vlan": 0, | ||||
| 		"ntpServer": { | ||||
| 			"model_type": "AutoOrManualString", | ||||
| 			"auto": true, | ||||
| 			"value": "pool.ntp.org" | ||||
| 		}, | ||||
| 		"syslogRelay": null, | ||||
| 		"rtlsSettings": null, | ||||
| 		"syntheticClientEnabled": true, | ||||
| 		"ledControlEnabled": true, | ||||
| 		"equipmentDiscovery": false, | ||||
| 		"greTunnelName": null, | ||||
| 		"greParentIfName": null, | ||||
| 		"greLocalInetAddr": null, | ||||
| 		"greRemoteInetAddr": null, | ||||
| 		"greRemoteMacAddr": null, | ||||
| 		"radioMap": { | ||||
| 			"is2dot4GHz": { | ||||
| 				"model_type": "RadioProfileConfiguration", | ||||
| 				"bestApEnabled": true, | ||||
| 				"bestAPSteerType": "both" | ||||
| 			}, | ||||
| 			"is5GHzU": { | ||||
| 				"model_type": "RadioProfileConfiguration", | ||||
| 				"bestApEnabled": true, | ||||
| 				"bestAPSteerType": "both" | ||||
| 			}, | ||||
| 			"is5GHzL": { | ||||
| 				"model_type": "RadioProfileConfiguration", | ||||
| 				"bestApEnabled": true, | ||||
| 				"bestAPSteerType": "both" | ||||
| 			} | ||||
| 		}, | ||||
| 		"profileType": "equipment_ap" | ||||
| 	}, | ||||
| 	"createdTimestamp": 1605711197140, | ||||
| 	"lastModifiedTimestamp": 1605711197140, | ||||
| 	"childProfileIds": [ | ||||
| 		16, | ||||
| 		21, | ||||
| 		22, | ||||
| 		15 | ||||
| 	] | ||||
| } | ||||
|   | ||||
| @@ -1,71 +1,72 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"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 | ||||
| 		] | ||||
| 	} | ||||
| { | ||||
|         "model_type": "Profile", | ||||
|         "id": 24, | ||||
|         "customerId": 2, | ||||
|         "profileType": "passpoint", | ||||
|         "name": "TipWlan-Hotspot20-Config", | ||||
|         "details": { | ||||
|             "model_type": "PasspointProfile", | ||||
|             "enableInterworkingAndHs20": true, | ||||
|             "hessid": null, | ||||
|             "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, | ||||
|                     "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-hotspot-osu", | ||||
|             "operatorProfileName": "TipWlan-Hotspot20-Operator", | ||||
|             "venueProfileName": "TipWlan-Hotspot20-Venue", | ||||
|             "idProviderProfileNames": [ | ||||
|                 "TipWlan-Hotspot20-OSU-Provider-2", | ||||
|                 "TipWlan-Hotspot20-OSU-Provider" | ||||
|             ], | ||||
|             "accessNetworkType": "free_public_network", | ||||
|             "networkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
|             "associatedSsids": [ | ||||
|                 "TipWlan-cloud-hotspot-access" | ||||
|             ], | ||||
|             "profileType": "passpoint" | ||||
|         }, | ||||
|         "createdTimestamp": 1605711223339, | ||||
|         "lastModifiedTimestamp": 1605711223339, | ||||
|         "childProfileIds": [ | ||||
|             17, | ||||
|             18, | ||||
|             19, | ||||
|             20 | ||||
|         ] | ||||
|     } | ||||
| ] | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 19, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider", | ||||
| 		"name": "TipWlan-Hotspot20-OSU-Provider", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "rogers.com", | ||||
| @@ -128,8 +128,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370345, | ||||
| 		"lastModifiedTimestamp": 1606778370345, | ||||
| 		"createdTimestamp": 1605711165325, | ||||
| 		"lastModifiedTimestamp": 1605711165325, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| @@ -138,7 +138,7 @@ | ||||
| 		"id": 20, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider-2", | ||||
| 		"name": "TipWlan-Hotspot20-OSU-Provider-2", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "telus.com", | ||||
| @@ -262,8 +262,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370351, | ||||
| 		"lastModifiedTimestamp": 1606778370351, | ||||
| 		"createdTimestamp": 1605711165330, | ||||
| 		"lastModifiedTimestamp": 1605711165330, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 10, | ||||
| 		"id": 22, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "service_metrics_collection_config", | ||||
| 		"name": "Metrics-Profile-3-Radios", | ||||
| 		"name": "Metrics-Profile-Passpoint", | ||||
| 		"details": { | ||||
| 			"model_type": "ServiceMetricsCollectionConfigProfile", | ||||
| 			"radioTypes": [ | ||||
| @@ -21,6 +21,30 @@ | ||||
| 			], | ||||
| 			"metricConfigParameterMap": { | ||||
| 				"ApNode": [ | ||||
| 					{ | ||||
| 						"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": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -45,42 +69,6 @@ | ||||
| 						"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, | ||||
| @@ -92,16 +80,21 @@ | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"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" | ||||
| 					} | ||||
| 				], | ||||
| 				"ApSsid": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -115,6 +108,13 @@ | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					} | ||||
| 				], | ||||
| 				"Client": [ | ||||
| @@ -144,12 +144,12 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| @@ -168,12 +168,12 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| @@ -192,29 +192,41 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"Neighbour": [ | ||||
| 					{ | ||||
| 						"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, | ||||
| @@ -239,6 +251,18 @@ | ||||
| 						"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" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -262,37 +286,13 @@ | ||||
| 						"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, | ||||
| 		"createdTimestamp": 1605711195528, | ||||
| 		"lastModifiedTimestamp": 1605711195528, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 17, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_operator", | ||||
| 		"name": "TipWlan-Passpoint-Operator", | ||||
| 		"name": "TipWlan-Hotspot20-Operator", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOperatorProfile", | ||||
| 			"serverOnlyAuthenticatedL2EncryptionNetwork": false, | ||||
| @@ -29,8 +29,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_operator" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369945, | ||||
| 		"lastModifiedTimestamp": 1606778369945, | ||||
| 		"createdTimestamp": 1605711164952, | ||||
| 		"lastModifiedTimestamp": 1605711164952, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -1,204 +1,205 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 11, | ||||
|     "customerId": 2, | ||||
|     "profileType": "rf", | ||||
|     "name": "TipWlan-rf", | ||||
|     "details": { | ||||
|         "model_type": "RfConfiguration", | ||||
|         "rfConfigMap": { | ||||
|             "is5GHz": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHz", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
|                     "enabled": true, | ||||
|                     "scanFrequencySeconds": 10, | ||||
|                     "scanDurationMillis": 65 | ||||
|                 }, | ||||
|                 "neighbouringListApConfig": { | ||||
|                     "model_type": "NeighbouringAPListConfiguration", | ||||
|                     "minSignal": -85, | ||||
|                     "maxAps": 25 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
|                     "noiseFloorThresholdInDB": -75, | ||||
|                     "noiseFloorThresholdTimeInSeconds": 180, | ||||
|                     "nonWifiThresholdInPercentage": 50, | ||||
|                     "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 | ||||
|                 } | ||||
|             }, | ||||
|             "is2dot4GHz": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is2dot4GHz", | ||||
|                 "radioMode": "modeN", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
|                 "channelBandwidth": "is20MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
|                     "enabled": true, | ||||
|                     "scanFrequencySeconds": 10, | ||||
|                     "scanDurationMillis": 65 | ||||
|                 }, | ||||
|                 "neighbouringListApConfig": { | ||||
|                     "model_type": "NeighbouringAPListConfiguration", | ||||
|                     "minSignal": -85, | ||||
|                     "maxAps": 25 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
|                     "noiseFloorThresholdInDB": -75, | ||||
|                     "noiseFloorThresholdTimeInSeconds": 180, | ||||
|                     "nonWifiThresholdInPercentage": 50, | ||||
|                     "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 | ||||
|                 } | ||||
|             }, | ||||
|             "is5GHzU": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzU", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
|                     "enabled": true, | ||||
|                     "scanFrequencySeconds": 10, | ||||
|                     "scanDurationMillis": 65 | ||||
|                 }, | ||||
|                 "neighbouringListApConfig": { | ||||
|                     "model_type": "NeighbouringAPListConfiguration", | ||||
|                     "minSignal": -85, | ||||
|                     "maxAps": 25 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
|                     "noiseFloorThresholdInDB": -75, | ||||
|                     "noiseFloorThresholdTimeInSeconds": 180, | ||||
|                     "nonWifiThresholdInPercentage": 50, | ||||
|                     "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 | ||||
|                 } | ||||
|             }, | ||||
|             "is5GHzL": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzL", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
|                     "enabled": true, | ||||
|                     "scanFrequencySeconds": 10, | ||||
|                     "scanDurationMillis": 65 | ||||
|                 }, | ||||
|                 "neighbouringListApConfig": { | ||||
|                     "model_type": "NeighbouringAPListConfiguration", | ||||
|                     "minSignal": -85, | ||||
|                     "maxAps": 25 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
|                     "noiseFloorThresholdInDB": -75, | ||||
|                     "noiseFloorThresholdTimeInSeconds": 180, | ||||
|                     "nonWifiThresholdInPercentage": 50, | ||||
|                     "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 | ||||
|                 } | ||||
|             } | ||||
|         }, | ||||
|         "profileType": "rf" | ||||
|     }, | ||||
|     "createdTimestamp": 1606778369933, | ||||
|     "lastModifiedTimestamp": 1606778369933, | ||||
|     "childProfileIds": [] | ||||
| } | ||||
| 	"model_type": "Profile", | ||||
| 	"id": 21, | ||||
| 	"customerId": 2, | ||||
| 	"profileType": "rf", | ||||
| 	"name": "TipWlan-rf-passpoint", | ||||
| 	"details": { | ||||
| 		"model_type": "RfConfiguration", | ||||
| 		"rfConfigMap": { | ||||
| 			"is5GHz": { | ||||
| 				"model_type": "RfElementConfiguration", | ||||
| 				"radioType": "is5GHz", | ||||
| 				"radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
| 				"beaconInterval": 100, | ||||
| 				"forceScanDuringVoice": "disabled", | ||||
| 				"rtsCtsThreshold": 65535, | ||||
| 				"channelBandwidth": "is80MHz", | ||||
| 				"mimoMode": "twoByTwo", | ||||
| 				"maxNumClients": 100, | ||||
| 				"autoChannelSelection": false, | ||||
| 				"activeScanSettings": { | ||||
| 					"model_type": "ActiveScanSettings", | ||||
| 					"enabled": true, | ||||
| 					"scanFrequencySeconds": 10, | ||||
| 					"scanDurationMillis": 65 | ||||
| 				}, | ||||
| 				"neighbouringListApConfig": { | ||||
| 					"model_type": "NeighbouringAPListConfiguration", | ||||
| 					"minSignal": -85, | ||||
| 					"maxAps": 25 | ||||
| 				}, | ||||
| 				"minAutoCellSize": -65, | ||||
| 				"perimeterDetectionEnabled": true, | ||||
| 				"channelHopSettings": { | ||||
| 					"model_type": "ChannelHopSettings", | ||||
| 					"noiseFloorThresholdInDB": -75, | ||||
| 					"noiseFloorThresholdTimeInSeconds": 180, | ||||
| 					"nonWifiThresholdInPercentage": 50, | ||||
| 					"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 | ||||
| 				} | ||||
| 			}, | ||||
| 			"is2dot4GHz": { | ||||
| 				"model_type": "RfElementConfiguration", | ||||
| 				"radioType": "is2dot4GHz", | ||||
| 				"radioMode": "modeN", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
| 				"beaconInterval": 100, | ||||
| 				"forceScanDuringVoice": "disabled", | ||||
| 				"rtsCtsThreshold": 65535, | ||||
| 				"channelBandwidth": "is20MHz", | ||||
| 				"mimoMode": "twoByTwo", | ||||
| 				"maxNumClients": 100, | ||||
| 				"autoChannelSelection": false, | ||||
| 				"activeScanSettings": { | ||||
| 					"model_type": "ActiveScanSettings", | ||||
| 					"enabled": true, | ||||
| 					"scanFrequencySeconds": 10, | ||||
| 					"scanDurationMillis": 65 | ||||
| 				}, | ||||
| 				"neighbouringListApConfig": { | ||||
| 					"model_type": "NeighbouringAPListConfiguration", | ||||
| 					"minSignal": -85, | ||||
| 					"maxAps": 25 | ||||
| 				}, | ||||
| 				"minAutoCellSize": -65, | ||||
| 				"perimeterDetectionEnabled": true, | ||||
| 				"channelHopSettings": { | ||||
| 					"model_type": "ChannelHopSettings", | ||||
| 					"noiseFloorThresholdInDB": -75, | ||||
| 					"noiseFloorThresholdTimeInSeconds": 180, | ||||
| 					"nonWifiThresholdInPercentage": 50, | ||||
| 					"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 | ||||
| 				} | ||||
| 			}, | ||||
| 			"is5GHzU": { | ||||
| 				"model_type": "RfElementConfiguration", | ||||
| 				"radioType": "is5GHzU", | ||||
| 				"radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
| 				"beaconInterval": 100, | ||||
| 				"forceScanDuringVoice": "disabled", | ||||
| 				"rtsCtsThreshold": 65535, | ||||
| 				"channelBandwidth": "is80MHz", | ||||
| 				"mimoMode": "twoByTwo", | ||||
| 				"maxNumClients": 100, | ||||
| 				"autoChannelSelection": false, | ||||
| 				"activeScanSettings": { | ||||
| 					"model_type": "ActiveScanSettings", | ||||
| 					"enabled": true, | ||||
| 					"scanFrequencySeconds": 10, | ||||
| 					"scanDurationMillis": 65 | ||||
| 				}, | ||||
| 				"neighbouringListApConfig": { | ||||
| 					"model_type": "NeighbouringAPListConfiguration", | ||||
| 					"minSignal": -85, | ||||
| 					"maxAps": 25 | ||||
| 				}, | ||||
| 				"minAutoCellSize": -65, | ||||
| 				"perimeterDetectionEnabled": true, | ||||
| 				"channelHopSettings": { | ||||
| 					"model_type": "ChannelHopSettings", | ||||
| 					"noiseFloorThresholdInDB": -75, | ||||
| 					"noiseFloorThresholdTimeInSeconds": 180, | ||||
| 					"nonWifiThresholdInPercentage": 50, | ||||
| 					"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 | ||||
| 				} | ||||
| 			}, | ||||
| 			"is5GHzL": { | ||||
| 				"model_type": "RfElementConfiguration", | ||||
| 				"radioType": "is5GHzL", | ||||
| 				"radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
| 				"beaconInterval": 100, | ||||
| 				"forceScanDuringVoice": "disabled", | ||||
| 				"rtsCtsThreshold": 65535, | ||||
| 				"channelBandwidth": "is80MHz", | ||||
| 				"mimoMode": "twoByTwo", | ||||
| 				"maxNumClients": 100, | ||||
| 				"autoChannelSelection": false, | ||||
| 				"activeScanSettings": { | ||||
| 					"model_type": "ActiveScanSettings", | ||||
| 					"enabled": true, | ||||
| 					"scanFrequencySeconds": 10, | ||||
| 					"scanDurationMillis": 65 | ||||
| 				}, | ||||
| 				"neighbouringListApConfig": { | ||||
| 					"model_type": "NeighbouringAPListConfiguration", | ||||
| 					"minSignal": -85, | ||||
| 					"maxAps": 25 | ||||
| 				}, | ||||
| 				"minAutoCellSize": -65, | ||||
| 				"perimeterDetectionEnabled": true, | ||||
| 				"channelHopSettings": { | ||||
| 					"model_type": "ChannelHopSettings", | ||||
| 					"noiseFloorThresholdInDB": -75, | ||||
| 					"noiseFloorThresholdTimeInSeconds": 180, | ||||
| 					"nonWifiThresholdInPercentage": 50, | ||||
| 					"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 | ||||
| 				} | ||||
| 			} | ||||
| 		}, | ||||
| 		"profileType": "rf" | ||||
| 	}, | ||||
| 	"createdTimestamp": 1605711191976, | ||||
| 	"lastModifiedTimestamp": 1605711191976, | ||||
| 	"childProfileIds": [ | ||||
| 	] | ||||
| } | ||||
|   | ||||
| @@ -1,80 +1,13 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 5, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-3-radios", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-3-radios", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is2dot4GHz", | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "wpa2OnlyPSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": "openwifi", | ||||
| 			"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": "BRIDGE", | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369598, | ||||
| 		"lastModifiedTimestamp": 1606778369598, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 15, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-passpoint-access", | ||||
| 		"name": "TipWlan-cloud-hotspot-access", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-access", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-access", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is5GHzU" | ||||
| @@ -88,7 +21,6 @@ | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -96,7 +28,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -108,13 +40,13 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -127,8 +59,8 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369943, | ||||
| 		"lastModifiedTimestamp": 1606778370811, | ||||
| 		"createdTimestamp": 1605711164949, | ||||
| 		"lastModifiedTimestamp": 1605711223372, | ||||
| 		"childProfileIds": [ | ||||
| 			24 | ||||
| 		] | ||||
| @@ -138,10 +70,10 @@ | ||||
| 		"id": 16, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-passpoint-osu", | ||||
| 		"name": "TipWlan-cloud-hotspot-osu", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-osu", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-osu", | ||||
| 			"appliedRadios": [ | ||||
| 				"is2dot4GHz" | ||||
| 			], | ||||
| @@ -154,7 +86,6 @@ | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -162,7 +93,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -174,13 +105,13 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -193,8 +124,8 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369944, | ||||
| 		"lastModifiedTimestamp": 1606778370352, | ||||
| 		"createdTimestamp": 1605711164950, | ||||
| 		"lastModifiedTimestamp": 1605711171732, | ||||
| 		"childProfileIds": [ | ||||
| 			19, | ||||
| 			20 | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 18, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_venue", | ||||
| 		"name": "TipWlan-Passpoint-Venue", | ||||
| 		"name": "TipWlan-Hotspot20-Venue", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointVenueProfile", | ||||
| 			"venueNameSet": [ | ||||
| @@ -28,15 +28,15 @@ | ||||
| 				} | ||||
| 			], | ||||
| 			"venueTypeAssignment": { | ||||
| 				"model_type": "PasspointVenueTypeAssignment", | ||||
| 				"model_type": "ProfileVenueTypeAssignment", | ||||
| 				"venueDescription": "Research and Development Facility", | ||||
| 				"venueGroupId": 2, | ||||
| 				"venueTypeId": 8 | ||||
| 			}, | ||||
| 			"profileType": "passpoint_venue" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369950, | ||||
| 		"lastModifiedTimestamp": 1606778369950, | ||||
| 		"createdTimestamp": 1605711164956, | ||||
| 		"lastModifiedTimestamp": 1605711164956, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|   "model_type": "Equipment", | ||||
|   "id": 51, | ||||
|   "customerId": 2, | ||||
|   "profileId": 12, | ||||
|   "profileId": 5, | ||||
|   "locationId": 8, | ||||
|   "equipmentType": "AP", | ||||
|   "inventoryId": "Test_Client_21P10C68818122", | ||||
|   | ||||
| @@ -1,56 +1,55 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 12, | ||||
|     "customerId": 2, | ||||
|     "profileType": "equipment_ap", | ||||
|     "name": "ApProfile-3-radios", | ||||
|     "details": { | ||||
|         "model_type": "ApNetworkConfiguration", | ||||
|         "networkConfigVersion": "AP-1", | ||||
|         "equipmentType": "AP", | ||||
|         "vlanNative": true, | ||||
|         "vlan": 0, | ||||
|         "ntpServer": { | ||||
|             "model_type": "AutoOrManualString", | ||||
|             "auto": true, | ||||
|             "value": "pool.ntp.org" | ||||
|         }, | ||||
|         "syslogRelay": null, | ||||
|         "rtlsSettings": null, | ||||
|         "syntheticClientEnabled": true, | ||||
|         "ledControlEnabled": true, | ||||
|         "equipmentDiscovery": false, | ||||
|         "greTunnelName": null, | ||||
|         "greParentIfName": null, | ||||
|         "greLocalInetAddr": null, | ||||
|         "greRemoteInetAddr": null, | ||||
|         "greRemoteMacAddr": null, | ||||
|         "radioMap": { | ||||
|             "is2dot4GHz": { | ||||
|                 "model_type": "RadioProfileConfiguration", | ||||
|                 "bestApEnabled": true, | ||||
|                 "bestAPSteerType": "both" | ||||
|             }, | ||||
|             "is5GHzU": { | ||||
|                 "model_type": "RadioProfileConfiguration", | ||||
|                 "bestApEnabled": true, | ||||
|                 "bestAPSteerType": "both" | ||||
|             }, | ||||
|             "is5GHzL": { | ||||
|                 "model_type": "RadioProfileConfiguration", | ||||
|                 "bestApEnabled": true, | ||||
|                 "bestAPSteerType": "both" | ||||
|             } | ||||
|         }, | ||||
|         "profileType": "equipment_ap" | ||||
|     }, | ||||
|     "createdTimestamp": 1606778369934, | ||||
|     "lastModifiedTimestamp": 1606778443413, | ||||
|     "childProfileIds": [ | ||||
|         16, | ||||
|         5, | ||||
|         10, | ||||
|         11, | ||||
|         15 | ||||
|     ] | ||||
| } | ||||
| 	"model_type": "Profile", | ||||
| 	"id": 23, | ||||
| 	"customerId": 2, | ||||
| 	"profileType": "equipment_ap", | ||||
| 	"name": "ApProfile-3-radios-passpoint", | ||||
| 	"details": { | ||||
| 		"model_type": "ApNetworkConfiguration", | ||||
| 		"networkConfigVersion": "AP-1", | ||||
| 		"equipmentType": "AP", | ||||
| 		"vlanNative": true, | ||||
| 		"vlan": 0, | ||||
| 		"ntpServer": { | ||||
| 			"model_type": "AutoOrManualString", | ||||
| 			"auto": true, | ||||
| 			"value": "pool.ntp.org" | ||||
| 		}, | ||||
| 		"syslogRelay": null, | ||||
| 		"rtlsSettings": null, | ||||
| 		"syntheticClientEnabled": true, | ||||
| 		"ledControlEnabled": true, | ||||
| 		"equipmentDiscovery": false, | ||||
| 		"greTunnelName": null, | ||||
| 		"greParentIfName": null, | ||||
| 		"greLocalInetAddr": null, | ||||
| 		"greRemoteInetAddr": null, | ||||
| 		"greRemoteMacAddr": null, | ||||
| 		"radioMap": { | ||||
| 			"is2dot4GHz": { | ||||
| 				"model_type": "RadioProfileConfiguration", | ||||
| 				"bestApEnabled": true, | ||||
| 				"bestAPSteerType": "both" | ||||
| 			}, | ||||
| 			"is5GHzU": { | ||||
| 				"model_type": "RadioProfileConfiguration", | ||||
| 				"bestApEnabled": true, | ||||
| 				"bestAPSteerType": "both" | ||||
| 			}, | ||||
| 			"is5GHzL": { | ||||
| 				"model_type": "RadioProfileConfiguration", | ||||
| 				"bestApEnabled": true, | ||||
| 				"bestAPSteerType": "both" | ||||
| 			} | ||||
| 		}, | ||||
| 		"profileType": "equipment_ap" | ||||
| 	}, | ||||
| 	"createdTimestamp": 1605711197140, | ||||
| 	"lastModifiedTimestamp": 1605711197140, | ||||
| 	"childProfileIds": [ | ||||
| 		16, | ||||
| 		21, | ||||
| 		22, | ||||
| 		15 | ||||
| 	] | ||||
| } | ||||
|   | ||||
| @@ -1,71 +1,72 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"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 | ||||
| 		] | ||||
| 	} | ||||
| { | ||||
|         "model_type": "Profile", | ||||
|         "id": 24, | ||||
|         "customerId": 2, | ||||
|         "profileType": "passpoint", | ||||
|         "name": "TipWlan-Hotspot20-Config", | ||||
|         "details": { | ||||
|             "model_type": "PasspointProfile", | ||||
|             "enableInterworkingAndHs20": true, | ||||
|             "hessid": null, | ||||
|             "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, | ||||
|                     "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-hotspot-osu", | ||||
|             "operatorProfileName": "TipWlan-Hotspot20-Operator", | ||||
|             "venueProfileName": "TipWlan-Hotspot20-Venue", | ||||
|             "idProviderProfileNames": [ | ||||
|                 "TipWlan-Hotspot20-OSU-Provider-2", | ||||
|                 "TipWlan-Hotspot20-OSU-Provider" | ||||
|             ], | ||||
|             "accessNetworkType": "free_public_network", | ||||
|             "networkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
|             "associatedSsids": [ | ||||
|                 "TipWlan-cloud-hotspot-access" | ||||
|             ], | ||||
|             "profileType": "passpoint" | ||||
|         }, | ||||
|         "createdTimestamp": 1605711223339, | ||||
|         "lastModifiedTimestamp": 1605711223339, | ||||
|         "childProfileIds": [ | ||||
|             17, | ||||
|             18, | ||||
|             19, | ||||
|             20 | ||||
|         ] | ||||
|     } | ||||
| ] | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 19, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider", | ||||
| 		"name": "TipWlan-Hotspot20-OSU-Provider", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "rogers.com", | ||||
| @@ -128,8 +128,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370345, | ||||
| 		"lastModifiedTimestamp": 1606778370345, | ||||
| 		"createdTimestamp": 1605711165325, | ||||
| 		"lastModifiedTimestamp": 1605711165325, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| @@ -138,7 +138,7 @@ | ||||
| 		"id": 20, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider-2", | ||||
| 		"name": "TipWlan-Hotspot20-OSU-Provider-2", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "telus.com", | ||||
| @@ -262,8 +262,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370351, | ||||
| 		"lastModifiedTimestamp": 1606778370351, | ||||
| 		"createdTimestamp": 1605711165330, | ||||
| 		"lastModifiedTimestamp": 1605711165330, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 10, | ||||
| 		"id": 22, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "service_metrics_collection_config", | ||||
| 		"name": "Metrics-Profile-3-Radios", | ||||
| 		"name": "Metrics-Profile-Passpoint", | ||||
| 		"details": { | ||||
| 			"model_type": "ServiceMetricsCollectionConfigProfile", | ||||
| 			"radioTypes": [ | ||||
| @@ -21,6 +21,30 @@ | ||||
| 			], | ||||
| 			"metricConfigParameterMap": { | ||||
| 				"ApNode": [ | ||||
| 					{ | ||||
| 						"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": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -45,42 +69,6 @@ | ||||
| 						"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, | ||||
| @@ -92,16 +80,21 @@ | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"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" | ||||
| 					} | ||||
| 				], | ||||
| 				"ApSsid": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -115,6 +108,13 @@ | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					} | ||||
| 				], | ||||
| 				"Client": [ | ||||
| @@ -144,12 +144,12 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| @@ -168,12 +168,12 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| @@ -192,29 +192,41 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"Neighbour": [ | ||||
| 					{ | ||||
| 						"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, | ||||
| @@ -239,6 +251,18 @@ | ||||
| 						"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" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -262,37 +286,13 @@ | ||||
| 						"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, | ||||
| 		"createdTimestamp": 1605711195528, | ||||
| 		"lastModifiedTimestamp": 1605711195528, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 17, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_operator", | ||||
| 		"name": "TipWlan-Passpoint-Operator", | ||||
| 		"name": "TipWlan-Hotspot20-Operator", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOperatorProfile", | ||||
| 			"serverOnlyAuthenticatedL2EncryptionNetwork": false, | ||||
| @@ -29,8 +29,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_operator" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369945, | ||||
| 		"lastModifiedTimestamp": 1606778369945, | ||||
| 		"createdTimestamp": 1605711164952, | ||||
| 		"lastModifiedTimestamp": 1605711164952, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -1,204 +1,205 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 11, | ||||
|     "customerId": 2, | ||||
|     "profileType": "rf", | ||||
|     "name": "TipWlan-rf", | ||||
|     "details": { | ||||
|         "model_type": "RfConfiguration", | ||||
|         "rfConfigMap": { | ||||
|             "is5GHz": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHz", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
|                     "enabled": true, | ||||
|                     "scanFrequencySeconds": 10, | ||||
|                     "scanDurationMillis": 65 | ||||
|                 }, | ||||
|                 "neighbouringListApConfig": { | ||||
|                     "model_type": "NeighbouringAPListConfiguration", | ||||
|                     "minSignal": -85, | ||||
|                     "maxAps": 25 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
|                     "noiseFloorThresholdInDB": -75, | ||||
|                     "noiseFloorThresholdTimeInSeconds": 180, | ||||
|                     "nonWifiThresholdInPercentage": 50, | ||||
|                     "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 | ||||
|                 } | ||||
|             }, | ||||
|             "is2dot4GHz": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is2dot4GHz", | ||||
|                 "radioMode": "modeN", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
|                 "channelBandwidth": "is20MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
|                     "enabled": true, | ||||
|                     "scanFrequencySeconds": 10, | ||||
|                     "scanDurationMillis": 65 | ||||
|                 }, | ||||
|                 "neighbouringListApConfig": { | ||||
|                     "model_type": "NeighbouringAPListConfiguration", | ||||
|                     "minSignal": -85, | ||||
|                     "maxAps": 25 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
|                     "noiseFloorThresholdInDB": -75, | ||||
|                     "noiseFloorThresholdTimeInSeconds": 180, | ||||
|                     "nonWifiThresholdInPercentage": 50, | ||||
|                     "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 | ||||
|                 } | ||||
|             }, | ||||
|             "is5GHzU": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzU", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
|                     "enabled": true, | ||||
|                     "scanFrequencySeconds": 10, | ||||
|                     "scanDurationMillis": 65 | ||||
|                 }, | ||||
|                 "neighbouringListApConfig": { | ||||
|                     "model_type": "NeighbouringAPListConfiguration", | ||||
|                     "minSignal": -85, | ||||
|                     "maxAps": 25 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
|                     "noiseFloorThresholdInDB": -75, | ||||
|                     "noiseFloorThresholdTimeInSeconds": 180, | ||||
|                     "nonWifiThresholdInPercentage": 50, | ||||
|                     "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 | ||||
|                 } | ||||
|             }, | ||||
|             "is5GHzL": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzL", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
|                     "enabled": true, | ||||
|                     "scanFrequencySeconds": 10, | ||||
|                     "scanDurationMillis": 65 | ||||
|                 }, | ||||
|                 "neighbouringListApConfig": { | ||||
|                     "model_type": "NeighbouringAPListConfiguration", | ||||
|                     "minSignal": -85, | ||||
|                     "maxAps": 25 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
|                     "noiseFloorThresholdInDB": -75, | ||||
|                     "noiseFloorThresholdTimeInSeconds": 180, | ||||
|                     "nonWifiThresholdInPercentage": 50, | ||||
|                     "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 | ||||
|                 } | ||||
|             } | ||||
|         }, | ||||
|         "profileType": "rf" | ||||
|     }, | ||||
|     "createdTimestamp": 1606778369933, | ||||
|     "lastModifiedTimestamp": 1606778369933, | ||||
|     "childProfileIds": [] | ||||
| } | ||||
| 	"model_type": "Profile", | ||||
| 	"id": 21, | ||||
| 	"customerId": 2, | ||||
| 	"profileType": "rf", | ||||
| 	"name": "TipWlan-rf-passpoint", | ||||
| 	"details": { | ||||
| 		"model_type": "RfConfiguration", | ||||
| 		"rfConfigMap": { | ||||
| 			"is5GHz": { | ||||
| 				"model_type": "RfElementConfiguration", | ||||
| 				"radioType": "is5GHz", | ||||
| 				"radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
| 				"beaconInterval": 100, | ||||
| 				"forceScanDuringVoice": "disabled", | ||||
| 				"rtsCtsThreshold": 65535, | ||||
| 				"channelBandwidth": "is80MHz", | ||||
| 				"mimoMode": "twoByTwo", | ||||
| 				"maxNumClients": 100, | ||||
| 				"autoChannelSelection": false, | ||||
| 				"activeScanSettings": { | ||||
| 					"model_type": "ActiveScanSettings", | ||||
| 					"enabled": true, | ||||
| 					"scanFrequencySeconds": 10, | ||||
| 					"scanDurationMillis": 65 | ||||
| 				}, | ||||
| 				"neighbouringListApConfig": { | ||||
| 					"model_type": "NeighbouringAPListConfiguration", | ||||
| 					"minSignal": -85, | ||||
| 					"maxAps": 25 | ||||
| 				}, | ||||
| 				"minAutoCellSize": -65, | ||||
| 				"perimeterDetectionEnabled": true, | ||||
| 				"channelHopSettings": { | ||||
| 					"model_type": "ChannelHopSettings", | ||||
| 					"noiseFloorThresholdInDB": -75, | ||||
| 					"noiseFloorThresholdTimeInSeconds": 180, | ||||
| 					"nonWifiThresholdInPercentage": 50, | ||||
| 					"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 | ||||
| 				} | ||||
| 			}, | ||||
| 			"is2dot4GHz": { | ||||
| 				"model_type": "RfElementConfiguration", | ||||
| 				"radioType": "is2dot4GHz", | ||||
| 				"radioMode": "modeN", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
| 				"beaconInterval": 100, | ||||
| 				"forceScanDuringVoice": "disabled", | ||||
| 				"rtsCtsThreshold": 65535, | ||||
| 				"channelBandwidth": "is20MHz", | ||||
| 				"mimoMode": "twoByTwo", | ||||
| 				"maxNumClients": 100, | ||||
| 				"autoChannelSelection": false, | ||||
| 				"activeScanSettings": { | ||||
| 					"model_type": "ActiveScanSettings", | ||||
| 					"enabled": true, | ||||
| 					"scanFrequencySeconds": 10, | ||||
| 					"scanDurationMillis": 65 | ||||
| 				}, | ||||
| 				"neighbouringListApConfig": { | ||||
| 					"model_type": "NeighbouringAPListConfiguration", | ||||
| 					"minSignal": -85, | ||||
| 					"maxAps": 25 | ||||
| 				}, | ||||
| 				"minAutoCellSize": -65, | ||||
| 				"perimeterDetectionEnabled": true, | ||||
| 				"channelHopSettings": { | ||||
| 					"model_type": "ChannelHopSettings", | ||||
| 					"noiseFloorThresholdInDB": -75, | ||||
| 					"noiseFloorThresholdTimeInSeconds": 180, | ||||
| 					"nonWifiThresholdInPercentage": 50, | ||||
| 					"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 | ||||
| 				} | ||||
| 			}, | ||||
| 			"is5GHzU": { | ||||
| 				"model_type": "RfElementConfiguration", | ||||
| 				"radioType": "is5GHzU", | ||||
| 				"radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
| 				"beaconInterval": 100, | ||||
| 				"forceScanDuringVoice": "disabled", | ||||
| 				"rtsCtsThreshold": 65535, | ||||
| 				"channelBandwidth": "is80MHz", | ||||
| 				"mimoMode": "twoByTwo", | ||||
| 				"maxNumClients": 100, | ||||
| 				"autoChannelSelection": false, | ||||
| 				"activeScanSettings": { | ||||
| 					"model_type": "ActiveScanSettings", | ||||
| 					"enabled": true, | ||||
| 					"scanFrequencySeconds": 10, | ||||
| 					"scanDurationMillis": 65 | ||||
| 				}, | ||||
| 				"neighbouringListApConfig": { | ||||
| 					"model_type": "NeighbouringAPListConfiguration", | ||||
| 					"minSignal": -85, | ||||
| 					"maxAps": 25 | ||||
| 				}, | ||||
| 				"minAutoCellSize": -65, | ||||
| 				"perimeterDetectionEnabled": true, | ||||
| 				"channelHopSettings": { | ||||
| 					"model_type": "ChannelHopSettings", | ||||
| 					"noiseFloorThresholdInDB": -75, | ||||
| 					"noiseFloorThresholdTimeInSeconds": 180, | ||||
| 					"nonWifiThresholdInPercentage": 50, | ||||
| 					"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 | ||||
| 				} | ||||
| 			}, | ||||
| 			"is5GHzL": { | ||||
| 				"model_type": "RfElementConfiguration", | ||||
| 				"radioType": "is5GHzL", | ||||
| 				"radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
| 				"beaconInterval": 100, | ||||
| 				"forceScanDuringVoice": "disabled", | ||||
| 				"rtsCtsThreshold": 65535, | ||||
| 				"channelBandwidth": "is80MHz", | ||||
| 				"mimoMode": "twoByTwo", | ||||
| 				"maxNumClients": 100, | ||||
| 				"autoChannelSelection": false, | ||||
| 				"activeScanSettings": { | ||||
| 					"model_type": "ActiveScanSettings", | ||||
| 					"enabled": true, | ||||
| 					"scanFrequencySeconds": 10, | ||||
| 					"scanDurationMillis": 65 | ||||
| 				}, | ||||
| 				"neighbouringListApConfig": { | ||||
| 					"model_type": "NeighbouringAPListConfiguration", | ||||
| 					"minSignal": -85, | ||||
| 					"maxAps": 25 | ||||
| 				}, | ||||
| 				"minAutoCellSize": -65, | ||||
| 				"perimeterDetectionEnabled": true, | ||||
| 				"channelHopSettings": { | ||||
| 					"model_type": "ChannelHopSettings", | ||||
| 					"noiseFloorThresholdInDB": -75, | ||||
| 					"noiseFloorThresholdTimeInSeconds": 180, | ||||
| 					"nonWifiThresholdInPercentage": 50, | ||||
| 					"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 | ||||
| 				} | ||||
| 			} | ||||
| 		}, | ||||
| 		"profileType": "rf" | ||||
| 	}, | ||||
| 	"createdTimestamp": 1605711191976, | ||||
| 	"lastModifiedTimestamp": 1605711191976, | ||||
| 	"childProfileIds": [ | ||||
| 	] | ||||
| } | ||||
|   | ||||
| @@ -1,80 +1,13 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 5, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-3-radios", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-3-radios", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is2dot4GHz", | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "wpa2OnlyPSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": "openwifi", | ||||
| 			"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": "BRIDGE", | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369598, | ||||
| 		"lastModifiedTimestamp": 1606778369598, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 15, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-passpoint-access", | ||||
| 		"name": "TipWlan-cloud-hotspot-access", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-access", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-access", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is5GHzU" | ||||
| @@ -88,7 +21,6 @@ | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -96,7 +28,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -108,13 +40,13 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -127,8 +59,8 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369943, | ||||
| 		"lastModifiedTimestamp": 1606778370811, | ||||
| 		"createdTimestamp": 1605711164949, | ||||
| 		"lastModifiedTimestamp": 1605711223372, | ||||
| 		"childProfileIds": [ | ||||
| 			24 | ||||
| 		] | ||||
| @@ -138,10 +70,10 @@ | ||||
| 		"id": 16, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-passpoint-osu", | ||||
| 		"name": "TipWlan-cloud-hotspot-osu", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-osu", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-osu", | ||||
| 			"appliedRadios": [ | ||||
| 				"is2dot4GHz" | ||||
| 			], | ||||
| @@ -154,7 +86,6 @@ | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -162,7 +93,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -174,13 +105,13 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -193,8 +124,8 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369944, | ||||
| 		"lastModifiedTimestamp": 1606778370352, | ||||
| 		"createdTimestamp": 1605711164950, | ||||
| 		"lastModifiedTimestamp": 1605711171732, | ||||
| 		"childProfileIds": [ | ||||
| 			19, | ||||
| 			20 | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 18, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_venue", | ||||
| 		"name": "TipWlan-Passpoint-Venue", | ||||
| 		"name": "TipWlan-Hotspot20-Venue", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointVenueProfile", | ||||
| 			"venueNameSet": [ | ||||
| @@ -28,15 +28,15 @@ | ||||
| 				} | ||||
| 			], | ||||
| 			"venueTypeAssignment": { | ||||
| 				"model_type": "PasspointVenueTypeAssignment", | ||||
| 				"model_type": "ProfileVenueTypeAssignment", | ||||
| 				"venueDescription": "Research and Development Facility", | ||||
| 				"venueGroupId": 2, | ||||
| 				"venueTypeId": 8 | ||||
| 			}, | ||||
| 			"profileType": "passpoint_venue" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369950, | ||||
| 		"lastModifiedTimestamp": 1606778369950, | ||||
| 		"createdTimestamp": 1605711164956, | ||||
| 		"lastModifiedTimestamp": 1605711164956, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|   "model_type": "Equipment", | ||||
|   "id": 51, | ||||
|   "customerId": 2, | ||||
|   "profileId": 12, | ||||
|   "profileId": 5, | ||||
|   "locationId": 8, | ||||
|   "equipmentType": "AP", | ||||
|   "inventoryId": "Test_Client_21P10C68818122", | ||||
|   | ||||
| @@ -1,56 +1,55 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 12, | ||||
|     "customerId": 2, | ||||
|     "profileType": "equipment_ap", | ||||
|     "name": "ApProfile-3-radios", | ||||
|     "details": { | ||||
|         "model_type": "ApNetworkConfiguration", | ||||
|         "networkConfigVersion": "AP-1", | ||||
|         "equipmentType": "AP", | ||||
|         "vlanNative": true, | ||||
|         "vlan": 0, | ||||
|         "ntpServer": { | ||||
|             "model_type": "AutoOrManualString", | ||||
|             "auto": true, | ||||
|             "value": "pool.ntp.org" | ||||
|         }, | ||||
|         "syslogRelay": null, | ||||
|         "rtlsSettings": null, | ||||
|         "syntheticClientEnabled": true, | ||||
|         "ledControlEnabled": true, | ||||
|         "equipmentDiscovery": false, | ||||
|         "greTunnelName": null, | ||||
|         "greParentIfName": null, | ||||
|         "greLocalInetAddr": null, | ||||
|         "greRemoteInetAddr": null, | ||||
|         "greRemoteMacAddr": null, | ||||
|         "radioMap": { | ||||
|             "is2dot4GHz": { | ||||
|                 "model_type": "RadioProfileConfiguration", | ||||
|                 "bestApEnabled": true, | ||||
|                 "bestAPSteerType": "both" | ||||
|             }, | ||||
|             "is5GHzU": { | ||||
|                 "model_type": "RadioProfileConfiguration", | ||||
|                 "bestApEnabled": true, | ||||
|                 "bestAPSteerType": "both" | ||||
|             }, | ||||
|             "is5GHzL": { | ||||
|                 "model_type": "RadioProfileConfiguration", | ||||
|                 "bestApEnabled": true, | ||||
|                 "bestAPSteerType": "both" | ||||
|             } | ||||
|         }, | ||||
|         "profileType": "equipment_ap" | ||||
|     }, | ||||
|     "createdTimestamp": 1606778369934, | ||||
|     "lastModifiedTimestamp": 1606778443413, | ||||
|     "childProfileIds": [ | ||||
|         16, | ||||
|         5, | ||||
|         10, | ||||
|         11, | ||||
|         15 | ||||
|     ] | ||||
| } | ||||
| 	"model_type": "Profile", | ||||
| 	"id": 23, | ||||
| 	"customerId": 2, | ||||
| 	"profileType": "equipment_ap", | ||||
| 	"name": "ApProfile-3-radios-passpoint", | ||||
| 	"details": { | ||||
| 		"model_type": "ApNetworkConfiguration", | ||||
| 		"networkConfigVersion": "AP-1", | ||||
| 		"equipmentType": "AP", | ||||
| 		"vlanNative": true, | ||||
| 		"vlan": 0, | ||||
| 		"ntpServer": { | ||||
| 			"model_type": "AutoOrManualString", | ||||
| 			"auto": true, | ||||
| 			"value": "pool.ntp.org" | ||||
| 		}, | ||||
| 		"syslogRelay": null, | ||||
| 		"rtlsSettings": null, | ||||
| 		"syntheticClientEnabled": true, | ||||
| 		"ledControlEnabled": true, | ||||
| 		"equipmentDiscovery": false, | ||||
| 		"greTunnelName": null, | ||||
| 		"greParentIfName": null, | ||||
| 		"greLocalInetAddr": null, | ||||
| 		"greRemoteInetAddr": null, | ||||
| 		"greRemoteMacAddr": null, | ||||
| 		"radioMap": { | ||||
| 			"is2dot4GHz": { | ||||
| 				"model_type": "RadioProfileConfiguration", | ||||
| 				"bestApEnabled": true, | ||||
| 				"bestAPSteerType": "both" | ||||
| 			}, | ||||
| 			"is5GHzU": { | ||||
| 				"model_type": "RadioProfileConfiguration", | ||||
| 				"bestApEnabled": true, | ||||
| 				"bestAPSteerType": "both" | ||||
| 			}, | ||||
| 			"is5GHzL": { | ||||
| 				"model_type": "RadioProfileConfiguration", | ||||
| 				"bestApEnabled": true, | ||||
| 				"bestAPSteerType": "both" | ||||
| 			} | ||||
| 		}, | ||||
| 		"profileType": "equipment_ap" | ||||
| 	}, | ||||
| 	"createdTimestamp": 1605711197140, | ||||
| 	"lastModifiedTimestamp": 1605711197140, | ||||
| 	"childProfileIds": [ | ||||
| 		16, | ||||
| 		21, | ||||
| 		22, | ||||
| 		15 | ||||
| 	] | ||||
| } | ||||
|   | ||||
| @@ -1,71 +1,72 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"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 | ||||
| 		] | ||||
| 	} | ||||
| { | ||||
|         "model_type": "Profile", | ||||
|         "id": 24, | ||||
|         "customerId": 2, | ||||
|         "profileType": "passpoint", | ||||
|         "name": "TipWlan-Hotspot20-Config", | ||||
|         "details": { | ||||
|             "model_type": "PasspointProfile", | ||||
|             "enableInterworkingAndHs20": true, | ||||
|             "hessid": null, | ||||
|             "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, | ||||
|                     "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-hotspot-osu", | ||||
|             "operatorProfileName": "TipWlan-Hotspot20-Operator", | ||||
|             "venueProfileName": "TipWlan-Hotspot20-Venue", | ||||
|             "idProviderProfileNames": [ | ||||
|                 "TipWlan-Hotspot20-OSU-Provider-2", | ||||
|                 "TipWlan-Hotspot20-OSU-Provider" | ||||
|             ], | ||||
|             "accessNetworkType": "free_public_network", | ||||
|             "networkAuthenticationType": "acceptance_of_terms_and_conditions", | ||||
|             "associatedSsids": [ | ||||
|                 "TipWlan-cloud-hotspot-access" | ||||
|             ], | ||||
|             "profileType": "passpoint" | ||||
|         }, | ||||
|         "createdTimestamp": 1605711223339, | ||||
|         "lastModifiedTimestamp": 1605711223339, | ||||
|         "childProfileIds": [ | ||||
|             17, | ||||
|             18, | ||||
|             19, | ||||
|             20 | ||||
|         ] | ||||
|     } | ||||
| ] | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 19, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider", | ||||
| 		"name": "TipWlan-Hotspot20-OSU-Provider", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "rogers.com", | ||||
| @@ -128,8 +128,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370345, | ||||
| 		"lastModifiedTimestamp": 1606778370345, | ||||
| 		"createdTimestamp": 1605711165325, | ||||
| 		"lastModifiedTimestamp": 1605711165325, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| @@ -138,7 +138,7 @@ | ||||
| 		"id": 20, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_osu_id_provider", | ||||
| 		"name": "TipWlan-Passpoint-OSU-Provider-2", | ||||
| 		"name": "TipWlan-Hotspot20-OSU-Provider-2", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOsuProviderProfile", | ||||
| 			"domainName": "telus.com", | ||||
| @@ -262,8 +262,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_osu_id_provider" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778370351, | ||||
| 		"lastModifiedTimestamp": 1606778370351, | ||||
| 		"createdTimestamp": 1605711165330, | ||||
| 		"lastModifiedTimestamp": 1605711165330, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 10, | ||||
| 		"id": 22, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "service_metrics_collection_config", | ||||
| 		"name": "Metrics-Profile-3-Radios", | ||||
| 		"name": "Metrics-Profile-Passpoint", | ||||
| 		"details": { | ||||
| 			"model_type": "ServiceMetricsCollectionConfigProfile", | ||||
| 			"radioTypes": [ | ||||
| @@ -21,6 +21,30 @@ | ||||
| 			], | ||||
| 			"metricConfigParameterMap": { | ||||
| 				"ApNode": [ | ||||
| 					{ | ||||
| 						"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": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApNode", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -45,42 +69,6 @@ | ||||
| 						"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, | ||||
| @@ -92,16 +80,21 @@ | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"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" | ||||
| 					} | ||||
| 				], | ||||
| 				"ApSsid": [ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -115,6 +108,13 @@ | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricRadioConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"radioType": "is5GHzU", | ||||
| 						"serviceMetricDataType": "ApSsid" | ||||
| 					} | ||||
| 				], | ||||
| 				"Client": [ | ||||
| @@ -144,12 +144,12 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| @@ -168,12 +168,12 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| @@ -192,29 +192,41 @@ | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| 						"reportingIntervalSeconds": 60, | ||||
| 						"channelSurveyType": "ON_CHANNEL", | ||||
| 						"reportingIntervalSeconds": 120, | ||||
| 						"channelSurveyType": "OFF_CHANNEL", | ||||
| 						"scanIntervalMillis": 0, | ||||
| 						"percentUtilizationThreshold": 10, | ||||
| 						"delayMillisecondsThreshold": 600, | ||||
| 						"radioType": "is5GHzL", | ||||
| 						"radioType": "is2dot4GHz", | ||||
| 						"serviceMetricDataType": "Channel", | ||||
| 						"statsReportFormat": "RAW" | ||||
| 					} | ||||
| 				], | ||||
| 				"Neighbour": [ | ||||
| 					{ | ||||
| 						"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, | ||||
| @@ -239,6 +251,18 @@ | ||||
| 						"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" | ||||
| 					}, | ||||
| 					{ | ||||
| 						"model_type": "ServiceMetricSurveyConfigParameters", | ||||
| 						"samplingInterval": 30, | ||||
| @@ -262,37 +286,13 @@ | ||||
| 						"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, | ||||
| 		"createdTimestamp": 1605711195528, | ||||
| 		"lastModifiedTimestamp": 1605711195528, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 17, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_operator", | ||||
| 		"name": "TipWlan-Passpoint-Operator", | ||||
| 		"name": "TipWlan-Hotspot20-Operator", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointOperatorProfile", | ||||
| 			"serverOnlyAuthenticatedL2EncryptionNetwork": false, | ||||
| @@ -29,8 +29,8 @@ | ||||
| 			], | ||||
| 			"profileType": "passpoint_operator" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369945, | ||||
| 		"lastModifiedTimestamp": 1606778369945, | ||||
| 		"createdTimestamp": 1605711164952, | ||||
| 		"lastModifiedTimestamp": 1605711164952, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -1,204 +1,205 @@ | ||||
| { | ||||
|     "model_type": "Profile", | ||||
|     "id": 11, | ||||
|     "customerId": 2, | ||||
|     "profileType": "rf", | ||||
|     "name": "TipWlan-rf", | ||||
|     "details": { | ||||
|         "model_type": "RfConfiguration", | ||||
|         "rfConfigMap": { | ||||
|             "is5GHz": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHz", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
|                     "enabled": true, | ||||
|                     "scanFrequencySeconds": 10, | ||||
|                     "scanDurationMillis": 65 | ||||
|                 }, | ||||
|                 "neighbouringListApConfig": { | ||||
|                     "model_type": "NeighbouringAPListConfiguration", | ||||
|                     "minSignal": -85, | ||||
|                     "maxAps": 25 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
|                     "noiseFloorThresholdInDB": -75, | ||||
|                     "noiseFloorThresholdTimeInSeconds": 180, | ||||
|                     "nonWifiThresholdInPercentage": 50, | ||||
|                     "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 | ||||
|                 } | ||||
|             }, | ||||
|             "is2dot4GHz": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is2dot4GHz", | ||||
|                 "radioMode": "modeN", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
|                 "channelBandwidth": "is20MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
|                     "enabled": true, | ||||
|                     "scanFrequencySeconds": 10, | ||||
|                     "scanDurationMillis": 65 | ||||
|                 }, | ||||
|                 "neighbouringListApConfig": { | ||||
|                     "model_type": "NeighbouringAPListConfiguration", | ||||
|                     "minSignal": -85, | ||||
|                     "maxAps": 25 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
|                     "noiseFloorThresholdInDB": -75, | ||||
|                     "noiseFloorThresholdTimeInSeconds": 180, | ||||
|                     "nonWifiThresholdInPercentage": 50, | ||||
|                     "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 | ||||
|                 } | ||||
|             }, | ||||
|             "is5GHzU": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzU", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
|                     "enabled": true, | ||||
|                     "scanFrequencySeconds": 10, | ||||
|                     "scanDurationMillis": 65 | ||||
|                 }, | ||||
|                 "neighbouringListApConfig": { | ||||
|                     "model_type": "NeighbouringAPListConfiguration", | ||||
|                     "minSignal": -85, | ||||
|                     "maxAps": 25 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
|                     "noiseFloorThresholdInDB": -75, | ||||
|                     "noiseFloorThresholdTimeInSeconds": 180, | ||||
|                     "nonWifiThresholdInPercentage": 50, | ||||
|                     "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 | ||||
|                 } | ||||
|             }, | ||||
|             "is5GHzL": { | ||||
|                 "model_type": "RfElementConfiguration", | ||||
|                 "radioType": "is5GHzL", | ||||
|                 "radioMode": "modeAC", | ||||
|                 "rf": "TipWlan-rf", | ||||
|                 "beaconInterval": 100, | ||||
|                 "forceScanDuringVoice": "disabled", | ||||
|                 "rtsCtsThreshold": 65535, | ||||
|                 "channelBandwidth": "is80MHz", | ||||
|                 "mimoMode": "twoByTwo", | ||||
|                 "maxNumClients": 100, | ||||
|                 "autoChannelSelection": false, | ||||
|                 "activeScanSettings": { | ||||
|                     "model_type": "ActiveScanSettings", | ||||
|                     "enabled": true, | ||||
|                     "scanFrequencySeconds": 10, | ||||
|                     "scanDurationMillis": 65 | ||||
|                 }, | ||||
|                 "neighbouringListApConfig": { | ||||
|                     "model_type": "NeighbouringAPListConfiguration", | ||||
|                     "minSignal": -85, | ||||
|                     "maxAps": 25 | ||||
|                 }, | ||||
|                 "minAutoCellSize": -65, | ||||
|                 "perimeterDetectionEnabled": true, | ||||
|                 "channelHopSettings": { | ||||
|                     "model_type": "ChannelHopSettings", | ||||
|                     "noiseFloorThresholdInDB": -75, | ||||
|                     "noiseFloorThresholdTimeInSeconds": 180, | ||||
|                     "nonWifiThresholdInPercentage": 50, | ||||
|                     "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 | ||||
|                 } | ||||
|             } | ||||
|         }, | ||||
|         "profileType": "rf" | ||||
|     }, | ||||
|     "createdTimestamp": 1606778369933, | ||||
|     "lastModifiedTimestamp": 1606778369933, | ||||
|     "childProfileIds": [] | ||||
| } | ||||
| 	"model_type": "Profile", | ||||
| 	"id": 21, | ||||
| 	"customerId": 2, | ||||
| 	"profileType": "rf", | ||||
| 	"name": "TipWlan-rf-passpoint", | ||||
| 	"details": { | ||||
| 		"model_type": "RfConfiguration", | ||||
| 		"rfConfigMap": { | ||||
| 			"is5GHz": { | ||||
| 				"model_type": "RfElementConfiguration", | ||||
| 				"radioType": "is5GHz", | ||||
| 				"radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
| 				"beaconInterval": 100, | ||||
| 				"forceScanDuringVoice": "disabled", | ||||
| 				"rtsCtsThreshold": 65535, | ||||
| 				"channelBandwidth": "is80MHz", | ||||
| 				"mimoMode": "twoByTwo", | ||||
| 				"maxNumClients": 100, | ||||
| 				"autoChannelSelection": false, | ||||
| 				"activeScanSettings": { | ||||
| 					"model_type": "ActiveScanSettings", | ||||
| 					"enabled": true, | ||||
| 					"scanFrequencySeconds": 10, | ||||
| 					"scanDurationMillis": 65 | ||||
| 				}, | ||||
| 				"neighbouringListApConfig": { | ||||
| 					"model_type": "NeighbouringAPListConfiguration", | ||||
| 					"minSignal": -85, | ||||
| 					"maxAps": 25 | ||||
| 				}, | ||||
| 				"minAutoCellSize": -65, | ||||
| 				"perimeterDetectionEnabled": true, | ||||
| 				"channelHopSettings": { | ||||
| 					"model_type": "ChannelHopSettings", | ||||
| 					"noiseFloorThresholdInDB": -75, | ||||
| 					"noiseFloorThresholdTimeInSeconds": 180, | ||||
| 					"nonWifiThresholdInPercentage": 50, | ||||
| 					"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 | ||||
| 				} | ||||
| 			}, | ||||
| 			"is2dot4GHz": { | ||||
| 				"model_type": "RfElementConfiguration", | ||||
| 				"radioType": "is2dot4GHz", | ||||
| 				"radioMode": "modeN", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
| 				"beaconInterval": 100, | ||||
| 				"forceScanDuringVoice": "disabled", | ||||
| 				"rtsCtsThreshold": 65535, | ||||
| 				"channelBandwidth": "is20MHz", | ||||
| 				"mimoMode": "twoByTwo", | ||||
| 				"maxNumClients": 100, | ||||
| 				"autoChannelSelection": false, | ||||
| 				"activeScanSettings": { | ||||
| 					"model_type": "ActiveScanSettings", | ||||
| 					"enabled": true, | ||||
| 					"scanFrequencySeconds": 10, | ||||
| 					"scanDurationMillis": 65 | ||||
| 				}, | ||||
| 				"neighbouringListApConfig": { | ||||
| 					"model_type": "NeighbouringAPListConfiguration", | ||||
| 					"minSignal": -85, | ||||
| 					"maxAps": 25 | ||||
| 				}, | ||||
| 				"minAutoCellSize": -65, | ||||
| 				"perimeterDetectionEnabled": true, | ||||
| 				"channelHopSettings": { | ||||
| 					"model_type": "ChannelHopSettings", | ||||
| 					"noiseFloorThresholdInDB": -75, | ||||
| 					"noiseFloorThresholdTimeInSeconds": 180, | ||||
| 					"nonWifiThresholdInPercentage": 50, | ||||
| 					"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 | ||||
| 				} | ||||
| 			}, | ||||
| 			"is5GHzU": { | ||||
| 				"model_type": "RfElementConfiguration", | ||||
| 				"radioType": "is5GHzU", | ||||
| 				"radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
| 				"beaconInterval": 100, | ||||
| 				"forceScanDuringVoice": "disabled", | ||||
| 				"rtsCtsThreshold": 65535, | ||||
| 				"channelBandwidth": "is80MHz", | ||||
| 				"mimoMode": "twoByTwo", | ||||
| 				"maxNumClients": 100, | ||||
| 				"autoChannelSelection": false, | ||||
| 				"activeScanSettings": { | ||||
| 					"model_type": "ActiveScanSettings", | ||||
| 					"enabled": true, | ||||
| 					"scanFrequencySeconds": 10, | ||||
| 					"scanDurationMillis": 65 | ||||
| 				}, | ||||
| 				"neighbouringListApConfig": { | ||||
| 					"model_type": "NeighbouringAPListConfiguration", | ||||
| 					"minSignal": -85, | ||||
| 					"maxAps": 25 | ||||
| 				}, | ||||
| 				"minAutoCellSize": -65, | ||||
| 				"perimeterDetectionEnabled": true, | ||||
| 				"channelHopSettings": { | ||||
| 					"model_type": "ChannelHopSettings", | ||||
| 					"noiseFloorThresholdInDB": -75, | ||||
| 					"noiseFloorThresholdTimeInSeconds": 180, | ||||
| 					"nonWifiThresholdInPercentage": 50, | ||||
| 					"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 | ||||
| 				} | ||||
| 			}, | ||||
| 			"is5GHzL": { | ||||
| 				"model_type": "RfElementConfiguration", | ||||
| 				"radioType": "is5GHzL", | ||||
| 				"radioMode": "modeAC", | ||||
| 				"rf": "TipWlan-rf-passpoint", | ||||
| 				"beaconInterval": 100, | ||||
| 				"forceScanDuringVoice": "disabled", | ||||
| 				"rtsCtsThreshold": 65535, | ||||
| 				"channelBandwidth": "is80MHz", | ||||
| 				"mimoMode": "twoByTwo", | ||||
| 				"maxNumClients": 100, | ||||
| 				"autoChannelSelection": false, | ||||
| 				"activeScanSettings": { | ||||
| 					"model_type": "ActiveScanSettings", | ||||
| 					"enabled": true, | ||||
| 					"scanFrequencySeconds": 10, | ||||
| 					"scanDurationMillis": 65 | ||||
| 				}, | ||||
| 				"neighbouringListApConfig": { | ||||
| 					"model_type": "NeighbouringAPListConfiguration", | ||||
| 					"minSignal": -85, | ||||
| 					"maxAps": 25 | ||||
| 				}, | ||||
| 				"minAutoCellSize": -65, | ||||
| 				"perimeterDetectionEnabled": true, | ||||
| 				"channelHopSettings": { | ||||
| 					"model_type": "ChannelHopSettings", | ||||
| 					"noiseFloorThresholdInDB": -75, | ||||
| 					"noiseFloorThresholdTimeInSeconds": 180, | ||||
| 					"nonWifiThresholdInPercentage": 50, | ||||
| 					"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 | ||||
| 				} | ||||
| 			} | ||||
| 		}, | ||||
| 		"profileType": "rf" | ||||
| 	}, | ||||
| 	"createdTimestamp": 1605711191976, | ||||
| 	"lastModifiedTimestamp": 1605711191976, | ||||
| 	"childProfileIds": [ | ||||
| 	] | ||||
| } | ||||
|   | ||||
| @@ -1,80 +1,13 @@ | ||||
| [ | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 5, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-3-radios", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-3-radios", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is2dot4GHz", | ||||
| 				"is5GHzU" | ||||
| 			], | ||||
| 			"ssidAdminState": "enabled", | ||||
| 			"secureMode": "wpa2OnlyPSK", | ||||
| 			"vlanId": 1, | ||||
| 			"keyStr": "openwifi", | ||||
| 			"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": "BRIDGE", | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369598, | ||||
| 		"lastModifiedTimestamp": 1606778369598, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
| 		"model_type": "Profile", | ||||
| 		"id": 15, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-passpoint-access", | ||||
| 		"name": "TipWlan-cloud-hotspot-access", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-access", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-access", | ||||
| 			"appliedRadios": [ | ||||
| 				"is5GHzL", | ||||
| 				"is5GHzU" | ||||
| @@ -88,7 +21,6 @@ | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -96,7 +28,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -108,13 +40,13 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -127,8 +59,8 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369943, | ||||
| 		"lastModifiedTimestamp": 1606778370811, | ||||
| 		"createdTimestamp": 1605711164949, | ||||
| 		"lastModifiedTimestamp": 1605711223372, | ||||
| 		"childProfileIds": [ | ||||
| 			24 | ||||
| 		] | ||||
| @@ -138,10 +70,10 @@ | ||||
| 		"id": 16, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "ssid", | ||||
| 		"name": "TipWlan-cloud-passpoint-osu", | ||||
| 		"name": "TipWlan-cloud-hotspot-osu", | ||||
| 		"details": { | ||||
| 			"model_type": "SsidConfiguration", | ||||
| 			"ssid": "TipWlan-cloud-passpoint-osu", | ||||
| 			"ssid": "TipWlan-cloud-hotspot-osu", | ||||
| 			"appliedRadios": [ | ||||
| 				"is2dot4GHz" | ||||
| 			], | ||||
| @@ -154,7 +86,6 @@ | ||||
| 			"noLocalSubnets": false, | ||||
| 			"radiusServiceName": null, | ||||
| 			"radiusAccountingServiceName": null, | ||||
| 			"radiusAcountingServiceInterval": null, | ||||
| 			"captivePortalId": null, | ||||
| 			"bandwidthLimitDown": 0, | ||||
| 			"bandwidthLimitUp": 0, | ||||
| @@ -162,7 +93,7 @@ | ||||
| 			"clientBandwidthLimitUp": 0, | ||||
| 			"videoTrafficOnly": false, | ||||
| 			"radioBasedConfigs": { | ||||
| 				"is5GHzL": { | ||||
| 				"is5GHz": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -174,13 +105,13 @@ | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHz": { | ||||
| 				"is5GHzU": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| 					"enable80211v": null | ||||
| 				}, | ||||
| 				"is5GHzU": { | ||||
| 				"is5GHzL": { | ||||
| 					"model_type": "RadioBasedSsidConfiguration", | ||||
| 					"enable80211r": null, | ||||
| 					"enable80211k": null, | ||||
| @@ -193,8 +124,8 @@ | ||||
| 			"forwardMode": null, | ||||
| 			"profileType": "ssid" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369944, | ||||
| 		"lastModifiedTimestamp": 1606778370352, | ||||
| 		"createdTimestamp": 1605711164950, | ||||
| 		"lastModifiedTimestamp": 1605711171732, | ||||
| 		"childProfileIds": [ | ||||
| 			19, | ||||
| 			20 | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 		"id": 18, | ||||
| 		"customerId": 2, | ||||
| 		"profileType": "passpoint_venue", | ||||
| 		"name": "TipWlan-Passpoint-Venue", | ||||
| 		"name": "TipWlan-Hotspot20-Venue", | ||||
| 		"details": { | ||||
| 			"model_type": "PasspointVenueProfile", | ||||
| 			"venueNameSet": [ | ||||
| @@ -28,15 +28,15 @@ | ||||
| 				} | ||||
| 			], | ||||
| 			"venueTypeAssignment": { | ||||
| 				"model_type": "PasspointVenueTypeAssignment", | ||||
| 				"model_type": "ProfileVenueTypeAssignment", | ||||
| 				"venueDescription": "Research and Development Facility", | ||||
| 				"venueGroupId": 2, | ||||
| 				"venueTypeId": 8 | ||||
| 			}, | ||||
| 			"profileType": "passpoint_venue" | ||||
| 		}, | ||||
| 		"createdTimestamp": 1606778369950, | ||||
| 		"lastModifiedTimestamp": 1606778369950, | ||||
| 		"createdTimestamp": 1605711164956, | ||||
| 		"lastModifiedTimestamp": 1605711164956, | ||||
| 		"childProfileIds": [ | ||||
| 		] | ||||
| 	} | ||||
|   | ||||
| @@ -7,7 +7,6 @@ | ||||
|         <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"/> | ||||
|   | ||||
| @@ -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.util.OvsdbStringConstants; | ||||
| import com.telecominfraproject.wlan.opensync.ovsdb.dao.utilities.OvsdbStringConstants; | ||||
| import com.telecominfraproject.wlan.opensync.util.SslUtil; | ||||
| import com.telecominfraproject.wlan.profile.network.models.ApNetworkConfiguration; | ||||
| import com.vmware.ovsdb.callback.ConnectionCallback; | ||||
| @@ -192,38 +192,42 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|         String apId = alterClientCnIfRequired(clientCn, connectNodeInfo); | ||||
|  | ||||
|         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); | ||||
|  | ||||
|         if (opensyncAPConfig != null) { | ||||
|              | ||||
|             // cleanup existing | ||||
|             ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always | ||||
|             ovsdbDao.removeAllPasspointConfigs(ovsdbClient); | ||||
|             ovsdbDao.removeWifiRrm(ovsdbClient); | ||||
|             ovsdbDao.removeAllSsids(ovsdbClient, opensyncAPConfig); // always | ||||
|             ovsdbDao.removeAllGreTunnels(ovsdbClient, opensyncAPConfig); | ||||
|             // reconfigure | ||||
|             ovsdbDao.configureWifiRadios(ovsdbClient, opensyncAPConfig); | ||||
|             ovsdbDao.configureWifiRrm(ovsdbClient, opensyncAPConfig); | ||||
|             ovsdbDao.configureGreTunnels(ovsdbClient, opensyncAPConfig);        | ||||
|             ovsdbDao.createVlanNetworkInterfaces(ovsdbClient, opensyncAPConfig); | ||||
|              | ||||
|             ovsdbDao.configureInterfaces(ovsdbClient); | ||||
|             ovsdbDao.configureGreTunnels(ovsdbClient, opensyncAPConfig); | ||||
|             ovsdbDao.configureSsids(ovsdbClient, opensyncAPConfig); | ||||
|             ovsdbDao.configureWifiRrm(ovsdbClient, opensyncAPConfig); | ||||
|             if (opensyncAPConfig.getHotspotConfig() != null) { | ||||
|                 ovsdbDao.configureHotspots(ovsdbClient, opensyncAPConfig); | ||||
|             } | ||||
|              | ||||
|             ovsdbDao.configureInterfaces(ovsdbClient); | ||||
|  | ||||
|             ovsdbDao.configureStatsFromProfile(ovsdbClient, opensyncAPConfig); | ||||
|             if (ovsdbDao.getDeviceStatsReportingInterval(ovsdbClient) != collectionIntervalSecDeviceStats) { | ||||
|                 ovsdbDao.updateDeviceStatsReportingInterval(ovsdbClient, collectionIntervalSecDeviceStats); | ||||
|             if (((ApNetworkConfiguration) opensyncAPConfig.getApProfile().getDetails()).getSyntheticClientEnabled()) { | ||||
|                 ovsdbDao.enableNetworkProbeForSyntheticClient(ovsdbClient); | ||||
|             } | ||||
|              | ||||
|         } else { | ||||
|             LOG.info("No Configuration available for {}", apId); | ||||
|             ovsdbDao.removeAllPasspointConfigs(ovsdbClient); | ||||
|             ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always | ||||
|             ovsdbDao.removeWifiRrm(ovsdbClient); | ||||
|             ovsdbDao.removeAllSsids(ovsdbClient); // always | ||||
|             ovsdbDao.removeAllGreTunnels(ovsdbClient, null); | ||||
|         } | ||||
|  | ||||
|         if (ovsdbDao.getDeviceStatsReportingInterval(ovsdbClient) != collectionIntervalSecDeviceStats) { | ||||
|             ovsdbDao.updateDeviceStatsReportingInterval(ovsdbClient, collectionIntervalSecDeviceStats); | ||||
|         } | ||||
|  | ||||
|          | ||||
|         LOG.debug("Client connect Done"); | ||||
|         return connectNodeInfo; | ||||
|     } | ||||
| @@ -266,25 +270,20 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|             LOG.warn("AP with id " + apId + " does not have a config to apply."); | ||||
|             return; | ||||
|         } | ||||
|          | ||||
|         ovsdbDao.removeAllPasspointConfigs(ovsdbClient); | ||||
|         ovsdbDao.removeAllSsids(ovsdbClient); // always     | ||||
|         ovsdbDao.removeAllInetConfigs(ovsdbClient);        | ||||
|         ovsdbDao.removeWifiRrm(ovsdbClient); | ||||
|         ovsdbDao.removeAllStatsConfigs(ovsdbClient); // always | ||||
|         ovsdbDao.removeAllPasspointConfigs(ovsdbClient); | ||||
|         ovsdbDao.removeWifiRrm(ovsdbClient); | ||||
|         ovsdbDao.removeAllSsids(ovsdbClient, opensyncAPConfig); // always | ||||
|         ovsdbDao.removeAllGreTunnels(ovsdbClient, opensyncAPConfig); | ||||
|  | ||||
|         ovsdbDao.configureWifiRadios(ovsdbClient, opensyncAPConfig); | ||||
|         ovsdbDao.configureWifiRrm(ovsdbClient, opensyncAPConfig); | ||||
|         ovsdbDao.configureGreTunnels(ovsdbClient, opensyncAPConfig);        | ||||
|         ovsdbDao.createVlanNetworkInterfaces(ovsdbClient, opensyncAPConfig); | ||||
|          | ||||
|         ovsdbDao.configureInterfaces(ovsdbClient); | ||||
|         ovsdbDao.configureGreTunnels(ovsdbClient, opensyncAPConfig); | ||||
|         ovsdbDao.configureSsids(ovsdbClient, opensyncAPConfig); | ||||
|         ovsdbDao.configureWifiRrm(ovsdbClient, opensyncAPConfig); | ||||
|         if (opensyncAPConfig.getHotspotConfig() != null) { | ||||
|             ovsdbDao.configureHotspots(ovsdbClient, opensyncAPConfig); | ||||
|         } | ||||
|          | ||||
|         ovsdbDao.configureInterfaces(ovsdbClient); | ||||
|  | ||||
|         ovsdbDao.configureStatsFromProfile(ovsdbClient, opensyncAPConfig); | ||||
|         if (ovsdbDao.getDeviceStatsReportingInterval(ovsdbClient) != collectionIntervalSecDeviceStats) { | ||||
|             ovsdbDao.updateDeviceStatsReportingInterval(ovsdbClient, collectionIntervalSecDeviceStats); | ||||
| @@ -374,66 +373,62 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.dhcpLeasedIpDbTable + "_" + key + " monitor callback received {}", | ||||
|                                     tableUpdates); | ||||
|                         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); | ||||
|                         } | ||||
|  | ||||
|                     } | ||||
| @@ -453,66 +448,62 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.commandStateDbTable + "_" + key + " monitor callback received {}", | ||||
|                                     tableUpdates); | ||||
|                         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); | ||||
|                         } | ||||
|  | ||||
|                     } | ||||
| @@ -531,14 +522,10 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.awlanNodeDbTable + "_" + key + " monitor callback received {}", tableUpdates); | ||||
|                         LOG.info(OvsdbDao.awlanNodeDbTable + "_" + key + " monitor callback received {}", tableUpdates); | ||||
|  | ||||
|                             extIntegrationInterface.awlanNodeDbTableUpdate( | ||||
|                                     ovsdbDao.getOpensyncAWLANNode(tableUpdates, key, ovsdbClient), key); | ||||
|                         } catch (Exception e) { | ||||
|                             LOG.error("awlanNodeDbTableUpdate failed",e); | ||||
|                         } | ||||
|                         extIntegrationInterface.awlanNodeDbTableUpdate( | ||||
|                                 ovsdbDao.getOpensyncAWLANNode(tableUpdates, key, ovsdbClient), key); | ||||
|                     } | ||||
|  | ||||
|                 }); | ||||
| @@ -556,36 +543,32 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|  | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.wifiAssociatedClientsDbTable + "_" + key + " monitor callback received {}", | ||||
|                                     tableUpdates); | ||||
|                         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); | ||||
|  | ||||
|                     } | ||||
|  | ||||
|                 }); | ||||
| @@ -603,38 +586,34 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.ovsdbName, | ||||
|                                     OvsdbDao.wifiInetStateDbTable + "_" + key + " monitor callback received {}", | ||||
|                                     tableUpdates); | ||||
|                         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); | ||||
|                         } catch (Exception e) { | ||||
|                             LOG.error("wifiInetStateDbTableUpdate failed",e); | ||||
|                         } | ||||
|  | ||||
|                         // delete first | ||||
|                         extIntegrationInterface.wifiInetStateDbTableUpdate(inetStateDelete, key); | ||||
|  | ||||
|                         // now process updates and mutations | ||||
|                         extIntegrationInterface.wifiInetStateDbTableUpdate(inetStateInsertOrUpdate, key); | ||||
|  | ||||
|                     } | ||||
|  | ||||
|                 }); | ||||
| @@ -651,15 +630,11 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.wifiRadioStateDbTable + "_" + key + " monitor callback received {}", | ||||
|                                     tableUpdates); | ||||
|                         LOG.info(OvsdbDao.wifiRadioStateDbTable + "_" + key + " monitor callback received {}", | ||||
|                                 tableUpdates); | ||||
|  | ||||
|                             extIntegrationInterface.wifiRadioStatusDbTableUpdate( | ||||
|                                     ovsdbDao.getOpensyncAPRadioState(tableUpdates, key, ovsdbClient), key); | ||||
|                         } catch (Exception e) { | ||||
|                             LOG.error("wifiRadioStatusDbTableUpdate failed",e); | ||||
|                         } | ||||
|                         extIntegrationInterface.wifiRadioStatusDbTableUpdate( | ||||
|                                 ovsdbDao.getOpensyncAPRadioState(tableUpdates, key, ovsdbClient), key); | ||||
|                     } | ||||
|  | ||||
|                 }); | ||||
| @@ -676,42 +651,38 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface { | ||||
|  | ||||
|                     @Override | ||||
|                     public void update(TableUpdates tableUpdates) { | ||||
|                         try { | ||||
|                             LOG.info(OvsdbDao.wifiVifStateDbTable + "_" + key + " monitor callback received {}", | ||||
|                                     tableUpdates); | ||||
|                         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); | ||||
|                                 } | ||||
|  | ||||
|                             } | ||||
|                         } catch (Exception e) { | ||||
|                             LOG.error("wifiVIFStateDbTableUpdate failed", e); | ||||
|  | ||||
|                             // delete first, if required | ||||
|                             if (!vifsToDelete.isEmpty()) { | ||||
|                                 extIntegrationInterface.wifiVIFStateDbTableDelete(vifsToDelete, key); | ||||
|                             } | ||||
|                             if (!vifsToInsertOrUpdate.isEmpty()) { | ||||
|                                 extIntegrationInterface.wifiVIFStateDbTableUpdate(vifsToInsertOrUpdate, key); | ||||
|                             } | ||||
|  | ||||
|                         } | ||||
|  | ||||
|                     } | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -8,11 +8,8 @@ import java.util.Set; | ||||
|  | ||||
| import com.vmware.ovsdb.protocol.operation.notation.Uuid; | ||||
|  | ||||
| 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 class WifiVifConfigInfo implements Cloneable{ | ||||
|      | ||||
|     public String bridge; | ||||
|     public int btm; | ||||
|     public boolean enabled; | ||||
| @@ -25,109 +22,65 @@ public class WifiVifConfigInfo implements Cloneable { | ||||
|     public String ssidBroadcast; | ||||
|     public boolean uapsdEnable; | ||||
|     public int vifRadioIdx; | ||||
|     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 Map<String,String> security; | ||||
|              | ||||
|     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) { | ||||
|             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); | ||||
|         return Objects.hash(apBridge, bridge, btm, enabled, ftMobilityDomain, ftPsk, groupRekey, ifName, macList, | ||||
|                 macListType, minHwMode, mode, rrm, security, ssid, ssidBroadcast, uapsdEnable, uuid, vifRadioIdx, | ||||
|                 vlanId); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public boolean equals(Object obj) { | ||||
|         if (this == obj) | ||||
|         if (this == obj) { | ||||
|             return true; | ||||
|         if (obj == null) | ||||
|             return false; | ||||
|         if (getClass() != obj.getClass()) | ||||
|         } | ||||
|         if (!(obj instanceof WifiVifConfigInfo)) { | ||||
|             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(minHwMode, other.minHwMode) && Objects.equals(mode, other.mode) && 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); | ||||
|                 && Objects.equals(uuid, other.uuid) && vifRadioIdx == other.vifRadioIdx && vlanId == other.vlanId; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         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 + "]"; | ||||
|         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); | ||||
|     } | ||||
|  | ||||
|      | ||||
| } | ||||
| @@ -1,4 +1,4 @@ | ||||
| package com.telecominfraproject.wlan.opensync.util; | ||||
| package com.telecominfraproject.wlan.opensync.ovsdb.dao.utilities; | ||||
| 
 | ||||
| 
 | ||||
| public class OvsdbStringConstants { | ||||
| @@ -1,4 +1,4 @@ | ||||
| package com.telecominfraproject.wlan.opensync.util; | ||||
| package com.telecominfraproject.wlan.opensync.ovsdb.dao.utilities; | ||||
| 
 | ||||
| import com.telecominfraproject.wlan.client.models.ClientType; | ||||
| import com.telecominfraproject.wlan.core.model.equipment.RadioType; | ||||
| @@ -126,7 +126,7 @@ public class OpensyncGatewayTipWlanOvsdbClientTest { | ||||
|         Mockito.verify(ovsdbSessionMapInterface).getSession("Test_Client_21P10C68818122"); | ||||
|         Mockito.verify(ovsdbSession).getOvsdbClient(); | ||||
|         Mockito.verify(opensyncExternalIntegrationInterface).getApConfig("Test_Client_21P10C68818122"); | ||||
|         Mockito.verify(ovsdbDao).removeAllSsids(ovsdbClient); | ||||
|         Mockito.verify(ovsdbDao).removeAllSsids(ovsdbClient, apConfig); | ||||
|         Mockito.verify(ovsdbDao).removeAllStatsConfigs(ovsdbClient); | ||||
|         Mockito.verify(ovsdbDao).configureWifiRadios(ovsdbClient, apConfig); | ||||
|         Mockito.verify(ovsdbDao).configureSsids(ovsdbClient, apConfig); | ||||
|   | ||||
| @@ -142,6 +142,48 @@ public class OvsdbDaoTest { | ||||
|         mockito.finishMocking(); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testRemoveAllGreTunnels() 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.removeAllGreTunnels(ovsdbClient, apConfig); | ||||
|  | ||||
|         Mockito.verify(apConfig, Mockito.times(2)).getApProfile(); | ||||
|         Mockito.verify(ovsdbClient, Mockito.times(1)).transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList()); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testRemoveAllGreTunnelsNoProfile() 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); | ||||
|  | ||||
|         ovsdbDao.removeAllGreTunnels(ovsdbClient, null); | ||||
|  | ||||
|         Mockito.verify(ovsdbClient, Mockito.times(1)).transact(Mockito.eq(OvsdbDao.ovsdbName), Mockito.anyList()); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testConfigureGreTunnels() throws Exception { | ||||
|         List<Row> rows = new ArrayList<>(); | ||||
| @@ -297,7 +339,7 @@ public class OvsdbDaoTest { | ||||
|  | ||||
|         ovsdbDao.configureHotspots(ovsdbClient, apConfig); | ||||
|  | ||||
|         Mockito.verify(futureResult, Mockito.times(13)).get(Mockito.anyLong(), Mockito.eq(TimeUnit.SECONDS)); | ||||
|         Mockito.verify(futureResult, Mockito.times(11)).get(Mockito.anyLong(), Mockito.eq(TimeUnit.SECONDS)); | ||||
|  | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -12,6 +12,7 @@ import java.util.Set; | ||||
| import java.util.UUID; | ||||
|  | ||||
| import com.telecominfraproject.wlan.core.model.equipment.RadioType; | ||||
| import com.telecominfraproject.wlan.customer.models.Customer; | ||||
| import com.telecominfraproject.wlan.profile.models.Profile; | ||||
| import com.telecominfraproject.wlan.profile.models.ProfileType; | ||||
| import com.telecominfraproject.wlan.profile.network.models.ApNetworkConfiguration; | ||||
| @@ -40,37 +41,35 @@ 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) { | ||||
|  | ||||
|     // 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, | ||||
| @@ -88,18 +87,15 @@ public class OvsdbDaoTestUtilities { | ||||
|         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); | ||||
|         Set<String> providerNames = new HashSet<>(); | ||||
|         providerNames.add(hotspot20IdProviderProfile.getName()); | ||||
|         providerNames.add(hotspot20IdProviderProfile2.getName()); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()).setIdProviderProfileNames(providerNames); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()) | ||||
|                 .setPasspointOperatorProfileId(passpointOperatorProfile.getId()); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()) | ||||
|                 .setPasspointVenueProfileId(passpointVenueProfile.getId()); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()).setOsuSsidProfileId(profileSsidOpen.getId()); | ||||
|                 .setOperatorProfileName(passpointOperatorProfile.getName()); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()).setVenueProfileName(passpointVenueProfile.getName()); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()).setOsuSsidName(profileSsidOpen.getName()); | ||||
|         profileSsidPsk.getChildProfileIds().add(passpointHotspotConfig.getId()); | ||||
|         ((PasspointProfile) passpointHotspotConfig.getDetails()) | ||||
|                 .setAssociatedAccessSsidProfileIds(List.of(profileSsidPsk.getId())); | ||||
|         return passpointHotspotConfig; | ||||
|     } | ||||
|  | ||||
| @@ -121,13 +117,14 @@ public class OvsdbDaoTestUtilities { | ||||
|         mccMncList.add(passpointMccMnc); | ||||
|         Set<String> naiRealms = new HashSet<>(); | ||||
|         naiRealms.add(naiRealm); | ||||
|         naiRealm.split("."); | ||||
|         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, | ||||
|                 naiRealms, "https://example.com/osu/" + naiRealm.split(".com")[0], naiRealm.split(".com")[0], naiRealm, | ||||
|                 roamingOi); | ||||
|         return hotspot20IdProviderProfile; | ||||
|     } | ||||
| @@ -308,8 +305,7 @@ public class OvsdbDaoTestUtilities { | ||||
|         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"), | ||||
|                 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( | ||||
| @@ -326,8 +322,8 @@ public class OvsdbDaoTestUtilities { | ||||
|                 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_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", | ||||
| @@ -412,6 +408,7 @@ public class OvsdbDaoTestUtilities { | ||||
|         return operationResult; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     static OperationResult[] hs20IconRows() { | ||||
|         List<Row> ret = new ArrayList<>(); | ||||
|  | ||||
| @@ -517,11 +514,12 @@ public class OvsdbDaoTestUtilities { | ||||
|  | ||||
|         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); | ||||
| @@ -544,5 +542,6 @@ public class OvsdbDaoTestUtilities { | ||||
|         profileRadius.setDetails(radiusDetails); | ||||
|         return profileRadius; | ||||
|     } | ||||
|  | ||||
|      | ||||
|      | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user