From ab491a079ba4ab85ffef35d14c0767eba01455d8 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 15 一月 2025 09:18:36 +0800
Subject: [PATCH] 切正式服

---
 src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 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 1373530..afdbb49 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java
@@ -39,10 +39,10 @@
 
 	private final Map<String, SipProviderImpl> tcpSipProviderMap = new ConcurrentHashMap<>();
 	private final Map<String, SipProviderImpl> udpSipProviderMap = new ConcurrentHashMap<>();
+	private final List<String> monitorIps = new ArrayList<>();
 
 	@Override
 	public void run(String... args) {
-		List<String> monitorIps = new ArrayList<>();
 		if (ObjectUtils.isEmpty(sipConfig.getIp())) {
 			try {
 				// 鑾峰緱鏈満鐨勬墍鏈夌綉缁滄帴鍙�
@@ -60,7 +60,7 @@
 							if (nif.getName().startsWith("docker")) {
 								continue;
 							}
-							logger.error("[鑷姩閰嶇疆SIP鐩戝惉缃戝崱] 缃戝崱鎺ュ彛鍦板潃锛� {}", addr.getHostAddress());// 鍙叧蹇� IPv4 鍦板潃
+							logger.info("[鑷姩閰嶇疆SIP鐩戝惉缃戝崱] 缃戝崱鎺ュ彛鍦板潃锛� {}", addr.getHostAddress());// 鍙叧蹇� IPv4 鍦板潃
 							monitorIps.add(addr.getHostAddress());
 						}
 					}
@@ -82,7 +82,9 @@
 				monitorIps.add(sipConfig.getIp());
 			}
 		}
-		sipConfig.setShowIp(String.join(",", monitorIps));
+		if (ObjectUtils.isEmpty(sipConfig.getShowIp())){
+			sipConfig.setShowIp(String.join(",", monitorIps));
+		}
 		SipFactory.getInstance().setPathName("gov.nist");
 		if (monitorIps.size() > 0) {
 			for (String monitorIp : monitorIps) {
@@ -139,6 +141,9 @@
 	}
 
 	public SipProviderImpl getUdpSipProvider(String ip) {
+		if (udpSipProviderMap.size() == 1) {
+			return udpSipProviderMap.values().stream().findFirst().get();
+		}
 		if (ObjectUtils.isEmpty(ip)) {
 			return null;
 		}
@@ -160,6 +165,9 @@
 	}
 
 	public SipProviderImpl getTcpSipProvider(String ip) {
+		if (tcpSipProviderMap.size() == 1) {
+			return tcpSipProviderMap.values().stream().findFirst().get();
+		}
 		if (ObjectUtils.isEmpty(ip)) {
 			return null;
 		}
@@ -167,6 +175,9 @@
 	}
 
 	public String getLocalIp(String deviceLocalIp) {
+		if (monitorIps.size() == 1) {
+			return monitorIps.get(0);
+		}
 		if (!ObjectUtils.isEmpty(deviceLocalIp)) {
 			return deviceLocalIp;
 		}

--
Gitblit v1.8.0