From 82adc0cb23f3ee47322e78889cdaba57e9309000 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 21 三月 2023 15:55:24 +0800
Subject: [PATCH] 完善语音对讲级联

---
 src/main/java/com/genersoft/iot/vmp/media/zlm/dto/MediaServerItem.java |  129 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 102 insertions(+), 27 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/MediaServerItem.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/MediaServerItem.java
index b56881f..f3eb3d6 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/MediaServerItem.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/MediaServerItem.java
@@ -1,54 +1,98 @@
 package com.genersoft.iot.vmp.media.zlm.dto;
 
 
+import com.genersoft.iot.vmp.gb28181.session.SsrcConfig;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerConfig;
-import org.springframework.util.StringUtils;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.springframework.util.ObjectUtils;
 
-public class MediaServerItem implements IMediaServerItem{
+import java.util.HashMap;
 
+@Schema(description = "娴佸獟浣撴湇鍔′俊鎭�")
+public class MediaServerItem{
+
+    @Schema(description = "ID")
     private String id;
 
+    @Schema(description = "IP")
     private String ip;
 
+    @Schema(description = "hook浣跨敤鐨処P锛坺lm璁块棶WVP浣跨敤鐨処P锛�")
     private String hookIp;
 
+    @Schema(description = "SDP IP")
     private String sdpIp;
 
+    @Schema(description = "娴両P")
     private String streamIp;
 
+    @Schema(description = "HTTP绔彛")
     private int httpPort;
 
+    @Schema(description = "HTTPS绔彛")
     private int httpSSlPort;
 
+    @Schema(description = "RTMP绔彛")
     private int rtmpPort;
 
+    @Schema(description = "RTMPS绔彛")
     private int rtmpSSlPort;
 
+    @Schema(description = "RTP鏀舵祦绔彛锛堝崟绔彛妯″紡鏈夌敤锛�")
     private int rtpProxyPort;
 
+    @Schema(description = "RTSP绔彛")
     private int rtspPort;
 
+    @Schema(description = "RTSPS绔彛")
     private int rtspSSLPort;
 
+    @Schema(description = "鏄惁寮�鍚嚜鍔ㄩ厤缃甖LM")
     private boolean autoConfig;
 
+    @Schema(description = "ZLM閴存潈鍙傛暟")
     private String secret;
 
-    private String streamNoneReaderDelayMS;
+    @Schema(description = "keepalive hook瑙﹀彂闂撮殧,鍗曚綅绉�")
+    private Float hookAliveInterval;
 
+    @Schema(description = "鏄惁浣跨敤澶氱鍙fā寮�")
     private boolean rtpEnable;
 
+    @Schema(description = "鐘舵��")
+    private boolean status;
+
+    @Schema(description = "澶氱鍙TP鏀舵祦绔彛鑼冨洿")
     private String rtpPortRange;
 
+    @Schema(description = "assist鏈嶅姟绔彛")
     private int recordAssistPort;
 
+    @Schema(description = "鍒涘缓鏃堕棿")
     private String createTime;
 
+    @Schema(description = "鏇存柊鏃堕棿")
     private String updateTime;
 
-    private boolean docker;
+    @Schema(description = "涓婃蹇冭烦鏃堕棿")
+    private String lastKeepaliveTime;
 
-    private int count;
+    @Schema(description = "鏄惁鏄粯璁LM")
+    private boolean defaultServer;
+
+    @Schema(description = "SSRC淇℃伅")
+    private SsrcConfig ssrcConfig;
+
+    @Schema(description = "褰撳墠浣跨敤鍒扮殑绔彛")
+    private int currentPort;
+
+
+    /**
+     * 姣忎竴鍙癦LM閮芥湁涓�濂楃嫭绔嬬殑SSRC鍒楄〃
+     * 鍦ˋpplicationCheckRunner閲屽mediaServerSsrcMap杩涜鍒濆鍖�
+     */
+    @Schema(description = "ID")
+    private HashMap<String, SsrcConfig> mediaServerSsrcMap;
 
     public MediaServerItem() {
     }
@@ -56,9 +100,9 @@
     public MediaServerItem(ZLMServerConfig zlmServerConfig, String sipIp) {
         id = zlmServerConfig.getGeneralMediaServerId();
         ip = zlmServerConfig.getIp();
-        hookIp = StringUtils.isEmpty(zlmServerConfig.getHookIp())? sipIp: zlmServerConfig.getHookIp();
-        sdpIp = StringUtils.isEmpty(zlmServerConfig.getSdpIp())? zlmServerConfig.getIp(): zlmServerConfig.getSdpIp();
-        streamIp = StringUtils.isEmpty(zlmServerConfig.getStreamIp())? zlmServerConfig.getIp(): zlmServerConfig.getStreamIp();
+        hookIp = ObjectUtils.isEmpty(zlmServerConfig.getHookIp())? sipIp: zlmServerConfig.getHookIp();
+        sdpIp = ObjectUtils.isEmpty(zlmServerConfig.getSdpIp())? zlmServerConfig.getIp(): zlmServerConfig.getSdpIp();
+        streamIp = ObjectUtils.isEmpty(zlmServerConfig.getStreamIp())? zlmServerConfig.getIp(): zlmServerConfig.getStreamIp();
         httpPort = zlmServerConfig.getHttpPort();
         httpSSlPort = zlmServerConfig.getHttpSSLport();
         rtmpPort = zlmServerConfig.getRtmpPort();
@@ -68,8 +112,9 @@
         rtspSSLPort = zlmServerConfig.getRtspSSlport();
         autoConfig = true; // 榛樿鍊紅rue;
         secret = zlmServerConfig.getApiSecret();
-        streamNoneReaderDelayMS = zlmServerConfig.getGeneralStreamNoneReaderDelayMS();
+        hookAliveInterval = zlmServerConfig.getHookAliveInterval();
         rtpEnable = false; // 榛樿浣跨敤鍗曠鍙�;鐩村埌鐢ㄦ埛鑷繁璁剧疆寮�鍚绔彛
+        rtpPortRange = zlmServerConfig.getPortRange().replace("_",","); // 榛樿浣跨敤30000,30500浣滀负绾ц仈鏃跺彂閫佹祦鐨勭鍙e彿
         recordAssistPort = 0; // 榛樿鍏抽棴
 
     }
@@ -186,14 +231,6 @@
         this.secret = secret;
     }
 
-    public String getStreamNoneReaderDelayMS() {
-        return streamNoneReaderDelayMS;
-    }
-
-    public void setStreamNoneReaderDelayMS(String streamNoneReaderDelayMS) {
-        this.streamNoneReaderDelayMS = streamNoneReaderDelayMS;
-    }
-
     public boolean isRtpEnable() {
         return rtpEnable;
     }
@@ -218,14 +255,12 @@
         this.recordAssistPort = recordAssistPort;
     }
 
-    @Override
-    public boolean isDocker() {
-        return docker;
+    public boolean isDefaultServer() {
+        return defaultServer;
     }
 
-    @Override
-    public void setDocker(boolean docker) {
-        this.docker = docker;
+    public void setDefaultServer(boolean defaultServer) {
+        this.defaultServer = defaultServer;
     }
 
     public String getCreateTime() {
@@ -244,11 +279,51 @@
         this.updateTime = updateTime;
     }
 
-    public int getCount() {
-        return count;
+    public HashMap<String, SsrcConfig> getMediaServerSsrcMap() {
+        return mediaServerSsrcMap;
     }
 
-    public void setCount(int count) {
-        this.count = count;
+    public void setMediaServerSsrcMap(HashMap<String, SsrcConfig> mediaServerSsrcMap) {
+        this.mediaServerSsrcMap = mediaServerSsrcMap;
+    }
+
+    public SsrcConfig getSsrcConfig() {
+        return ssrcConfig;
+    }
+
+    public void setSsrcConfig(SsrcConfig ssrcConfig) {
+        this.ssrcConfig = ssrcConfig;
+    }
+
+    public int getCurrentPort() {
+        return currentPort;
+    }
+
+    public void setCurrentPort(int currentPort) {
+        this.currentPort = currentPort;
+    }
+
+    public boolean isStatus() {
+        return status;
+    }
+
+    public void setStatus(boolean status) {
+        this.status = status;
+    }
+
+    public String getLastKeepaliveTime() {
+        return lastKeepaliveTime;
+    }
+
+    public void setLastKeepaliveTime(String lastKeepaliveTime) {
+        this.lastKeepaliveTime = lastKeepaliveTime;
+    }
+
+    public Float getHookAliveInterval() {
+        return hookAliveInterval;
+    }
+
+    public void setHookAliveInterval(Float hookAliveInterval) {
+        this.hookAliveInterval = hookAliveInterval;
     }
 }

--
Gitblit v1.8.0