|  | @@ -56,7 +56,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private SIPSender sipSender;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private SIPRequestHeaderProvider headerProvider;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -180,7 +180,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          ptzXml.append("<ControlPriority>5</ControlPriority>\r\n");
 | 
	
		
			
				|  |  |          ptzXml.append("</Info>\r\n");
 | 
	
		
			
				|  |  |          ptzXml.append("</Control>\r\n");
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null, sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()),request);
 | 
	
	
		
			
				|  | @@ -243,8 +243,8 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          ptzXml.append("<ControlPriority>5</ControlPriority>\r\n");
 | 
	
		
			
				|  |  |          ptzXml.append("</Info>\r\n");
 | 
	
		
			
				|  |  |          ptzXml.append("</Control>\r\n");
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |          sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()),request, errorEvent, okEvent);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -364,8 +364,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public void playbackStreamCmd(MediaServerItem mediaServerItem, SSRCInfo ssrcInfo, Device device, String channelId,
 | 
	
		
			
				|  |  | -                                  String startTime, String endTime,
 | 
	
		
			
				|  |  | -                                  InviteStreamCallback inviteStreamCallback, InviteStreamCallback hookEvent,
 | 
	
		
			
				|  |  | +                                  String startTime, String endTime, InviteStreamCallback inviteStreamCallback, InviteStreamCallback hookEvent,
 | 
	
		
			
				|  |  |                                    SipSubscribe.Event okEvent, SipSubscribe.Event errorEvent) throws InvalidArgumentException, SipException, ParseException {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -411,8 +410,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |                  content.append("a=setup:active\r\n");
 | 
	
		
			
				|  |  |                  content.append("a=connection:new\r\n");
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -        } else
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  |              if ("TCP-PASSIVE".equalsIgnoreCase(streamMode)) {
 | 
	
		
			
				|  |  |                  content.append("m=video " + ssrcInfo.getPort() + " TCP/RTP/AVP 96 97 98 99\r\n");
 | 
	
		
			
				|  |  |              } else if ("TCP-ACTIVE".equalsIgnoreCase(streamMode)) {
 | 
	
	
		
			
				|  | @@ -543,11 +541,10 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          content.append("a=downloadspeed:" + downloadSpeed + "\r\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          content.append("y=" + ssrcInfo.getSsrc() + "\r\n");//ssrc
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |          HookSubscribeForStreamChange hookSubscribe = HookSubscribeFactory.on_stream_changed("rtp", ssrcInfo.getStream(), true, null, mediaServerItem.getId());
 | 
	
		
			
				|  |  |          // 添加订阅
 | 
	
		
			
				|  |  | -        subscribe.addSubscribe(hookSubscribe, (MediaServerItem mediaServerItemInUse, JSONObject json) ->
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | +        subscribe.addSubscribe(hookSubscribe, (MediaServerItem mediaServerItemInUse, JSONObject json) -> {
 | 
	
		
			
				|  |  |              hookEvent.call(new InviteStreamInfo(mediaServerItem, json,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()).getCallId(), "rtp", ssrcInfo.getStream()));
 | 
	
		
			
				|  |  |              subscribe.removeSubscribe(hookSubscribe);
 | 
	
		
			
				|  |  |              hookSubscribe.getContent().put("regist", false);
 | 
	
	
		
			
				|  | @@ -632,7 +629,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          broadcastXml.append("<TargetID>" + device.getDeviceId() + "</TargetID>\r\n");
 | 
	
		
			
				|  |  |          broadcastXml.append("</Notify>\r\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, broadcastXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |          sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()), request);
 | 
	
	
		
			
				|  | @@ -652,7 +649,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          broadcastXml.append("<TargetID>" + device.getDeviceId() + "</TargetID>\r\n");
 | 
	
		
			
				|  |  |          broadcastXml.append("</Notify>\r\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, broadcastXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |          sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()), request, errorEvent);
 | 
	
	
		
			
				|  | @@ -683,7 +680,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          cmdXml.append("<RecordCmd>" + recordCmdStr + "</RecordCmd>\r\n");
 | 
	
		
			
				|  |  |          cmdXml.append("</Control>\r\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |          sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()), request, errorEvent,okEvent);
 | 
	
	
		
			
				|  | @@ -707,7 +704,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          cmdXml.append("<TeleBoot>Boot</TeleBoot>\r\n");
 | 
	
		
			
				|  |  |          cmdXml.append("</Control>\r\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |          sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()), request);
 | 
	
	
		
			
				|  | @@ -766,7 +763,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          cmdXml.append("</Control>\r\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |          sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()), request, errorEvent,okEvent);
 | 
	
	
		
			
				|  | @@ -795,7 +792,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          cmdXml.append("<IFameCmd>Send</IFameCmd>\r\n");
 | 
	
		
			
				|  |  |          cmdXml.append("</Control>\r\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |          sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()), request);
 | 
	
	
		
			
				|  | @@ -843,7 +840,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          cmdXml.append("</HomePosition>\r\n");
 | 
	
		
			
				|  |  |          cmdXml.append("</Control>\r\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |          sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()), request, errorEvent,okEvent);
 | 
	
	
		
			
				|  | @@ -906,7 +903,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          cmdXml.append("</BasicParam>\r\n");
 | 
	
		
			
				|  |  |          cmdXml.append("</Control>\r\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |          sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()), request, errorEvent);
 | 
	
	
		
			
				|  | @@ -929,7 +926,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          catalogXml.append("<DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
 | 
	
		
			
				|  |  |          catalogXml.append("</Query>\r\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -953,7 +950,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          catalogXml.append("<DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
 | 
	
		
			
				|  |  |          catalogXml.append("</Query>\r\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -978,7 +975,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          catalogXml.append("  <DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
 | 
	
		
			
				|  |  |          catalogXml.append("</Query>\r\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1023,7 +1020,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          recordInfoXml.append("</Query>\r\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, recordInfoXml.toString(),
 | 
	
		
			
				|  |  |                  SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
	
		
			
				|  | @@ -1074,7 +1071,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          cmdXml.append("</Query>\r\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |          sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()), request, errorEvent);
 | 
	
	
		
			
				|  | @@ -1104,7 +1101,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          cmdXml.append("<ConfigType>" + configType + "</ConfigType>\r\n");
 | 
	
		
			
				|  |  |          cmdXml.append("</Query>\r\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |          sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()), request, errorEvent);
 | 
	
	
		
			
				|  | @@ -1131,7 +1128,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          cmdXml.append("</Query>\r\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |          sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()), request, errorEvent);
 | 
	
	
		
			
				|  | @@ -1155,7 +1152,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          mobilePostitionXml.append("<Interval>60</Interval>\r\n");
 | 
	
		
			
				|  |  |          mobilePostitionXml.append("</Query>\r\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, mobilePostitionXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1240,7 +1237,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          cmdXml.append("</Query>\r\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Request request = headerProvider.createSubscribeRequest(device, cmdXml.toString(), null, expires, "presence",sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |          sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()), request);
 | 
	
	
		
			
				|  | @@ -1290,14 +1287,14 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          dragXml.append(cmdString);
 | 
	
		
			
				|  |  |          dragXml.append("</Control>\r\n");
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, dragXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |          logger.debug("拉框信令: " + request.toString());
 | 
	
		
			
				|  |  |          sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()),request);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
	
		
			
				|  | @@ -1401,7 +1398,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |          deviceStatusXml.append("</info>\r\n");
 | 
	
		
			
				|  |  |          deviceStatusXml.append("</Notify>\r\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |          Request request = headerProvider.createMessageRequest(device, deviceStatusXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()));
 | 
	
		
			
				|  |  |          sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()),request);
 | 
	
		
			
				|  |  |  
 |