From 335916f1f15eb9d0b34dea38cacee2300eac0606 Mon Sep 17 00:00:00 2001
From: 李防 <liguofang0703@126.com>
Date: 星期一, 07 三月 2022 14:20:27 +0800
Subject: [PATCH] InviteRequestProcessor类中,channelid从invite消息的header subject获取,不再从第一行request line获取。原因是和第三方平台对接时,发送的invite消息第一行为国标平台编码而不是设备通道编码,导致报错通道不存在,返回404。

---
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/SubscribeRequestProcessor.java |   10 +++++-----
 1 files changed, 5 insertions(+), 5 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
index 8d0bdd2..a2c6cbf 100644
--- 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
@@ -4,6 +4,7 @@
 import com.genersoft.iot.vmp.conf.DynamicTask;
 import com.genersoft.iot.vmp.conf.UserSetup;
 import com.genersoft.iot.vmp.gb28181.bean.CmdType;
+import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
 import com.genersoft.iot.vmp.gb28181.bean.SubscribeInfo;
 import com.genersoft.iot.vmp.gb28181.task.GPSSubscribeTask;
 import com.genersoft.iot.vmp.gb28181.transmit.SIPProcessorObserver;
@@ -105,9 +106,6 @@
 					logger.info("processRequest serverTransactionId is null.");
 				}
 			}
-
-
-
 		} catch (ParseException e) {
 			e.printStackTrace();
 		} catch (SipException e) {
@@ -155,7 +153,8 @@
 
 
 		try {
-			Response response = responseXmlAck(evt, resultXml.toString());
+			ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(platformId);
+			Response response = responseXmlAck(evt, resultXml.toString(), parentPlatform);
 			ToHeader toHeader = (ToHeader)response.getHeader(ToHeader.NAME);
 			subscribeInfo.setToTag(toHeader.getTag());
 			redisCatchStorage.updateSubscribe(key, subscribeInfo);
@@ -196,7 +195,8 @@
 		}
 
 		try {
-			Response response = responseXmlAck(evt, resultXml.toString());
+			ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(platformId);
+			Response response = responseXmlAck(evt, resultXml.toString(), parentPlatform);
 			ToHeader toHeader = (ToHeader)response.getHeader(ToHeader.NAME);
 			subscribeInfo.setToTag(toHeader.getTag());
 			redisCatchStorage.updateSubscribe(key, subscribeInfo);

--
Gitblit v1.8.0