Commit ee62f171707295a90220194bde54a6bd3ce7f0c1

Authored by 648540858
1 parent 5d901b5e

统一userAgent

src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderPlarformProvider.java
@@ -68,9 +68,6 @@ public class SIPRequestHeaderPlarformProvider { @@ -68,9 +68,6 @@ public class SIPRequestHeaderPlarformProvider {
68 toHeader, viaHeaders, maxForwards); 68 toHeader, viaHeaders, maxForwards);
69 69
70 List<String> agentParam = new ArrayList<>(); 70 List<String> agentParam = new ArrayList<>();
71 - agentParam.add("wvp-pro");  
72 - UserAgentHeader userAgentHeader = sipFactory.createHeaderFactory().createUserAgentHeader(agentParam);  
73 - request.addHeader(userAgentHeader);  
74 71
75 ContentTypeHeader contentTypeHeader = sipFactory.createHeaderFactory().createContentTypeHeader("Application", "MANSCDP+xml"); 72 ContentTypeHeader contentTypeHeader = sipFactory.createHeaderFactory().createContentTypeHeader("Application", "MANSCDP+xml");
76 request.setContent(content, contentTypeHeader); 73 request.setContent(content, contentTypeHeader);
@@ -115,10 +112,6 @@ public class SIPRequestHeaderPlarformProvider { @@ -115,10 +112,6 @@ public class SIPRequestHeaderPlarformProvider {
115 ExpiresHeader expires = sipFactory.createHeaderFactory().createExpiresHeader(Integer.parseInt(platform.getExpires())); 112 ExpiresHeader expires = sipFactory.createHeaderFactory().createExpiresHeader(Integer.parseInt(platform.getExpires()));
116 request.addHeader(expires); 113 request.addHeader(expires);
117 114
118 - List<String> agentParam = new ArrayList<>();  
119 - agentParam.add("wvp-pro");  
120 - UserAgentHeader userAgentHeader = sipFactory.createHeaderFactory().createUserAgentHeader(agentParam);  
121 - request.addHeader(userAgentHeader);  
122 115
123 return request; 116 return request;
124 } 117 }
@@ -226,10 +219,6 @@ public class SIPRequestHeaderPlarformProvider { @@ -226,10 +219,6 @@ public class SIPRequestHeaderPlarformProvider {
226 messageFactory.setDefaultContentEncodingCharset(parentPlatform.getCharacterSet()); 219 messageFactory.setDefaultContentEncodingCharset(parentPlatform.getCharacterSet());
227 request = messageFactory.createRequest(requestURI, Request.MESSAGE, callIdHeader, cSeqHeader, fromHeader, 220 request = messageFactory.createRequest(requestURI, Request.MESSAGE, callIdHeader, cSeqHeader, fromHeader,
228 toHeader, viaHeaders, maxForwards); 221 toHeader, viaHeaders, maxForwards);
229 - List<String> agentParam = new ArrayList<>();  
230 - agentParam.add("wvp-pro");  
231 - UserAgentHeader userAgentHeader = sipFactory.createHeaderFactory().createUserAgentHeader(agentParam);  
232 - request.addHeader(userAgentHeader);  
233 222
234 ContentTypeHeader contentTypeHeader = sipFactory.createHeaderFactory().createContentTypeHeader("Application", "MANSCDP+xml"); 223 ContentTypeHeader contentTypeHeader = sipFactory.createHeaderFactory().createContentTypeHeader("Application", "MANSCDP+xml");
235 request.setContent(content, contentTypeHeader); 224 request.setContent(content, contentTypeHeader);
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
@@ -27,6 +27,7 @@ import org.slf4j.Logger; @@ -27,6 +27,7 @@ import org.slf4j.Logger;
27 import org.slf4j.LoggerFactory; 27 import org.slf4j.LoggerFactory;
28 import org.springframework.beans.factory.annotation.Autowired; 28 import org.springframework.beans.factory.annotation.Autowired;
29 import org.springframework.beans.factory.annotation.Qualifier; 29 import org.springframework.beans.factory.annotation.Qualifier;
  30 +import org.springframework.boot.SpringBootVersion;
30 import org.springframework.context.annotation.DependsOn; 31 import org.springframework.context.annotation.DependsOn;
31 import org.springframework.stereotype.Component; 32 import org.springframework.stereotype.Component;
32 import org.springframework.util.StringUtils; 33 import org.springframework.util.StringUtils;
@@ -37,7 +38,9 @@ import javax.sip.header.*; @@ -37,7 +38,9 @@ import javax.sip.header.*;
37 import javax.sip.message.Request; 38 import javax.sip.message.Request;
38 import java.lang.reflect.Field; 39 import java.lang.reflect.Field;
39 import java.text.ParseException; 40 import java.text.ParseException;
  41 +import java.util.ArrayList;
40 import java.util.HashSet; 42 import java.util.HashSet;
  43 +import java.util.List;
41 44
42 /** 45 /**
43 * @description:设备能力接口,用于定义设备的控制、查询能力 46 * @description:设备能力接口,用于定义设备的控制、查询能力
@@ -49,7 +52,7 @@ import java.util.HashSet; @@ -49,7 +52,7 @@ import java.util.HashSet;
49 public class SIPCommander implements ISIPCommander { 52 public class SIPCommander implements ISIPCommander {
50 53
51 private final Logger logger = LoggerFactory.getLogger(SIPCommander.class); 54 private final Logger logger = LoggerFactory.getLogger(SIPCommander.class);
52 - 55 +
53 @Autowired 56 @Autowired
54 private SipConfig sipConfig; 57 private SipConfig sipConfig;
55 58
@@ -1643,7 +1646,18 @@ public class SIPCommander implements ISIPCommander { @@ -1643,7 +1646,18 @@ public class SIPCommander implements ISIPCommander {
1643 } else if("UDP".equals(device.getTransport())) { 1646 } else if("UDP".equals(device.getTransport())) {
1644 clientTransaction = udpSipProvider.getNewClientTransaction(request); 1647 clientTransaction = udpSipProvider.getNewClientTransaction(request);
1645 } 1648 }
1646 - 1649 + if (request.getHeader(UserAgentHeader.NAME) == null) {
  1650 + List<String> agentParam = new ArrayList<>();
  1651 + agentParam.add("wvp-pro");
  1652 + // TODO 添加版本信息以及日期
  1653 + UserAgentHeader userAgentHeader = null;
  1654 + try {
  1655 + userAgentHeader = sipFactory.createHeaderFactory().createUserAgentHeader(agentParam);
  1656 + } catch (ParseException e) {
  1657 + throw new RuntimeException(e);
  1658 + }
  1659 + request.addHeader(userAgentHeader);
  1660 + }
1647 CallIdHeader callIdHeader = (CallIdHeader)request.getHeader(CallIdHeader.NAME); 1661 CallIdHeader callIdHeader = (CallIdHeader)request.getHeader(CallIdHeader.NAME);
1648 // 添加错误订阅 1662 // 添加错误订阅
1649 if (errorEvent != null) { 1663 if (errorEvent != null) {