Commit af5171fd1974a2f732fedf52ebee13276d08751c

Authored by xp.Huang
2 parents b0e349c6 61dd22b6

Merge branch 'master_dev_gtb0323' into 'master_dev'

Revert "fix(DEFECT-1963): temp"

See merge request yunteng/thingskit!375
Showing 20 changed files with 56 additions and 117 deletions
@@ -23,11 +23,13 @@ import org.thingsboard.server.common.data.yunteng.dto.sip.StreamContentDTO; @@ -23,11 +23,13 @@ import org.thingsboard.server.common.data.yunteng.dto.sip.StreamContentDTO;
23 import org.thingsboard.server.common.data.yunteng.enums.PTZCommandEnum; 23 import org.thingsboard.server.common.data.yunteng.enums.PTZCommandEnum;
24 import org.thingsboard.server.common.data.yunteng.utils.tools.ResponseResult; 24 import org.thingsboard.server.common.data.yunteng.utils.tools.ResponseResult;
25 import org.thingsboard.server.controller.BaseController; 25 import org.thingsboard.server.controller.BaseController;
  26 +import org.thingsboard.server.queue.util.TbCoreComponent;
26 import org.thingsboard.server.service.yunteng.media.TkVideoControlService; 27 import org.thingsboard.server.service.yunteng.media.TkVideoControlService;
27 28
28 @RestController 29 @RestController
29 @RequestMapping("api/yt/video/control") 30 @RequestMapping("api/yt/video/control")
30 @Api(tags = {"视频控制管理"}) 31 @Api(tags = {"视频控制管理"})
  32 +@TbCoreComponent
31 @RequiredArgsConstructor 33 @RequiredArgsConstructor
32 @Slf4j 34 @Slf4j
33 public class TkVideoControlController extends BaseController { 35 public class TkVideoControlController extends BaseController {
@@ -16,10 +16,12 @@ import org.thingsboard.server.common.data.yunteng.dto.sip.hook.param.*; @@ -16,10 +16,12 @@ import org.thingsboard.server.common.data.yunteng.dto.sip.hook.param.*;
16 import org.thingsboard.server.controller.BaseController; 16 import org.thingsboard.server.controller.BaseController;
17 import org.thingsboard.server.dao.yunteng.service.media.TkMediaServerService; 17 import org.thingsboard.server.dao.yunteng.service.media.TkMediaServerService;
18 import org.thingsboard.server.dao.yunteng.service.media.TkVideoChannelService; 18 import org.thingsboard.server.dao.yunteng.service.media.TkVideoChannelService;
  19 +import org.thingsboard.server.queue.util.TbCoreComponent;
19 import org.thingsboard.server.service.yunteng.media.TkVideoControlService; 20 import org.thingsboard.server.service.yunteng.media.TkVideoControlService;
20 21
21 /** ZLMediaServer的hook事件监听 */ 22 /** ZLMediaServer的hook事件监听 */
22 @RestController 23 @RestController
  24 +@TbCoreComponent
23 @RequestMapping("api/index/hook") 25 @RequestMapping("api/index/hook")
24 @Api(tags = {"ZLMediaServer的hook事件监听"}) 26 @Api(tags = {"ZLMediaServer的hook事件监听"})
25 @RequiredArgsConstructor 27 @RequiredArgsConstructor
@@ -39,10 +39,12 @@ import org.thingsboard.server.common.msg.rpc.ToDeviceRpcRequest; @@ -39,10 +39,12 @@ import org.thingsboard.server.common.msg.rpc.ToDeviceRpcRequest;
39 import org.thingsboard.server.dao.util.yunteng.ZLMediaKitTaskUtils; 39 import org.thingsboard.server.dao.util.yunteng.ZLMediaKitTaskUtils;
40 import org.thingsboard.server.dao.yunteng.service.TkDeviceService; 40 import org.thingsboard.server.dao.yunteng.service.TkDeviceService;
41 import org.thingsboard.server.dao.yunteng.service.media.*; 41 import org.thingsboard.server.dao.yunteng.service.media.*;
  42 +import org.thingsboard.server.queue.util.TbCoreComponent;
42 import org.thingsboard.server.service.rpc.TbCoreDeviceRpcService; 43 import org.thingsboard.server.service.rpc.TbCoreDeviceRpcService;
43 import org.thingsboard.server.service.security.model.SecurityUser; 44 import org.thingsboard.server.service.security.model.SecurityUser;
44 45
45 @Service 46 @Service
  47 +@TbCoreComponent
46 @RequiredArgsConstructor 48 @RequiredArgsConstructor
47 @Slf4j 49 @Slf4j
48 public class TkVideoControlServiceImpl implements TkVideoControlService { 50 public class TkVideoControlServiceImpl implements TkVideoControlService {
1 -package org.thingsboard.server.transport.config;  
2 -  
3 -import lombok.Data;  
4 -import org.springframework.beans.factory.annotation.Value;  
5 -import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;  
6 -import org.springframework.stereotype.Component;  
7 -  
8 -@Component  
9 -@ConditionalOnExpression(  
10 - "'${service.type:null}'=='tb-transport' || ('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true' && '${transport.gbt28181.enabled}'=='true')")  
11 -@Data  
12 -public class ThingsKitVersionConfig {  
13 - @Value("${thingskit.release.version}")  
14 - private String releaseVersion;  
15 -  
16 - @Value("${thingskit.release.date}")  
17 - private String releaseDate;  
18 -}  
common/transport/gbt28181/src/main/java/org/thingsboard/server/transport/gbt28181/cmd/AbstractSIPRequestProcess.java renamed from common/transport/gbt28181/src/main/java/org/thingsboard/server/transport/cmd/AbstractSIPRequestProcess.java
1 -package org.thingsboard.server.transport.cmd; 1 +package org.thingsboard.server.transport.gbt28181.cmd;
2 2
3 import java.text.ParseException; 3 import java.text.ParseException;
4 import java.util.ArrayList; 4 import java.util.ArrayList;
@@ -10,13 +10,11 @@ import javax.sip.address.AddressFactory; @@ -10,13 +10,11 @@ import javax.sip.address.AddressFactory;
10 import javax.sip.address.SipURI; 10 import javax.sip.address.SipURI;
11 import javax.sip.header.*; 11 import javax.sip.header.*;
12 import org.springframework.beans.factory.annotation.Autowired; 12 import org.springframework.beans.factory.annotation.Autowired;
13 -import org.thingsboard.server.transport.config.SipConfig;  
14 -import org.thingsboard.server.transport.config.ThingsKitVersionConfig; 13 +import org.thingsboard.server.transport.gbt28181.config.SipConfig;
15 import org.thingsboard.server.transport.gbt28181.sip.SipTransportService; 14 import org.thingsboard.server.transport.gbt28181.sip.SipTransportService;
16 15
17 public abstract class AbstractSIPRequestProcess { 16 public abstract class AbstractSIPRequestProcess {
18 @Autowired private SipConfig sipConfig; 17 @Autowired private SipConfig sipConfig;
19 - @Autowired protected ThingsKitVersionConfig thingsKitVersionConfig;  
20 18
21 protected static SipFactory sipFactory = SipFactory.getInstance(); 19 protected static SipFactory sipFactory = SipFactory.getInstance();
22 20
common/transport/gbt28181/src/main/java/org/thingsboard/server/transport/gbt28181/cmd/SIPRequestHeaderProcess.java renamed from common/transport/gbt28181/src/main/java/org/thingsboard/server/transport/cmd/SIPRequestHeaderProcess.java
1 -package org.thingsboard.server.transport.cmd; 1 +package org.thingsboard.server.transport.gbt28181.cmd;
2 2
3 import gov.nist.javax.sip.header.SIPDateHeader; 3 import gov.nist.javax.sip.header.SIPDateHeader;
4 import gov.nist.javax.sip.message.SIPRequest; 4 import gov.nist.javax.sip.message.SIPRequest;
@@ -19,7 +19,7 @@ import javax.sip.message.Response; @@ -19,7 +19,7 @@ import javax.sip.message.Response;
19 import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; 19 import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
20 import org.springframework.stereotype.Component; 20 import org.springframework.stereotype.Component;
21 import org.thingsboard.server.common.data.yunteng.dto.sip.SipMessageHeaderDTO; 21 import org.thingsboard.server.common.data.yunteng.dto.sip.SipMessageHeaderDTO;
22 -import org.thingsboard.server.transport.session.GbtDeviceSessionCtx; 22 +import org.thingsboard.server.transport.gbt28181.session.GbtDeviceSessionCtx;
23 import org.thingsboard.server.transport.util.TKSipUtils; 23 import org.thingsboard.server.transport.util.TKSipUtils;
24 24
25 @Component 25 @Component
@@ -168,7 +168,7 @@ public class SIPRequestHeaderProcess extends AbstractSIPRequestProcess { @@ -168,7 +168,7 @@ public class SIPRequestHeaderProcess extends AbstractSIPRequestProcess {
168 viaHeaders, 168 viaHeaders,
169 maxForwards); 169 maxForwards);
170 170
171 - request.addHeader(TKSipUtils.createUserAgentHeader(thingsKitVersionConfig)); 171 + request.addHeader(TKSipUtils.createUserAgentHeader());
172 172
173 ContactHeader contactHeader = buildMessageHeaderContact(localIp); 173 ContactHeader contactHeader = buildMessageHeaderContact(localIp);
174 request.addHeader(contactHeader); 174 request.addHeader(contactHeader);
@@ -213,7 +213,7 @@ public class SIPRequestHeaderProcess extends AbstractSIPRequestProcess { @@ -213,7 +213,7 @@ public class SIPRequestHeaderProcess extends AbstractSIPRequestProcess {
213 toHeader, 213 toHeader,
214 viaHeaders, 214 viaHeaders,
215 maxForwards); 215 maxForwards);
216 - request.addHeader(TKSipUtils.createUserAgentHeader(thingsKitVersionConfig)); 216 + request.addHeader(TKSipUtils.createUserAgentHeader());
217 return request; 217 return request;
218 } 218 }
219 } 219 }
common/transport/gbt28181/src/main/java/org/thingsboard/server/transport/gbt28181/cmd/SIPSender.java renamed from common/transport/gbt28181/src/main/java/org/thingsboard/server/transport/cmd/SIPSender.java
1 -package org.thingsboard.server.transport.cmd; 1 +package org.thingsboard.server.transport.gbt28181.cmd;
2 2
3 import gov.nist.javax.sip.SipProviderImpl; 3 import gov.nist.javax.sip.SipProviderImpl;
4 import java.text.ParseException; 4 import java.text.ParseException;
@@ -14,9 +14,8 @@ import org.springframework.beans.factory.annotation.Autowired; @@ -14,9 +14,8 @@ import org.springframework.beans.factory.annotation.Autowired;
14 import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; 14 import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
15 import org.springframework.stereotype.Component; 15 import org.springframework.stereotype.Component;
16 import org.springframework.util.ObjectUtils; 16 import org.springframework.util.ObjectUtils;
17 -import org.thingsboard.server.transport.config.ThingsKitVersionConfig;  
18 -import org.thingsboard.server.transport.gbt28181.sip.SipTransportService;  
19 import org.thingsboard.server.transport.gbt28181.SipSubscribe; 17 import org.thingsboard.server.transport.gbt28181.SipSubscribe;
  18 +import org.thingsboard.server.transport.gbt28181.sip.SipTransportService;
20 import org.thingsboard.server.transport.util.TKSipUtils; 19 import org.thingsboard.server.transport.util.TKSipUtils;
21 20
22 /** 发送SIP信息 */ 21 /** 发送SIP信息 */
@@ -27,7 +26,6 @@ import org.thingsboard.server.transport.util.TKSipUtils; @@ -27,7 +26,6 @@ import org.thingsboard.server.transport.util.TKSipUtils;
27 public class SIPSender { 26 public class SIPSender {
28 27
29 @Autowired private SipSubscribe sipSubscribe; 28 @Autowired private SipSubscribe sipSubscribe;
30 - @Autowired private ThingsKitVersionConfig thingsKitVersionConfig;  
31 29
32 private static final String TCP = "TCP"; 30 private static final String TCP = "TCP";
33 private static final String UDP = "UDP"; 31 private static final String UDP = "UDP";
@@ -54,7 +52,7 @@ public class SIPSender { @@ -54,7 +52,7 @@ public class SIPSender {
54 } 52 }
55 if (message.getHeader(UserAgentHeader.NAME) == null) { 53 if (message.getHeader(UserAgentHeader.NAME) == null) {
56 try { 54 try {
57 - message.addHeader(TKSipUtils.createUserAgentHeader(thingsKitVersionConfig)); 55 + message.addHeader(TKSipUtils.createUserAgentHeader());
58 } catch (ParseException e) { 56 } catch (ParseException e) {
59 log.error("添加UserAgentHeader失败", e); 57 log.error("添加UserAgentHeader失败", e);
60 } 58 }
common/transport/gbt28181/src/main/java/org/thingsboard/server/transport/gbt28181/cmd/TKSipCommanderService.java renamed from common/transport/gbt28181/src/main/java/org/thingsboard/server/transport/cmd/TKSipCommanderService.java
1 -package org.thingsboard.server.transport.cmd; 1 +package org.thingsboard.server.transport.gbt28181.cmd;
2 2
3 import java.text.ParseException; 3 import java.text.ParseException;
4 import javax.sip.InvalidArgumentException; 4 import javax.sip.InvalidArgumentException;
5 -import javax.sip.PeerUnavailableException;  
6 import javax.sip.SipException; 5 import javax.sip.SipException;
7 import org.thingsboard.server.common.data.yunteng.dto.sip.*; 6 import org.thingsboard.server.common.data.yunteng.dto.sip.*;
8 import org.thingsboard.server.transport.gbt28181.SipSubscribe; 7 import org.thingsboard.server.transport.gbt28181.SipSubscribe;
9 -import org.thingsboard.server.transport.session.GbtDeviceSessionCtx; 8 +import org.thingsboard.server.transport.gbt28181.session.GbtDeviceSessionCtx;
10 9
11 public interface TKSipCommanderService { 10 public interface TKSipCommanderService {
12 /** 11 /**
common/transport/gbt28181/src/main/java/org/thingsboard/server/transport/gbt28181/cmd/TKSipCommanderServiceImpl.java renamed from common/transport/gbt28181/src/main/java/org/thingsboard/server/transport/cmd/TKSipCommanderServiceImpl.java
1 -package org.thingsboard.server.transport.cmd; 1 +package org.thingsboard.server.transport.gbt28181.cmd;
2 2
3 import java.text.ParseException; 3 import java.text.ParseException;
4 import javax.sip.InvalidArgumentException; 4 import javax.sip.InvalidArgumentException;
@@ -15,7 +15,7 @@ import org.thingsboard.server.common.data.yunteng.dto.sip.*; @@ -15,7 +15,7 @@ import org.thingsboard.server.common.data.yunteng.dto.sip.*;
15 import org.thingsboard.server.common.data.yunteng.enums.VideoCmdEnum; 15 import org.thingsboard.server.common.data.yunteng.enums.VideoCmdEnum;
16 import org.thingsboard.server.transport.gbt28181.sip.SipTransportService; 16 import org.thingsboard.server.transport.gbt28181.sip.SipTransportService;
17 import org.thingsboard.server.transport.gbt28181.SipSubscribe; 17 import org.thingsboard.server.transport.gbt28181.SipSubscribe;
18 -import org.thingsboard.server.transport.session.GbtDeviceSessionCtx; 18 +import org.thingsboard.server.transport.gbt28181.session.GbtDeviceSessionCtx;
19 import org.thingsboard.server.transport.util.TKSipUtils; 19 import org.thingsboard.server.transport.util.TKSipUtils;
20 20
21 @Service 21 @Service
common/transport/gbt28181/src/main/java/org/thingsboard/server/transport/gbt28181/config/MediaConfig.java renamed from common/transport/gbt28181/src/main/java/org/thingsboard/server/transport/config/MediaConfig.java
1 -package org.thingsboard.server.transport.config; 1 +package org.thingsboard.server.transport.gbt28181.config;
2 2
3 import java.io.Serializable; 3 import java.io.Serializable;
4 import lombok.Data; 4 import lombok.Data;
common/transport/gbt28181/src/main/java/org/thingsboard/server/transport/gbt28181/config/SipConfig.java renamed from common/transport/gbt28181/src/main/java/org/thingsboard/server/transport/config/SipConfig.java
1 -package org.thingsboard.server.transport.config; 1 +package org.thingsboard.server.transport.gbt28181.config;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; 4 import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
common/transport/gbt28181/src/main/java/org/thingsboard/server/transport/gbt28181/session/GbtDeviceSessionCtx.java renamed from common/transport/gbt28181/src/main/java/org/thingsboard/server/transport/session/GbtDeviceSessionCtx.java
1 -package org.thingsboard.server.transport.session; 1 +package org.thingsboard.server.transport.gbt28181.session;
2 2
3 import io.netty.util.ReferenceCountUtil; 3 import io.netty.util.ReferenceCountUtil;
4 4
@@ -21,27 +21,12 @@ import org.thingsboard.server.common.transport.TransportContext; @@ -21,27 +21,12 @@ import org.thingsboard.server.common.transport.TransportContext;
21 public class GbtTransportContext extends TransportContext { 21 public class GbtTransportContext extends TransportContext {
22 22
23 23
24 - @Getter  
25 - @Value("${transport.tcp.netty.max_payload_size}")  
26 - private Integer maxPayloadSize;  
27 24
28 - @Getter  
29 - @Value("${transport.tcp.ssl.skip_validity_check_for_client_cert:false}")  
30 - private boolean skipValidityCheckForClientCert;  
31 25
32 - @Getter @Setter private SslHandler sslHandler;  
33 26
34 - @Getter  
35 - @Value("${transport.tcp.msg_queue_size_per_device_limit:100}")  
36 - private int messageQueueSizePerDeviceLimit;  
37 27
38 - @Getter  
39 - @Value("${transport.tcp.timeout:10000}")  
40 - private long timeout;  
41 28
42 - @Getter  
43 - @Value("${transport.tcp.proxy_enabled:false}")  
44 - private boolean proxyEnabled; 29 +
45 30
46 private final AtomicInteger connectionsCounter = new AtomicInteger(); 31 private final AtomicInteger connectionsCounter = new AtomicInteger();
47 protected ScheduledExecutorService schedulerExecutor; 32 protected ScheduledExecutorService schedulerExecutor;
common/transport/gbt28181/src/main/java/org/thingsboard/server/transport/gbt28181/session/ParentPlatform.java renamed from common/transport/gbt28181/src/main/java/org/thingsboard/server/transport/session/ParentPlatform.java
1 -package org.thingsboard.server.transport.session; 1 +package org.thingsboard.server.transport.gbt28181.session;
2 2
3 3
4 import io.swagger.annotations.ApiModel; 4 import io.swagger.annotations.ApiModel;
@@ -19,29 +19,31 @@ import java.util.*; @@ -19,29 +19,31 @@ import java.util.*;
19 import java.util.concurrent.ConcurrentHashMap; 19 import java.util.concurrent.ConcurrentHashMap;
20 import javax.annotation.PostConstruct; 20 import javax.annotation.PostConstruct;
21 import javax.sip.*; 21 import javax.sip.*;
  22 +
  23 +import lombok.RequiredArgsConstructor;
22 import lombok.extern.slf4j.Slf4j; 24 import lombok.extern.slf4j.Slf4j;
23 -import org.springframework.beans.factory.annotation.Autowired;  
24 import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; 25 import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
25 import org.springframework.stereotype.Service; 26 import org.springframework.stereotype.Service;
26 import org.springframework.util.ObjectUtils; 27 import org.springframework.util.ObjectUtils;
27 import org.thingsboard.server.common.data.DataConstants; 28 import org.thingsboard.server.common.data.DataConstants;
28 import org.thingsboard.server.common.data.TbTransportService; 29 import org.thingsboard.server.common.data.TbTransportService;
29 import org.thingsboard.server.transport.gbt28181.sip.processor.SIPProvider; 30 import org.thingsboard.server.transport.gbt28181.sip.processor.SIPProvider;
30 -import org.thingsboard.server.transport.config.SipConfig; 31 +import org.thingsboard.server.transport.gbt28181.config.SipConfig;
31 32
32 /** 33 /**
33 * @author Andrew Shvayka 34 * @author Andrew Shvayka
34 */ 35 */
35 -@Service() 36 +@Service("SipTransportService")
  37 +@RequiredArgsConstructor
36 @ConditionalOnExpression( 38 @ConditionalOnExpression(
37 "'${service.type:null}'=='tb-transport' || ('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true' && '${transport.gbt28181.enabled}'=='true')") 39 "'${service.type:null}'=='tb-transport' || ('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true' && '${transport.gbt28181.enabled}'=='true')")
38 @Slf4j 40 @Slf4j
39 public class SipTransportService implements TbTransportService { 41 public class SipTransportService implements TbTransportService {
40 private static final Map<String, SipProviderImpl> tcpSipProviderMap = new ConcurrentHashMap<>(); 42 private static final Map<String, SipProviderImpl> tcpSipProviderMap = new ConcurrentHashMap<>();
41 private static final Map<String, SipProviderImpl> udpSipProviderMap = new ConcurrentHashMap<>(); 43 private static final Map<String, SipProviderImpl> udpSipProviderMap = new ConcurrentHashMap<>();
42 - @Autowired private SIPProvider sipProvider; 44 + private final SIPProvider sipProvider;
43 45
44 - @Autowired private SipConfig sipConfig; 46 + private final SipConfig sipConfig;
45 47
46 @PostConstruct 48 @PostConstruct
47 public void init() { 49 public void init() {
@@ -57,25 +57,23 @@ import org.thingsboard.server.common.transport.auth.ValidateDeviceCredentialsRes @@ -57,25 +57,23 @@ import org.thingsboard.server.common.transport.auth.ValidateDeviceCredentialsRes
57 import org.thingsboard.server.common.transport.util.DataDecodingEncodingService; 57 import org.thingsboard.server.common.transport.util.DataDecodingEncodingService;
58 import org.thingsboard.server.gen.transport.TransportProtos; 58 import org.thingsboard.server.gen.transport.TransportProtos;
59 import org.thingsboard.server.transport.gbt28181.session.GbtTransportContext; 59 import org.thingsboard.server.transport.gbt28181.session.GbtTransportContext;
60 -import org.thingsboard.server.transport.cmd.SIPRequestHeaderProcess;  
61 -import org.thingsboard.server.transport.cmd.TKSipCommanderService;  
62 -import org.thingsboard.server.transport.config.MediaConfig;  
63 -import org.thingsboard.server.transport.config.SipConfig; 60 +import org.thingsboard.server.transport.gbt28181.cmd.SIPRequestHeaderProcess;
  61 +import org.thingsboard.server.transport.gbt28181.cmd.TKSipCommanderService;
  62 +import org.thingsboard.server.transport.gbt28181.config.MediaConfig;
  63 +import org.thingsboard.server.transport.gbt28181.config.SipConfig;
64 import org.thingsboard.server.transport.gbt28181.*; 64 import org.thingsboard.server.transport.gbt28181.*;
65 import org.thingsboard.server.transport.gbt28181.auth.DigestServerAuthenticationHelper; 65 import org.thingsboard.server.transport.gbt28181.auth.DigestServerAuthenticationHelper;
66 -import org.thingsboard.server.transport.gbt28181.sip.ISIPRequestProcessor;  
67 -import org.thingsboard.server.transport.gbt28181.sip.ISIPResponseProcessor;  
68 import org.thingsboard.server.transport.gbt28181.auth.RemoteAddressInfo; 66 import org.thingsboard.server.transport.gbt28181.auth.RemoteAddressInfo;
69 -import org.thingsboard.server.transport.session.GbtDeviceSessionCtx; 67 +import org.thingsboard.server.transport.gbt28181.session.GbtDeviceSessionCtx;
70 import org.thingsboard.server.transport.util.TKSipUtils; 68 import org.thingsboard.server.transport.util.TKSipUtils;
71 import org.thingsboard.server.transport.util.TKXmlUtil; 69 import org.thingsboard.server.transport.util.TKXmlUtil;
72 70
73 /** SIP信令处理类观察者 */ 71 /** SIP信令处理类观察者 */
74 @Component 72 @Component
  73 +@RequiredArgsConstructor
75 @ConditionalOnExpression( 74 @ConditionalOnExpression(
76 "'${service.type:null}'=='tb-transport' || ('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true' && '${transport.gbt28181.enabled}'=='true')") 75 "'${service.type:null}'=='tb-transport' || ('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true' && '${transport.gbt28181.enabled}'=='true')")
77 @Slf4j 76 @Slf4j
78 -@RequiredArgsConstructor  
79 public class SIPProcessorObserver extends SIPRequestProcessorParent 77 public class SIPProcessorObserver extends SIPRequestProcessorParent
80 implements SIPProvider, SessionMsgListener { 78 implements SIPProvider, SessionMsgListener {
81 79
@@ -100,33 +98,14 @@ public class SIPProcessorObserver extends SIPRequestProcessorParent @@ -100,33 +98,14 @@ public class SIPProcessorObserver extends SIPRequestProcessorParent
100 98
101 private final ConcurrentHashMap<String, List<VideoChanelDTO>> deviceNewChanel = 99 private final ConcurrentHashMap<String, List<VideoChanelDTO>> deviceNewChanel =
102 new ConcurrentHashMap<>(); 100 new ConcurrentHashMap<>();
103 - private static final Map<String, ISIPRequestProcessor> requestProcessorMap =  
104 - new ConcurrentHashMap<>();  
105 - private static final Map<String, ISIPResponseProcessor> responseProcessorMap =  
106 - new ConcurrentHashMap<>(); 101 +
107 private static ITimeoutProcessor timeoutProcessor; 102 private static ITimeoutProcessor timeoutProcessor;
108 103
109 private final SipSubscribe sipSubscribe; 104 private final SipSubscribe sipSubscribe;
110 105
111 - /**  
112 - * 添加 request订阅  
113 - *  
114 - * @param method 方法名  
115 - * @param processor 处理程序  
116 - */  
117 - public void addRequestProcessor(String method, ISIPRequestProcessor processor) {  
118 - requestProcessorMap.put(method, processor);  
119 - }  
120 106
121 - /**  
122 - * 添加 response订阅  
123 - *  
124 - * @param method 方法名  
125 - * @param processor 处理程序  
126 - */  
127 - public void addResponseProcessor(String method, ISIPResponseProcessor processor) {  
128 - responseProcessorMap.put(method, processor);  
129 - } 107 +
  108 +
130 109
131 /** 110 /**
132 * 添加 超时事件订阅 111 * 添加 超时事件订阅
@@ -272,17 +251,17 @@ public class SIPProcessorObserver extends SIPRequestProcessorParent @@ -272,17 +251,17 @@ public class SIPProcessorObserver extends SIPRequestProcessorParent
272 if (sessionCtx == null) { 251 if (sessionCtx == null) {
273 return; 252 return;
274 } 253 }
275 - final int queueSize = sessionCtx.getMsgQueueSize();  
276 - if (queueSize >= context.getMessageQueueSizePerDeviceLimit()) {  
277 - log.info(  
278 - "Closing current session because msq queue size for device {} exceed limit {} with msgQueueSize counter {} and actual queue size {}",  
279 - sessionCtx.getDeviceId(),  
280 - context.getMessageQueueSizePerDeviceLimit(),  
281 - queueSize,  
282 - sessionCtx.getMsgQueueSize());  
283 -  
284 - return;  
285 - } 254 +// final int queueSize = sessionCtx.getMsgQueueSize();
  255 +// if (queueSize >= context.getMessageQueueSizePerDeviceLimit()) {
  256 +// log.info(
  257 +// "Closing current session because msq queue size for device {} exceed limit {} with msgQueueSize counter {} and actual queue size {}",
  258 +// sessionCtx.getDeviceId(),
  259 +// context.getMessageQueueSizePerDeviceLimit(),
  260 +// queueSize,
  261 +// sessionCtx.getMsgQueueSize());
  262 +//
  263 +// return;
  264 +// }
286 sessionCtx.addToQueue(evt); 265 sessionCtx.addToQueue(evt);
287 processMsgQueue( 266 processMsgQueue(
288 sessionCtx); // Under the normal conditions the msg queue will contain 0 messages. Many 267 sessionCtx); // Under the normal conditions the msg queue will contain 0 messages. Many
@@ -20,7 +20,7 @@ import org.dom4j.DocumentException; @@ -20,7 +20,7 @@ import org.dom4j.DocumentException;
20 import org.dom4j.Element; 20 import org.dom4j.Element;
21 import org.dom4j.io.SAXReader; 21 import org.dom4j.io.SAXReader;
22 import org.springframework.beans.factory.annotation.Autowired; 22 import org.springframework.beans.factory.annotation.Autowired;
23 -import org.thingsboard.server.transport.cmd.SIPSender; 23 +import org.thingsboard.server.transport.gbt28181.cmd.SIPSender;
24 import org.thingsboard.server.transport.util.TKSipUtils; 24 import org.thingsboard.server.transport.util.TKSipUtils;
25 25
26 /** 处理接收IPCamera发来的SIP协议请求消息 */ 26 /** 处理接收IPCamera发来的SIP协议请求消息 */
@@ -21,8 +21,8 @@ import org.thingsboard.server.common.data.yunteng.utils.DataUtils; @@ -21,8 +21,8 @@ import org.thingsboard.server.common.data.yunteng.utils.DataUtils;
21 import org.thingsboard.server.common.transport.TransportService; 21 import org.thingsboard.server.common.transport.TransportService;
22 import org.thingsboard.server.common.transport.util.DataDecodingEncodingService; 22 import org.thingsboard.server.common.transport.util.DataDecodingEncodingService;
23 import org.thingsboard.server.gen.transport.TransportProtos; 23 import org.thingsboard.server.gen.transport.TransportProtos;
24 -import org.thingsboard.server.transport.config.MediaConfig;  
25 -import org.thingsboard.server.transport.config.SipConfig; 24 +import org.thingsboard.server.transport.gbt28181.config.MediaConfig;
  25 +import org.thingsboard.server.transport.gbt28181.config.SipConfig;
26 26
27 @Component() 27 @Component()
28 @Slf4j 28 @Slf4j
@@ -12,7 +12,6 @@ import org.apache.commons.lang3.RandomStringUtils; @@ -12,7 +12,6 @@ import org.apache.commons.lang3.RandomStringUtils;
12 import org.springframework.util.ObjectUtils; 12 import org.springframework.util.ObjectUtils;
13 import org.thingsboard.server.common.data.yunteng.dto.sip.PTZCmdDTO; 13 import org.thingsboard.server.common.data.yunteng.dto.sip.PTZCmdDTO;
14 import org.thingsboard.server.common.data.yunteng.dto.sip.VideoChanelDTO; 14 import org.thingsboard.server.common.data.yunteng.dto.sip.VideoChanelDTO;
15 -import org.thingsboard.server.transport.config.ThingsKitVersionConfig;  
16 import org.thingsboard.server.transport.gbt28181.auth.RemoteAddressInfo; 15 import org.thingsboard.server.transport.gbt28181.auth.RemoteAddressInfo;
17 16
18 public class TKSipUtils { 17 public class TKSipUtils {
@@ -63,19 +62,10 @@ public class TKSipUtils { @@ -63,19 +62,10 @@ public class TKSipUtils {
63 return builder.toString(); 62 return builder.toString();
64 } 63 }
65 64
66 - public static UserAgentHeader createUserAgentHeader(ThingsKitVersionConfig config) 65 + public static UserAgentHeader createUserAgentHeader()
67 throws PeerUnavailableException, ParseException { 66 throws PeerUnavailableException, ParseException {
68 List<String> agentParam = new ArrayList<>(); 67 List<String> agentParam = new ArrayList<>();
69 agentParam.add("ThingsKit "); 68 agentParam.add("ThingsKit ");
70 - if (config != null) {  
71 - if (!ObjectUtils.isEmpty(config.getReleaseVersion())) {  
72 - agentParam.add("v");  
73 - agentParam.add(config.getReleaseVersion() + ".");  
74 - }  
75 - if (!ObjectUtils.isEmpty(config.getReleaseDate())) {  
76 - agentParam.add(config.getReleaseDate());  
77 - }  
78 - }  
79 return SipFactory.getInstance().createHeaderFactory().createUserAgentHeader(agentParam); 69 return SipFactory.getInstance().createHeaderFactory().createUserAgentHeader(agentParam);
80 } 70 }
81 71
@@ -21,7 +21,7 @@ import org.thingsboard.server.common.data.yunteng.dto.sip.VideoChanelDTO; @@ -21,7 +21,7 @@ import org.thingsboard.server.common.data.yunteng.dto.sip.VideoChanelDTO;
21 import org.thingsboard.server.common.data.yunteng.enums.StatusEnum; 21 import org.thingsboard.server.common.data.yunteng.enums.StatusEnum;
22 import org.thingsboard.server.common.data.yunteng.utils.DataUtils; 22 import org.thingsboard.server.common.data.yunteng.utils.DataUtils;
23 import org.thingsboard.server.common.data.yunteng.utils.JacksonUtil; 23 import org.thingsboard.server.common.data.yunteng.utils.JacksonUtil;
24 -import org.thingsboard.server.transport.session.GbtDeviceSessionCtx; 24 +import org.thingsboard.server.transport.gbt28181.session.GbtDeviceSessionCtx;
25 25
26 /** 基于dom4j的工具包 */ 26 /** 基于dom4j的工具包 */
27 @Slf4j 27 @Slf4j