648540858
2022-06-03 19a52a20f358b22211dde9da9d25b65c9cbaddcf
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
@@ -715,12 +715,10 @@
            }
            dialog = streamSession.getDialogByStream(ssrcTransaction.getDeviceId(), ssrcTransaction.getChannelId(), ssrcTransaction.getStream());
         }
         if (ssrcTransaction != null) {
            MediaServerItem mediaServerItem = mediaServerService.getOne(ssrcTransaction.getMediaServerId());
            mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcTransaction.getSsrc());
            mediaServerService.closeRTPServer(ssrcTransaction.getDeviceId(), ssrcTransaction.getChannelId(), ssrcTransaction.getStream());
            streamSession.remove(ssrcTransaction.getDeviceId(), ssrcTransaction.getChannelId(), ssrcTransaction.getStream());
         }
         MediaServerItem mediaServerItem = mediaServerService.getOne(ssrcTransaction.getMediaServerId());
         mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcTransaction.getSsrc());
         mediaServerService.closeRTPServer(ssrcTransaction.getDeviceId(), ssrcTransaction.getChannelId(), ssrcTransaction.getStream());
         streamSession.remove(ssrcTransaction.getDeviceId(), ssrcTransaction.getChannelId(), ssrcTransaction.getStream());
         if (dialog == null) {
            logger.warn("[ {} -> {}]停止视频流的时候发现对话已丢失", ssrcTransaction.getDeviceId(), ssrcTransaction.getChannelId());
@@ -1489,7 +1487,6 @@
         Request request;
         if (dialog != null) {
            logger.info("发送移动位置订阅消息时 dialog的状态为: {}", dialog.getState());
            request = dialog.createRequest(Request.SUBSCRIBE);
            ContentTypeHeader contentTypeHeader = sipFactory.createHeaderFactory().createContentTypeHeader("Application", "MANSCDP+xml");
            request.setContent(subscribePostitionXml.toString(), contentTypeHeader);
@@ -1585,12 +1582,12 @@
         Request request;
         if (dialog != null) {
            logger.info("发送目录订阅消息时 dialog的状态为: {}", dialog.getState());
            request = dialog.createRequest(Request.SUBSCRIBE);
            ExpiresHeader expiresHeader = sipFactory.createHeaderFactory().createExpiresHeader(device.getSubscribeCycleForCatalog());
            request.setExpires(expiresHeader);
            ContentTypeHeader contentTypeHeader = sipFactory.createHeaderFactory().createContentTypeHeader("Application", "MANSCDP+xml");
            request.setContent(cmdXml.toString(), contentTypeHeader);
            ExpiresHeader expireHeader = sipFactory.createHeaderFactory().createExpiresHeader(device.getSubscribeCycleForMobilePosition());
            request.addHeader(expireHeader);
         }else {
            String tm = Long.toString(System.currentTimeMillis());