Commit ee62f171707295a90220194bde54a6bd3ce7f0c1
1 parent
5d901b5e
统一userAgent
Showing
2 changed files
with
16 additions
and
13 deletions
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) { |