Commit af5171fd1974a2f732fedf52ebee13276d08751c
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 { |
common/transport/gbt28181/src/main/java/org/thingsboard/server/transport/config/ThingsKitVersionConfig.java
deleted
100644 → 0
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
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
@@ -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
@@ -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 |