From 16f3b0553d5ea1dd891b56b93e3e13da950cf4dd Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 19 十二月 2022 18:00:28 +0800
Subject: [PATCH] 设备离线清空语音对讲通道
---
src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java | 34 ++++++++++++++++++++++++++++++----
1 files changed, 30 insertions(+), 4 deletions(-)
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 bf2a0ee..bbce087 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
@@ -4,6 +4,7 @@
import gov.nist.javax.sip.address.AddressImpl;
import gov.nist.javax.sip.address.SipUri;
import gov.nist.javax.sip.header.Subject;
+import org.springframework.util.ObjectUtils;
import javax.sip.PeerUnavailableException;
import javax.sip.SipFactory;
@@ -52,10 +53,15 @@
public static UserAgentHeader createUserAgentHeader(SipFactory sipFactory, GitUtil gitUtil) throws PeerUnavailableException, ParseException {
List<String> agentParam = new ArrayList<>();
- agentParam.add("WVP-Pro v");
- if (gitUtil != null && gitUtil.getCommitTime() != null) {
- agentParam.add(gitUtil.getBuildVersion() + ".");
- agentParam.add(gitUtil.getCommitTime());
+ agentParam.add("WVP-Pro ");
+ if (gitUtil != null ) {
+ if (!ObjectUtils.isEmpty(gitUtil.getBuildVersion())) {
+ agentParam.add("v");
+ agentParam.add(gitUtil.getBuildVersion() + ".");
+ }
+ if (!ObjectUtils.isEmpty(gitUtil.getCommitTime())) {
+ agentParam.add(gitUtil.getCommitTime());
+ }
}
return sipFactory.createHeaderFactory().createUserAgentHeader(agentParam);
}
@@ -113,4 +119,24 @@
return builder.toString();
}
+ public static String getNewCallId() {
+ return (int) Math.floor(Math.random() * 10000) + "";
+ }
+
+ public static int getTypeCodeFromGbCode(String deviceId) {
+ if (ObjectUtils.isEmpty(deviceId)) {
+ return 0;
+ }
+ return Integer.parseInt(deviceId.substring(10, 13));
+ }
+
+ /**
+ * 鍒ゆ柇鏄惁鏄墠绔鍥磋澶�
+ * @param deviceId
+ * @return
+ */
+ public static boolean isFrontEnd(String deviceId) {
+ int typeCodeFromGbCode = getTypeCodeFromGbCode(deviceId);
+ return typeCodeFromGbCode > 130 && typeCodeFromGbCode < 199;
+ }
}
--
Gitblit v1.8.0