| 
					
				 | 
			
			
				@@ -106,6 +106,14 @@ let ctrlBtnColumns = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let _cctvServerUrl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const _iceServerMap = new Map(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+getDataAsync("/api/database/strm_ice_svr", (data)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (data && data.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data.forEach((obj)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _iceServerMap.set(obj.svr_ip, obj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $(()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //모달 화면 설정 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $("body").append(modalDiv); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -137,9 +145,6 @@ $(()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             enabled: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             pageSize: 1000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        selection : { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            mode  : 'single', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         scrolling: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             mode: 'standard', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -570,9 +575,6 @@ function getPresetDiv(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             enabled: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             pageSize: 1000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        selection : { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            mode  : 'single', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         scrolling: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             mode: 'standard', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -866,9 +868,6 @@ function getSubTitleDiv(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // headerFilter: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //     visible: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        selection  : { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            mode :'single' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         keyExpr : ['cctv_ctrl_id', 'sect_id'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         paging: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             enabled: false, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1202,7 +1201,6 @@ function fetchBaseData(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     getData('/api/cctv/common/cctv-list', listData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     getData('/api/cctv/monitoring/stts', sttsData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     getData('/api/cctv/pset', presetData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (listData[0].length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         listData[0].map((item)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (item.last_crct_dt) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1275,12 +1273,23 @@ function listTableClick(info){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     _presetList.option('dataSource', data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const videoBox = $('.video-box'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     videoBox.css('background-color', 'black'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (_selectedVideo){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $('#video').stop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        videoBox.empty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        videoBox.append($('<video id="video" class="mont-body" autoplay playsinline muted></video>')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    videoBox.empty() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const iceInfo = _iceServerMap.get(selectedData.web_rtc_svr_ip); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (iceInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const {svr_ip, svr_prot, svr_port, svr_id, svr_pswd} = iceInfo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const obj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ID : selectedData.cctv_ctlr_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            NAME : selectedData.istl_lctn_nm, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            local_ice_svr : svr_prot + ":" + svr_ip + ":" + svr_port, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            local_ice_id : svr_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            local_ice_pswd : svr_pswd, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rtc_id : selectedData.rtc_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rtc_svr_ip : selectedData.rtc_svr_ip, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rtc_svr_port : selectedData.rtc_svr_port, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const objStr = encodeURIComponent(JSON.stringify(obj)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        videoBox.html(`<iframe src="/application/op/99.common/video.html?info=${objStr}" width="100%" height="100%"></iframe>`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    _selectedVideo = webRtcConnector(selectedData, videoBox, "video"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     _presetList.option('focusedRowIndex', -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     _presetList.clearSelection(); 
			 |