From c5eca3ca0e485493ddce990e970436e008d23693 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: Wed, 12 Feb 2025 22:55:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dsip=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E8=AE=A2=E9=98=85=E4=BA=8B=E4=BB=B6=E7=A7=BB=E9=99=A4=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/genersoft/iot/vmp/conf/SipConfig.java | 2 +- .../iot/vmp/gb28181/transmit/SIPProcessorObserver.java | 4 ++-- .../com/genersoft/iot/vmp/gb28181/transmit/SIPSender.java | 6 ++++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/conf/SipConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/SipConfig.java index 68fc5ab2c..67c926e61 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/SipConfig.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/SipConfig.java @@ -34,5 +34,5 @@ public class SipConfig { private boolean alarm = false; - private long timeout = 15; + private long timeout = 150; } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/SIPProcessorObserver.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/SIPProcessorObserver.java index dfb7a5d82..b7892dbd3 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/SIPProcessorObserver.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/SIPProcessorObserver.java @@ -94,7 +94,7 @@ public class SIPProcessorObserver implements ISIPProcessorObserver { SipSubscribe.EventResult eventResult = new SipSubscribe.EventResult<>(responseEvent); sipEvent.getOkEvent().response(eventResult); } - sipSubscribe.removeSubscribe(callIdHeader.getCallId()); + sipSubscribe.removeSubscribe(callIdHeader.getCallId() + cSeqHeader.getSeqNumber()); } } } @@ -118,7 +118,7 @@ public class SIPProcessorObserver implements ISIPProcessorObserver { SipSubscribe.EventResult eventResult = new SipSubscribe.EventResult<>(responseEvent); sipEvent.getErrorEvent().response(eventResult); } - sipSubscribe.removeSubscribe(callIdHeader.getCallId()); + sipSubscribe.removeSubscribe(callIdHeader.getCallId() + cSeqHeader.getSeqNumber()); } } } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/SIPSender.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/SIPSender.java index f033f53ed..39a294164 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/SIPSender.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/SIPSender.java @@ -75,12 +75,14 @@ public class SIPSender { CSeqHeader cSeqHeader = (CSeqHeader) message.getHeader(CSeqHeader.NAME); String key = callIdHeader.getCallId() + cSeqHeader.getSeqNumber(); SipEvent sipEvent = SipEvent.getInstance(key, eventResult -> { - sipSubscribe.removeSubscribe(callIdHeader.getCallId()); + log.info("success"); + sipSubscribe.removeSubscribe(key); if(okEvent != null) { okEvent.response(eventResult); } }, (eventResult -> { - sipSubscribe.removeSubscribe(callIdHeader.getCallId()); + log.info("eror"); + sipSubscribe.removeSubscribe(key); if (errorEvent != null) { errorEvent.response(eventResult); }