From 2b3b7dbc7973def2342eecd8caf7514f0a367c1b Mon Sep 17 00:00:00 2001 From: panlinlin <648540858@qq.com> Date: 星期五, 16 四月 2021 17:52:30 +0800 Subject: [PATCH] 使用设备Id+通道Id作为session的识别标识,解决点播异常时无法释放session的问题 --- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java index 8176f45..6306a98 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java @@ -40,7 +40,7 @@ import com.genersoft.iot.vmp.utils.GpsUtil; import com.genersoft.iot.vmp.utils.SpringBeanFactory; import com.genersoft.iot.vmp.utils.redis.RedisUtil; -import com.genersoft.iot.vmp.vmanager.platform.bean.ChannelReduce; +import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce; import gov.nist.javax.sip.SipStackImpl; import gov.nist.javax.sip.address.AddressImpl; @@ -238,7 +238,7 @@ // 鍥炲200 OK responseAck(evt); String sn = rootElement.element("SN").getText(); - ParentPlatform parentPlatform = storager.queryParentPlatById(platformId); + ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(platformId); cmderFroPlatform.deviceStatusResponse(parentPlatform, sn, fromHeader.getTag()); } } else { @@ -303,7 +303,7 @@ if (deviceId.equals(targetGBId)) { // 杩滅▼鍚姩鏈钩鍙帮細闇�瑕佸湪閲嶆柊鍚姩绋嬪簭鍚庡厛瀵筍ipStack瑙g粦 logger.info("鎵ц杩滅▼鍚姩鏈钩鍙板懡浠�"); - ParentPlatform parentPlatform = storager.queryParentPlatById(platformId); + ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(platformId); cmderFroPlatform.unregister(parentPlatform, null, null); Thread restartThread = new Thread(new Runnable() { @@ -463,7 +463,7 @@ // 鍥炲200 OK responseAck(evt); String sn = rootElement.element("SN").getText(); - ParentPlatform parentPlatform = storager.queryParentPlatById(platformId); + ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(platformId); cmderFroPlatform.deviceInfoResponse(parentPlatform, sn, fromHeader.getTag()); } } else { @@ -517,7 +517,7 @@ // if (deviceListElement == null) { // 瀛樺湪DeviceList鍒欎负鍝嶅簲 catalog锛� 涓嶅瓨鍦―eviceList鍒欎负鏌ヨ璇锋眰 if (name.equalsIgnoreCase("Query")) { // 鍖哄垎鏄疪esponse鈥斺�旀煡璇㈠搷搴旓紝杩樻槸Query鈥斺�旀煡璇㈣姹� // TODO 鍚庣画灏嗕唬鐮佹媶鍒� - ParentPlatform parentPlatform = storager.queryParentPlatById(platformId); + ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(platformId); if (parentPlatform == null) { response404Ack(evt); return; @@ -549,7 +549,7 @@ deviceChannel.setLatitude(gbStream.getLatitude()); deviceChannel.setDeviceId(parentPlatform.getDeviceGBId()); deviceChannel.setManufacture("wvp-pro"); - deviceChannel.setStatus(1); + deviceChannel.setStatus(gbStream.isStatus()?1:0); // deviceChannel.setParentId(parentPlatform.getDeviceGBId()); deviceChannel.setRegisterWay(1); deviceChannel.setCivilCode(cmder.getSipConfig().getSipDomain()); @@ -922,7 +922,7 @@ StreamInfo streamInfo = redisCatchStorage.queryPlaybackByDevice(deviceId, "*"); if (streamInfo != null) { redisCatchStorage.stopPlayback(streamInfo); - cmder.streamByeCmd(streamInfo.getStreamId()); + cmder.streamByeCmd(streamInfo.getDeviceID(), streamInfo.getChannelId()); } } } catch (ParseException | SipException | InvalidArgumentException | DocumentException e) { -- Gitblit v1.8.0