From 243edbd14369cf8be80008056320aa809612cdc0 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期五, 09 九月 2022 23:19:19 +0800 Subject: [PATCH] 为User-Agent添加必要的版本信息 --- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/response/impl/InviteResponseProcessor.java | 6 ++ src/main/java/com/genersoft/iot/vmp/utils/GitUtil.java | 15 +++++++ src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java | 22 +++++++++- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java | 8 +++- src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java | 10 +++- src/main/java/com/genersoft/iot/vmp/VManageBootstrap.java | 13 ++++++ src/main/resources/application-dev.yml | 6 --- src/main/resources/all-application.yml | 6 --- src/main/resources/application-docker.yml | 7 --- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderPlarformProvider.java | 9 +++- pom.xml | 6 ++- src/main/resources/banner.txt | 2 - 12 files changed, 76 insertions(+), 34 deletions(-) diff --git a/pom.xml b/pom.xml index 71dd948..25bdb81 100644 --- a/pom.xml +++ b/pom.xml @@ -263,14 +263,16 @@ </configuration> </plugin> - <!-- <plugin> + <plugin> <groupId>pl.project13.maven</groupId> <artifactId>git-commit-id-plugin</artifactId> <version>3.0.1</version> <configuration> <offline>true</offline> + <failOnNoGitDirectory>false</failOnNoGitDirectory> + <dateFormat>yyyyMMdd</dateFormat> </configuration> - </plugin>--> + </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> diff --git a/src/main/java/com/genersoft/iot/vmp/VManageBootstrap.java b/src/main/java/com/genersoft/iot/vmp/VManageBootstrap.java index 21002c4..af3340d 100644 --- a/src/main/java/com/genersoft/iot/vmp/VManageBootstrap.java +++ b/src/main/java/com/genersoft/iot/vmp/VManageBootstrap.java @@ -3,6 +3,12 @@ import java.util.logging.LogManager; import com.genersoft.iot.vmp.conf.druid.EnableDruidSupport; +import com.genersoft.iot.vmp.storager.impl.RedisCatchStorageImpl; +import com.genersoft.iot.vmp.utils.GitUtil; +import com.genersoft.iot.vmp.utils.SpringBeanFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; @@ -17,11 +23,18 @@ @EnableScheduling @EnableDruidSupport public class VManageBootstrap extends LogManager { + + private final static Logger logger = LoggerFactory.getLogger(VManageBootstrap.class); + private static String[] args; private static ConfigurableApplicationContext context; public static void main(String[] args) { VManageBootstrap.args = args; VManageBootstrap.context = SpringApplication.run(VManageBootstrap.class, args); + GitUtil gitUtil1 = SpringBeanFactory.getBean("gitUtil"); + logger.info("鏋勫缓鐗堟湰锛� {}", gitUtil1.getBuildVersion()); + logger.info("鏋勫缓鏃堕棿锛� {}", gitUtil1.getBuildDate()); + logger.info("GIT鏈�鍚庢彁浜ゆ椂闂达細 {}", gitUtil1.getCommitTime()); } // 椤圭洰閲嶅惎 public static void restart() { diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderPlarformProvider.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderPlarformProvider.java index 2f3be35..6ee3cce 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderPlarformProvider.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderPlarformProvider.java @@ -4,6 +4,7 @@ import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform; import com.genersoft.iot.vmp.gb28181.utils.SipUtils; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; +import com.genersoft.iot.vmp.utils.GitUtil; import gov.nist.javax.sip.message.MessageFactoryImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -33,6 +34,9 @@ @Autowired private SipFactory sipFactory; + + @Autowired + private GitUtil gitUtil; @Autowired private IRedisCatchStorage redisCatchStorage; @@ -72,8 +76,7 @@ ExpiresHeader expires = sipFactory.createHeaderFactory().createExpiresHeader(isRegister ? platform.getExpires() : 0); request.addHeader(expires); - UserAgentHeader userAgentHeader = SipUtils.createUserAgentHeader(sipFactory); - request.addHeader(userAgentHeader); + request.addHeader(SipUtils.createUserAgentHeader(sipFactory, gitUtil)); return request; } @@ -183,6 +186,8 @@ request = messageFactory.createRequest(requestURI, Request.MESSAGE, callIdHeader, cSeqHeader, fromHeader, toHeader, viaHeaders, maxForwards); + request.addHeader(SipUtils.createUserAgentHeader(sipFactory, gitUtil)); + ContentTypeHeader contentTypeHeader = sipFactory.createHeaderFactory().createContentTypeHeader("Application", "MANSCDP+xml"); request.setContent(content, contentTypeHeader); return request; diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java index 807afb4..21ab374 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java @@ -13,6 +13,7 @@ import com.genersoft.iot.vmp.gb28181.session.VideoStreamSessionManager; import com.genersoft.iot.vmp.gb28181.utils.SipUtils; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; +import com.genersoft.iot.vmp.utils.GitUtil; import gov.nist.javax.sip.SipProviderImpl; import gov.nist.javax.sip.SipStackImpl; import gov.nist.javax.sip.stack.SIPDialog; @@ -36,6 +37,9 @@ @Autowired private SipFactory sipFactory; + + @Autowired + private GitUtil gitUtil; @Autowired private IRedisCatchStorage redisCatchStorage; @@ -76,6 +80,9 @@ request = sipFactory.createMessageFactory().createRequest(requestURI, Request.MESSAGE, callIdHeader, cSeqHeader, fromHeader, toHeader, viaHeaders, maxForwards); + + request.addHeader(SipUtils.createUserAgentHeader(sipFactory, gitUtil)); + ContentTypeHeader contentTypeHeader = sipFactory.createHeaderFactory().createContentTypeHeader("Application", "MANSCDP+xml"); request.setContent(content, contentTypeHeader); return request; @@ -106,7 +113,9 @@ //ceq CSeqHeader cSeqHeader = sipFactory.createHeaderFactory().createCSeqHeader(redisCatchStorage.getCSEQ(), Request.INVITE); request = sipFactory.createMessageFactory().createRequest(requestLine, Request.INVITE, callIdHeader, cSeqHeader,fromHeader, toHeader, viaHeaders, maxForwards); - + + request.addHeader(SipUtils.createUserAgentHeader(sipFactory, gitUtil)); + Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getId(), sipConfig.getIp()+":"+sipConfig.getPort())); // Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getId(), device.getHost().getIp()+":"+device.getHost().getPort())); request.addHeader(sipFactory.createHeaderFactory().createContactHeader(concatAddress)); @@ -146,6 +155,9 @@ Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getId(), sipConfig.getIp()+":"+sipConfig.getPort())); // Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getId(), device.getHost().getIp()+":"+device.getHost().getPort())); request.addHeader(sipFactory.createHeaderFactory().createContactHeader(concatAddress)); + + request.addHeader(SipUtils.createUserAgentHeader(sipFactory, gitUtil)); + // Subject SubjectHeader subjectHeader = sipFactory.createHeaderFactory().createSubjectHeader(String.format("%s:%s,%s:%s", channelId, ssrc, sipConfig.getId(), 0)); request.addHeader(subjectHeader); @@ -179,6 +191,8 @@ CSeqHeader cSeqHeader = sipFactory.createHeaderFactory().createCSeqHeader(redisCatchStorage.getCSEQ(), Request.BYE); CallIdHeader callIdHeader = sipFactory.createHeaderFactory().createCallIdHeader(callId); request = sipFactory.createMessageFactory().createRequest(requestLine, Request.BYE, callIdHeader, cSeqHeader,fromHeader, toHeader, viaHeaders, maxForwards); + + request.addHeader(SipUtils.createUserAgentHeader(sipFactory, gitUtil)); Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getId(), sipConfig.getIp()+":"+sipConfig.getPort())); @@ -230,6 +244,9 @@ ContentTypeHeader contentTypeHeader = sipFactory.createHeaderFactory().createContentTypeHeader("Application", "MANSCDP+xml"); request.setContent(content, contentTypeHeader); + + request.addHeader(SipUtils.createUserAgentHeader(sipFactory, gitUtil)); + return request; } @@ -264,8 +281,7 @@ Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory() .createSipURI(sipConfig.getId(), sipConfig.getIp() + ":" + sipConfig.getPort())); infoRequest.addHeader(sipFactory.createHeaderFactory().createContactHeader(concatAddress)); - UserAgentHeader userAgentHeader = SipUtils.createUserAgentHeader(sipFactory); - infoRequest.addHeader(userAgentHeader); + infoRequest.addHeader(SipUtils.createUserAgentHeader(sipFactory, gitUtil)); ContentTypeHeader contentTypeHeader = sipFactory.createHeaderFactory().createContentTypeHeader("Application", "MANSRTSP"); diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java index a80745d..2d305c0 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java @@ -21,6 +21,7 @@ import com.genersoft.iot.vmp.service.bean.SSRCInfo; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.IVideoManagerStorage; +import com.genersoft.iot.vmp.utils.GitUtil; import gov.nist.javax.sip.SipProviderImpl; import gov.nist.javax.sip.SipStackImpl; import gov.nist.javax.sip.message.MessageFactoryImpl; @@ -59,6 +60,9 @@ @Autowired private SipFactory sipFactory; + + @Autowired + private GitUtil gitUtil; @Autowired @Qualifier(value="tcpSipProvider") @@ -727,7 +731,7 @@ // 澧炲姞Contact header Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getId(), sipConfig.getIp()+":"+sipConfig.getPort())); byeRequest.addHeader(sipFactory.createHeaderFactory().createContactHeader(concatAddress)); - UserAgentHeader userAgentHeader = SipUtils.createUserAgentHeader(sipFactory); + UserAgentHeader userAgentHeader = SipUtils.createUserAgentHeader(sipFactory, gitUtil); byeRequest.addHeader(userAgentHeader); ClientTransaction clientTransaction = null; if("TCP".equals(protocol)) { @@ -1618,7 +1622,7 @@ if (request.getHeader(UserAgentHeader.NAME) == null) { UserAgentHeader userAgentHeader = null; try { - userAgentHeader = SipUtils.createUserAgentHeader(sipFactory); + userAgentHeader = SipUtils.createUserAgentHeader(sipFactory, gitUtil); } catch (ParseException e) { logger.error("娣诲姞UserAgentHeader澶辫触", e); } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/response/impl/InviteResponseProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/response/impl/InviteResponseProcessor.java index 923d79f..a2bc6e1 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/response/impl/InviteResponseProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/response/impl/InviteResponseProcessor.java @@ -5,6 +5,7 @@ import com.genersoft.iot.vmp.gb28181.transmit.SIPProcessorObserver; import com.genersoft.iot.vmp.gb28181.transmit.event.response.SIPResponseProcessorAbstract; import com.genersoft.iot.vmp.gb28181.utils.SipUtils; +import com.genersoft.iot.vmp.utils.GitUtil; import gov.nist.javax.sip.ResponseEventExt; import gov.nist.javax.sip.stack.SIPDialog; import org.slf4j.Logger; @@ -47,6 +48,9 @@ @Autowired private SipFactory sipFactory; + + @Autowired + private GitUtil gitUtil; @Override public void afterPropertiesSet() throws Exception { @@ -98,7 +102,7 @@ } requestURI.setPort(event.getRemotePort()); reqAck.setRequestURI(requestURI); - UserAgentHeader userAgentHeader = SipUtils.createUserAgentHeader(sipFactory); + UserAgentHeader userAgentHeader = SipUtils.createUserAgentHeader(sipFactory, gitUtil); reqAck.addHeader(userAgentHeader); Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getId(), sipConfig.getIp()+":"+sipConfig.getPort())); reqAck.addHeader(sipFactory.createHeaderFactory().createContactHeader(concatAddress)); diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java index 47bf38d..cf64a86 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java @@ -1,5 +1,6 @@ package com.genersoft.iot.vmp.gb28181.utils; +import com.genersoft.iot.vmp.utils.GitUtil; import gov.nist.javax.sip.address.AddressImpl; import gov.nist.javax.sip.address.SipUri; import gov.nist.javax.sip.header.Subject; @@ -49,10 +50,13 @@ return "z9hG4bK" + System.currentTimeMillis(); } - public static UserAgentHeader createUserAgentHeader(SipFactory sipFactory) throws PeerUnavailableException, ParseException { + public static UserAgentHeader createUserAgentHeader(SipFactory sipFactory, GitUtil gitUtil) throws PeerUnavailableException, ParseException { List<String> agentParam = new ArrayList<>(); - agentParam.add("WVP PRO"); - // TODO 娣诲姞鐗堟湰淇℃伅浠ュ強鏃ユ湡 + agentParam.add("WVP-Pro v"); + if (gitUtil != null && gitUtil.getCommitTime() != null) { + agentParam.add(gitUtil.getBuildVersion() + "."); + agentParam.add(gitUtil.getCommitTime()); + } return sipFactory.createHeaderFactory().createUserAgentHeader(agentParam); } diff --git a/src/main/java/com/genersoft/iot/vmp/utils/GitUtil.java b/src/main/java/com/genersoft/iot/vmp/utils/GitUtil.java index 60ee987..d6dc943 100644 --- a/src/main/java/com/genersoft/iot/vmp/utils/GitUtil.java +++ b/src/main/java/com/genersoft/iot/vmp/utils/GitUtil.java @@ -19,8 +19,15 @@ private String gitUrl; @Value("${git.build.time:null}") private String buildDate; + + @Value("${git.build.version:null}") + private String buildVersion; + @Value("${git.commit.id.abbrev:null}") private String commitIdShort; + + @Value("${git.commit.time:null}") + private String commitTime; public String getGitCommitId() { return gitCommitId; @@ -41,4 +48,12 @@ public String getCommitIdShort() { return commitIdShort; } + + public String getBuildVersion() { + return buildVersion; + } + + public String getCommitTime() { + return commitTime; + } } diff --git a/src/main/resources/all-application.yml b/src/main/resources/all-application.yml index 222c076..3569de2 100644 --- a/src/main/resources/all-application.yml +++ b/src/main/resources/all-application.yml @@ -195,9 +195,3 @@ enabled: false swagger-ui: enabled: false - -# 鐗堟湰淇℃伅锛� 涓嶉渶淇敼 -version: - version: "@project.version@" - description: "@project.description@" - artifact-id: "@project.artifactId@" diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 833bb30..7d1e116 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -84,9 +84,3 @@ # [鍙�塢 鏃ュ織閰嶇疆, 涓�鑸笉闇�瑕佹敼 logging: config: classpath:logback-spring-local.xml - -# 鐗堟湰淇℃伅锛� 涓嶉渶淇敼 -version: - version: "@project.version@" - description: "@project.description@" - artifact-id: "@project.artifactId@" diff --git a/src/main/resources/application-docker.yml b/src/main/resources/application-docker.yml index 06b7810..a722435 100644 --- a/src/main/resources/application-docker.yml +++ b/src/main/resources/application-docker.yml @@ -78,10 +78,3 @@ # 鎺ㄦ祦鐩存挱鏄惁褰曞埗 record-push-live: true auto-apply-play: true - - -# 鐗堟湰淇℃伅锛� 涓嶉渶淇敼 -version: - version: "@project.version@" - description: "@project.description@" - artifact-id: "@project.artifactId@" diff --git a/src/main/resources/banner.txt b/src/main/resources/banner.txt index 0c7250d..7a75e1c 100644 --- a/src/main/resources/banner.txt +++ b/src/main/resources/banner.txt @@ -5,5 +5,3 @@ \ \ \|\__\_\ \ \ / / \ \ \___\|____________|\ \ \___|\ \ \\ \\ \ \\\ \ \ \____________\ \__/ / \ \__\ \ \__\ \ \__\\ _\\ \_______\ \|____________|\|__|/ \|__| \|__| \|__|\|__|\|_______| - -鐗堟湰锛�${version.version} \ No newline at end of file -- Gitblit v1.8.0