From 5e73874880cdfd5b6b99147a0cdd8a6eabcfbf16 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 22 九月 2022 11:22:08 +0800
Subject: [PATCH] 添加队列处理redis消息和sip消息,支持使用推流状态作为通道在线状态
---
src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java | 38 +++++++++++++++++++++++++++++++++++++-
1 files changed, 37 insertions(+), 1 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 8025818..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,12 +1,20 @@
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;
+import javax.sip.PeerUnavailableException;
+import javax.sip.SipFactory;
import javax.sip.header.FromHeader;
import javax.sip.header.Header;
+import javax.sip.header.UserAgentHeader;
import javax.sip.message.Request;
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
/**
* @author panlinlin
@@ -23,8 +31,12 @@
/**
* 浠巗ubject璇诲彇channelId
* */
- public static String getChannelIdFromHeader(Request request) {
+ public static String getChannelIdFromRequest(Request request) {
Header subject = request.getHeader("subject");
+ if (subject == null) {
+ // 濡傛灉缂哄けsubject
+ return null;
+ }
return ((Subject) subject).getSubject().split(":")[0];
}
@@ -34,4 +46,28 @@
return uri.getUser();
}
+ public static String getNewViaTag() {
+ return "z9hG4bK" + System.currentTimeMillis();
+ }
+
+ 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());
+ }
+ return sipFactory.createHeaderFactory().createUserAgentHeader(agentParam);
+ }
+
+ public static String getNewFromTag(){
+ return UUID.randomUUID().toString().replace("-", "");
+
+// return getNewTag();
+ }
+
+ public static String getNewTag(){
+ return String.valueOf(System.currentTimeMillis());
+ }
+
}
--
Gitblit v1.8.0