Commit e960720298bdb3e09695cfbcf2a3e990eff24d0a

Authored by panlinlin
1 parent 518f0b02

通过重写的方式解决与国标时间格式不一致的问题, 不需要修改jar包了。

libs/jain-sip-ri-1.3.0-92.jar deleted 100644 → 0
No preview for this file type
@@ -126,13 +126,22 @@ @@ -126,13 +126,22 @@
126 </dependency> 126 </dependency>
127 127
128 <!-- sip协议栈 --> 128 <!-- sip协议栈 -->
  129 +<!-- <dependency>-->
  130 +<!-- <groupId>javax.sip</groupId>-->
  131 +<!-- <artifactId>jain-sip-ri</artifactId>-->
  132 +<!-- <version>1.3.0-92</version>-->
  133 +<!-- <scope>system</scope>-->
  134 +<!-- <systemPath>${pom.basedir}/libs/jain-sip-ri-1.3.0-92.jar</systemPath>-->
  135 +<!-- </dependency>-->
  136 +
  137 + <!-- https://mvnrepository.com/artifact/javax.sip/jain-sip-ri -->
129 <dependency> 138 <dependency>
130 <groupId>javax.sip</groupId> 139 <groupId>javax.sip</groupId>
131 <artifactId>jain-sip-ri</artifactId> 140 <artifactId>jain-sip-ri</artifactId>
132 - <version>1.3.0-92</version>  
133 - <scope>system</scope>  
134 - <systemPath>${pom.basedir}/libs/jain-sip-ri-1.3.0-92.jar</systemPath> 141 + <version>1.3.0-91</version>
135 </dependency> 142 </dependency>
  143 +
  144 +
136 <dependency> 145 <dependency>
137 <groupId>log4j</groupId> 146 <groupId>log4j</groupId>
138 <artifactId>log4j</artifactId> 147 <artifactId>log4j</artifactId>
src/main/java/com/genersoft/iot/vmp/gb28181/bean/RecordInfo.java
1 package com.genersoft.iot.vmp.gb28181.bean; 1 package com.genersoft.iot.vmp.gb28181.bean;
2 2
3 3
  4 +import gov.nist.javax.sip.header.SIPDate;
  5 +
4 import java.util.List; 6 import java.util.List;
5 7
6 /** 8 /**
@@ -49,4 +51,5 @@ public class RecordInfo { @@ -49,4 +51,5 @@ public class RecordInfo {
49 public void setRecordList(List<RecordItem> recordList) { 51 public void setRecordList(List<RecordItem> recordList) {
50 this.recordList = recordList; 52 this.recordList = recordList;
51 } 53 }
  54 +
52 } 55 }
src/main/java/com/genersoft/iot/vmp/gb28181/bean/WvpSipDate.java 0 → 100644
  1 +package com.genersoft.iot.vmp.gb28181.bean;
  2 +
  3 +import gov.nist.javax.sip.header.SIPDate;
  4 +
  5 +/**
  6 + * 重写jain sip的SIPDate解决与国标时间格式不一致的问题
  7 + */
  8 +public class WvpSipDate extends SIPDate {
  9 +
  10 + public WvpSipDate(long timeMillis) {
  11 + super(timeMillis);
  12 + }
  13 +
  14 + @Override
  15 + public StringBuilder encode(StringBuilder var1) {
  16 + String var2;
  17 + if (this.month < 9) {
  18 + var2 = "0" + (this.month + 1);
  19 + } else {
  20 + var2 = "" + (this.month + 1);
  21 + }
  22 +
  23 + String var3;
  24 + if (this.day < 10) {
  25 + var3 = "0" + this.day;
  26 + } else {
  27 + var3 = "" + this.day;
  28 + }
  29 +
  30 + String var4;
  31 + if (this.hour < 10) {
  32 + var4 = "0" + this.hour;
  33 + } else {
  34 + var4 = "" + this.hour;
  35 + }
  36 +
  37 + String var5;
  38 + if (this.minute < 10) {
  39 + var5 = "0" + this.minute;
  40 + } else {
  41 + var5 = "" + this.minute;
  42 + }
  43 +
  44 + String var6;
  45 + if (this.second < 10) {
  46 + var6 = "0" + this.second;
  47 + } else {
  48 + var6 = "" + this.second;
  49 + }
  50 +
  51 + int var8 = this.getJavaCal().get(14);
  52 + String var7;
  53 + if (var8 < 10) {
  54 + var7 = "00" + var8;
  55 + } else if (var8 < 100) {
  56 + var7 = "0" + var8;
  57 + } else {
  58 + var7 = "" + var8;
  59 + }
  60 +
  61 + return var1.append(this.year).append("-").append(var2).append("-").append(var3).append("T").append(var4).append(":").append(var5).append(":").append(var6).append(".").append(var7);
  62 + }
  63 +}
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java
@@ -16,6 +16,8 @@ import javax.sip.header.ViaHeader; @@ -16,6 +16,8 @@ import javax.sip.header.ViaHeader;
16 import javax.sip.message.Request; 16 import javax.sip.message.Request;
17 import javax.sip.message.Response; 17 import javax.sip.message.Response;
18 18
  19 +import com.genersoft.iot.vmp.gb28181.bean.WvpSipDate;
  20 +import gov.nist.javax.sip.header.SIPDateHeader;
19 import org.slf4j.Logger; 21 import org.slf4j.Logger;
20 import org.slf4j.LoggerFactory; 22 import org.slf4j.LoggerFactory;
21 import org.springframework.util.StringUtils; 23 import org.springframework.util.StringUtils;
@@ -25,7 +27,6 @@ import com.genersoft.iot.vmp.conf.SipConfig; @@ -25,7 +27,6 @@ import com.genersoft.iot.vmp.conf.SipConfig;
25 import com.genersoft.iot.vmp.gb28181.auth.DigestServerAuthenticationHelper; 27 import com.genersoft.iot.vmp.gb28181.auth.DigestServerAuthenticationHelper;
26 import com.genersoft.iot.vmp.gb28181.auth.RegisterLogicHandler; 28 import com.genersoft.iot.vmp.gb28181.auth.RegisterLogicHandler;
27 import com.genersoft.iot.vmp.gb28181.bean.Device; 29 import com.genersoft.iot.vmp.gb28181.bean.Device;
28 -import com.genersoft.iot.vmp.gb28181.bean.Host;  
29 import com.genersoft.iot.vmp.gb28181.event.EventPublisher; 30 import com.genersoft.iot.vmp.gb28181.event.EventPublisher;
30 import com.genersoft.iot.vmp.gb28181.transmit.request.SIPRequestAbstractProcessor; 31 import com.genersoft.iot.vmp.gb28181.transmit.request.SIPRequestAbstractProcessor;
31 import com.genersoft.iot.vmp.storager.IVideoManagerStorager; 32 import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
@@ -88,7 +89,12 @@ public class RegisterRequestProcessor extends SIPRequestAbstractProcessor { @@ -88,7 +89,12 @@ public class RegisterRequestProcessor extends SIPRequestAbstractProcessor {
88 else if (passwordCorrect) { 89 else if (passwordCorrect) {
89 response = getMessageFactory().createResponse(Response.OK, request); 90 response = getMessageFactory().createResponse(Response.OK, request);
90 // 添加date头 91 // 添加date头
91 - response.addHeader(getHeaderFactory().createDateHeader(Calendar.getInstance(Locale.ENGLISH))); 92 + SIPDateHeader dateHeader = new SIPDateHeader();
  93 + // 使用自己修改的
  94 + WvpSipDate wvpSipDate = new WvpSipDate(Calendar.getInstance(Locale.ENGLISH).getTimeInMillis());
  95 + dateHeader.setDate(wvpSipDate);
  96 + response.addHeader(dateHeader);
  97 +
92 ExpiresHeader expiresHeader = (ExpiresHeader) request.getHeader(Expires.NAME); 98 ExpiresHeader expiresHeader = (ExpiresHeader) request.getHeader(Expires.NAME);
93 // 添加Contact头 99 // 添加Contact头
94 response.addHeader(request.getHeader(ContactHeader.NAME)); 100 response.addHeader(request.getHeader(ContactHeader.NAME));