From 6e4d9d9749fa7edc8956c047317ee8e6b912e1c1 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 27 十二月 2022 09:44:35 +0800
Subject: [PATCH] Merge pull request #711 from Lyon1994/patch-1
---
src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java b/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java
index f3c8bed..24b88e5 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java
@@ -11,6 +11,7 @@
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
+import org.springframework.util.ObjectUtils;
import javax.sip.*;
import java.util.*;
@@ -27,8 +28,6 @@
@Autowired
private ISIPProcessorObserver sipProcessorObserver;
-
-
private final Map<String, SipProviderImpl> tcpSipProviderMap = new ConcurrentHashMap<>();
private final Map<String, SipProviderImpl> udpSipProviderMap = new ConcurrentHashMap<>();
@@ -71,6 +70,7 @@
try {
ListeningPoint tcpListeningPoint = sipStack.createListeningPoint(monitorIp, port, "TCP");
SipProviderImpl tcpSipProvider = (SipProviderImpl)sipStack.createSipProvider(tcpListeningPoint);
+
tcpSipProvider.setDialogErrorsAutomaticallyHandled();
tcpSipProvider.addSipListener(sipProcessorObserver);
tcpSipProviderMap.put(monitorIp, tcpSipProvider);
@@ -107,6 +107,9 @@
}
public SipProviderImpl getUdpSipProvider(String ip) {
+ if (ObjectUtils.isEmpty(ip)) {
+ return null;
+ }
return udpSipProviderMap.get(ip);
}
@@ -125,6 +128,16 @@
}
public SipProviderImpl getTcpSipProvider(String ip) {
+ if (ObjectUtils.isEmpty(ip)) {
+ return null;
+ }
return tcpSipProviderMap.get(ip);
}
+
+ public String getLocalIp(String deviceLocalIp) {
+ if (!ObjectUtils.isEmpty(deviceLocalIp)) {
+ return deviceLocalIp;
+ }
+ return getUdpSipProvider().getListeningPoint().getIPAddress();
+ }
}
--
Gitblit v1.8.0