panlinlin
2020-12-28 00e61d9a80b5b013a75d1ce567dc997694577a45
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java
@@ -184,10 +184,11 @@
               DeviceChannel deviceChannel = new DeviceChannel();
               deviceChannel.setName(channelName);
               deviceChannel.setChannelId(channelDeviceId);
               if (status.equals("ON") || status.equals("On")) {
               // ONLINE OFFLINE  HIKVISION DS-7716N-E4 NVR的兼容性处理
               if (status.equals("ON") || status.equals("On") || status.equals("ONLINE")) {
                  deviceChannel.setStatus(1);
               }
               if (status.equals("OFF") || status.equals("Off")) {
               if (status.equals("OFF") || status.equals("Off") || status.equals("OFFLINE")) {
                  deviceChannel.setStatus(0);
               }
@@ -293,7 +294,7 @@
            device.setStreamMode("UDP");
         }
         storager.updateDevice(device);
         cmder.catalogQuery(device);
         cmder.catalogQuery(device, null);
         // 回复200 OK
         responseAck(evt);
         if (offLineDetector.isOnline(deviceId)) {
@@ -314,12 +315,16 @@
      try {
         Element rootElement = getRootElement(evt);
         String deviceId = XmlUtil.getText(rootElement, "DeviceID");
         // 回复200 OK
         responseAck(evt);
         if (offLineDetector.isOnline(deviceId)) {
            publisher.onlineEventPublish(deviceId, VideoManagerConstants.EVENT_ONLINE_KEEPLIVE);
         } else {
         // 检查设备是否存在, 不存在则不回复
         if (storager.exists(deviceId)) {
            // 回复200 OK
            responseAck(evt);
            if (offLineDetector.isOnline(deviceId)) {
               publisher.onlineEventPublish(deviceId, VideoManagerConstants.EVENT_ONLINE_KEEPLIVE);
            } else {
            }
         }
      } catch (ParseException | SipException | InvalidArgumentException | DocumentException e) {
         e.printStackTrace();
      }
@@ -449,7 +454,7 @@
            StreamInfo streamInfo = storager.queryPlaybackByDevice(deviceId, "*");
            if (streamInfo != null) {
               storager.stopPlayback(streamInfo);
               cmder.streamByeCmd(streamInfo.getSsrc());
               cmder.streamByeCmd(streamInfo.getStreamId());
            }
         }
      } catch (ParseException | SipException | InvalidArgumentException | DocumentException e) {