|  | @@ -492,11 +492,8 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor {
 | 
	
		
			
				|  |  |  			String deviceId = SipUtils.getUserIdFromFromHeader(evt.getRequest());
 | 
	
		
			
				|  |  |  			// 查询设备是否存在
 | 
	
		
			
				|  |  |  			Device device = storager.queryVideoDevice(deviceId);
 | 
	
		
			
				|  |  | -			if (device == null) {
 | 
	
		
			
				|  |  | -				logger.warn("处理DeviceInfo设备信息Message时未找到设备信息");
 | 
	
		
			
				|  |  | -				response404Ack(evt);
 | 
	
		
			
				|  |  | -				return;
 | 
	
		
			
				|  |  | -			}
 | 
	
		
			
				|  |  | +			ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(deviceId);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  			Element rootElement = getRootElement(evt);
 | 
	
		
			
				|  |  |  			String requestName = rootElement.getName();
 | 
	
		
			
				|  |  |  			Element deviceIdElement = rootElement.element("DeviceID");
 | 
	
	
		
			
				|  | @@ -508,20 +505,20 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor {
 | 
	
		
			
				|  |  |  			if (requestName.equals("Query")) {
 | 
	
		
			
				|  |  |  				logger.info("接收到DeviceInfo查询消息");
 | 
	
		
			
				|  |  |  				FromHeader fromHeader = (FromHeader) evt.getRequest().getHeader(FromHeader.NAME);
 | 
	
		
			
				|  |  | -				String platformId = ((SipUri) fromHeader.getAddress().getURI()).getUser();
 | 
	
		
			
				|  |  | -					if (platformId == null) {
 | 
	
		
			
				|  |  | +				if (parentPlatform == null) {
 | 
	
		
			
				|  |  |  					response404Ack(evt);
 | 
	
		
			
				|  |  |  					return;
 | 
	
		
			
				|  |  |  				} else {
 | 
	
		
			
				|  |  |  					// 回复200 OK
 | 
	
		
			
				|  |  |  					responseAck(evt);
 | 
	
		
			
				|  |  |  					String sn = rootElement.element("SN").getText();
 | 
	
		
			
				|  |  | -					ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(platformId);
 | 
	
		
			
				|  |  |  					cmderFroPlatform.deviceInfoResponse(parentPlatform, sn, fromHeader.getTag());
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			} else {
 | 
	
		
			
				|  |  |  				logger.debug("接收到DeviceInfo应答消息");
 | 
	
		
			
				|  |  |  				if (device == null) {
 | 
	
		
			
				|  |  | +					logger.warn("处理DeviceInfo设备信息Message时未找到设备信息");
 | 
	
		
			
				|  |  | +					response404Ack(evt);
 | 
	
		
			
				|  |  |  					return;
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -561,11 +558,8 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor {
 | 
	
		
			
				|  |  |  			String deviceId = SipUtils.getUserIdFromFromHeader(evt.getRequest());
 | 
	
		
			
				|  |  |  			// 查询设备是否存在
 | 
	
		
			
				|  |  |  			Device device = storager.queryVideoDevice(deviceId);
 | 
	
		
			
				|  |  | -			if (device == null) {
 | 
	
		
			
				|  |  | -				logger.warn("处理DeviceInfo设备信息Message时未找到设备信息");
 | 
	
		
			
				|  |  | -				response404Ack(evt);
 | 
	
		
			
				|  |  | -				return;
 | 
	
		
			
				|  |  | -			}
 | 
	
		
			
				|  |  | +			ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(deviceId);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			Element rootElement = getRootElement(evt);
 | 
	
		
			
				|  |  |  			String name = rootElement.getName();
 | 
	
	
		
			
				|  | @@ -574,13 +568,8 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor {
 | 
	
		
			
				|  |  |  			Element deviceListElement = rootElement.element("DeviceList");
 | 
	
		
			
				|  |  |  			String key = DeferredResultHolder.CALLBACK_CMD_CATALOG + deviceId;
 | 
	
		
			
				|  |  |  			FromHeader fromHeader = (FromHeader) evt.getRequest().getHeader(FromHeader.NAME);
 | 
	
		
			
				|  |  | -			AddressImpl address = (AddressImpl) fromHeader.getAddress();
 | 
	
		
			
				|  |  | -			SipUri uri = (SipUri) address.getURI();
 | 
	
		
			
				|  |  | -			String platformId = uri.getUser();
 | 
	
		
			
				|  |  | -			// if (deviceListElement == null) { // 存在DeviceList则为响应 catalog, 不存在DeviceList则为查询请求
 | 
	
		
			
				|  |  |  			if (name.equalsIgnoreCase("Query")) { // 区分是Response——查询响应,还是Query——查询请求
 | 
	
		
			
				|  |  |  				// TODO 后续将代码拆分
 | 
	
		
			
				|  |  | -				ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(platformId);
 | 
	
		
			
				|  |  |  				if (parentPlatform == null) {
 | 
	
		
			
				|  |  |  					response404Ack(evt);
 | 
	
		
			
				|  |  |  					return;
 | 
	
	
		
			
				|  | @@ -634,6 +623,11 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			} else {
 | 
	
		
			
				|  |  | +				if (device == null) {
 | 
	
		
			
				|  |  | +					logger.warn("收到catalog设备目录列表请求时未找到设备信息");
 | 
	
		
			
				|  |  | +					response404Ack(evt);
 | 
	
		
			
				|  |  | +					return;
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  |  				deviceListElement = getRootElement(evt, device.getCharset()).element("DeviceList");
 | 
	
		
			
				|  |  |  				Iterator<Element> deviceListIterator = deviceListElement.elementIterator();
 | 
	
		
			
				|  |  |  				if (deviceListIterator != null) {
 |