From 07a8ef9e256c70a3a5b15782add81dcad1e2ffc2 Mon Sep 17 00:00:00 2001
From: panlinlin <648540858@qq.com>
Date: 星期五, 14 六月 2024 00:03:57 +0800
Subject: [PATCH] SIP只有一个监听时,直接返回

---
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/SubscribeRequestProcessor.java |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/SubscribeRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/SubscribeRequestProcessor.java
old mode 100644
new mode 100755
index 207a792..c392a12
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/SubscribeRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/SubscribeRequestProcessor.java
@@ -13,6 +13,7 @@
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent;
 import com.genersoft.iot.vmp.gb28181.utils.SipUtils;
 import com.genersoft.iot.vmp.gb28181.utils.XmlUtil;
+import com.genersoft.iot.vmp.service.IPlatformService;
 import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
 import gov.nist.javax.sip.message.SIPRequest;
 import gov.nist.javax.sip.message.SIPResponse;
@@ -52,6 +53,10 @@
 
 	@Autowired
 	private SIPSender sipSender;
+
+
+	@Autowired
+	private IPlatformService platformService;
 
 	@Override
 	public void afterPropertiesSet() throws Exception {
@@ -142,7 +147,9 @@
 				subscribeHolder.removeMobilePositionSubscribe(platformId);
 			}else {
 				subscribeInfo.setResponse(response);
-				subscribeHolder.putMobilePositionSubscribe(platformId, subscribeInfo);
+				subscribeHolder.putMobilePositionSubscribe(platformId, subscribeInfo, ()->{
+					platformService.sendNotifyMobilePosition(platformId);
+				});
 			}
 
 		} catch (SipException | InvalidArgumentException | ParseException e) {
@@ -194,5 +201,8 @@
 		} catch (SipException | InvalidArgumentException | ParseException e) {
 			logger.error("鏈鐞嗙殑寮傚父 ", e);
 		}
+		if (subscribeHolder.getCatalogSubscribe(platformId) == null && platform.isAutoPushChannel()) {
+			platformService.addSimulatedSubscribeInfo(platform);
+		}
 	}
 }

--
Gitblit v1.8.0