| 
					
				 | 
			
			
				@@ -131,16 +131,16 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     handleRecordCmd(deviceForPlatform,channelId,rootElement,request,DeviceControlType.RECORD); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 case I_FRAME: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    handleIFameCmd(deviceForPlatform,channelId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    handleIFameCmd(deviceForPlatform,request,channelId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 case TELE_BOOT: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    handleTeleBootCmd(deviceForPlatform); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    handleTeleBootCmd(deviceForPlatform,request); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 case DRAG_ZOOM_IN: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    handleDragZoom(deviceForPlatform,channelId,rootElement,DeviceControlType.DRAG_ZOOM_IN); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    handleDragZoom(deviceForPlatform,channelId,rootElement,request,DeviceControlType.DRAG_ZOOM_IN); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 case DRAG_ZOOM_OUT: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    handleDragZoom(deviceForPlatform,channelId,rootElement,DeviceControlType.DRAG_ZOOM_OUT); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    handleDragZoom(deviceForPlatform,channelId,rootElement,request,DeviceControlType.DRAG_ZOOM_OUT); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 case HOME_POSITION: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     handleHomePositionCmd(deviceForPlatform,channelId,rootElement,request,DeviceControlType.HOME_POSITION); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -167,7 +167,6 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } catch (InvalidArgumentException | SipException | ParseException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             logger.error("[命令发送失败] 云台/前端: {}", e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -175,9 +174,10 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param device 设备 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param channelId 通道id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private void handleIFameCmd(Device device,String channelId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void handleIFameCmd(Device device,SIPRequest request,String channelId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             cmder.iFrameCmd(device,channelId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            responseAck(request, Response.OK); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } catch (InvalidArgumentException | SipException | ParseException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             logger.error("[命令发送失败] 强制关键帧: {}", e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -187,9 +187,10 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 处理重启命令 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param device 设备信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private void handleTeleBootCmd(Device device){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void handleTeleBootCmd(Device device,SIPRequest request){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             cmder.teleBootCmd(device); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            responseAck(request, Response.OK); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } catch (InvalidArgumentException | SipException | ParseException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             logger.error("[命令发送失败] 重启: {}", e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -203,7 +204,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param rootElement 根节点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param type 消息类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private void handleDragZoom(Device device,String channelId,Element rootElement,DeviceControlType type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void handleDragZoom(Device device,String channelId,Element rootElement,SIPRequest request,DeviceControlType type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String cmdString = getText(rootElement,type.getVal()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         StringBuffer cmdXml = new StringBuffer(200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         cmdXml.append("<" + type.getVal() + ">\r\n"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -211,6 +212,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         cmdXml.append("</" + type.getVal() + ">\r\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             cmder.dragZoomCmd(device,channelId,cmdXml.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            responseAck(request, Response.OK); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } catch (InvalidArgumentException | SipException | ParseException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             logger.error("[命令发送失败] 拉框控制: {}", e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -255,7 +257,8 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             cmder.alarmCmd(device, alarmMethod,alarmType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    errorResult -> onError(request,errorResult)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    errorResult -> onError(request,errorResult), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    okResult -> onOk(request,okResult)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } catch (InvalidArgumentException | SipException | ParseException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             logger.error("[命令发送失败] 告警消息: {}", e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -274,7 +277,8 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String cmdString = getText(rootElement,type.getVal()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             cmder.recordCmd(device, channelId,cmdString, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    errorResult -> onError(request,errorResult)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    errorResult -> onError(request,errorResult), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    okResult -> onOk(request,okResult)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } catch (InvalidArgumentException | SipException | ParseException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             logger.error("[命令发送失败] 录像控制: {}", e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -292,7 +296,8 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String cmdString = getText(rootElement,type.getVal()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             cmder.guardCmd(device, cmdString, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    errorResult -> onError(request,errorResult)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    errorResult -> onError(request,errorResult), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    okResult -> onOk(request,okResult)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } catch (InvalidArgumentException | SipException | ParseException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             logger.error("[命令发送失败] 布防/撤防命令: {}", e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 |