Commit 5cecb10b00e1f439917b5fc230ea46d8b28dd82d

Authored by Lawrence
1 parent 44d21610

注册信令包增加Expires头,修改CSeq值

src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java
@@ -173,7 +173,7 @@ public class SIPRequestHeaderProvider { @@ -173,7 +173,7 @@ public class SIPRequestHeaderProvider {
173 } 173 }
174 174
175 175
176 - public Request createRegisterRequest(@NotNull ParentPlatform platform, String fromTag, String viaTag) throws ParseException, InvalidArgumentException, PeerUnavailableException { 176 + public Request createRegisterRequest(@NotNull ParentPlatform platform, long CSeq, String fromTag, String viaTag) throws ParseException, InvalidArgumentException, PeerUnavailableException {
177 Request request = null; 177 Request request = null;
178 String sipAddress = sipConfig.getSipIp() + ":" + sipConfig.getSipPort(); 178 String sipAddress = sipConfig.getSipIp() + ":" + sipConfig.getSipPort();
179 //请求行 179 //请求行
@@ -206,7 +206,7 @@ public class SIPRequestHeaderProvider { @@ -206,7 +206,7 @@ public class SIPRequestHeaderProvider {
206 MaxForwardsHeader maxForwards = sipFactory.createHeaderFactory().createMaxForwardsHeader(70); 206 MaxForwardsHeader maxForwards = sipFactory.createHeaderFactory().createMaxForwardsHeader(70);
207 207
208 //ceq 208 //ceq
209 - CSeqHeader cSeqHeader = sipFactory.createHeaderFactory().createCSeqHeader(1L, Request.REGISTER); 209 + CSeqHeader cSeqHeader = sipFactory.createHeaderFactory().createCSeqHeader(CSeq, Request.REGISTER);
210 request = sipFactory.createMessageFactory().createRequest(requestLine, Request.REGISTER, callIdHeader, 210 request = sipFactory.createMessageFactory().createRequest(requestLine, Request.REGISTER, callIdHeader,
211 cSeqHeader,fromHeader, toHeader, viaHeaders, maxForwards); 211 cSeqHeader,fromHeader, toHeader, viaHeaders, maxForwards);
212 212
@@ -214,12 +214,15 @@ public class SIPRequestHeaderProvider { @@ -214,12 +214,15 @@ public class SIPRequestHeaderProvider {
214 .createSipURI(platform.getDeviceGBId(), sipAddress)); 214 .createSipURI(platform.getDeviceGBId(), sipAddress));
215 request.addHeader(sipFactory.createHeaderFactory().createContactHeader(concatAddress)); 215 request.addHeader(sipFactory.createHeaderFactory().createContactHeader(concatAddress));
216 216
  217 + ExpiresHeader expires = sipFactory.createHeaderFactory().createExpiresHeader(3600);
  218 + request.addHeader(expires);
  219 +
217 return request; 220 return request;
218 } 221 }
219 222
220 public Request createRegisterRequest(@NotNull ParentPlatform parentPlatform, String fromTag, String viaTag, 223 public Request createRegisterRequest(@NotNull ParentPlatform parentPlatform, String fromTag, String viaTag,
221 String callId, String realm, String nonce, String scheme) throws ParseException, PeerUnavailableException, InvalidArgumentException { 224 String callId, String realm, String nonce, String scheme) throws ParseException, PeerUnavailableException, InvalidArgumentException {
222 - Request registerRequest = createRegisterRequest(parentPlatform, fromTag, viaTag); 225 + Request registerRequest = createRegisterRequest(parentPlatform, 2L, fromTag, viaTag);
223 226
224 CallIdHeader callIdHeader = (CallIdHeader)registerRequest.getHeader(CallIdHeader.NAME); 227 CallIdHeader callIdHeader = (CallIdHeader)registerRequest.getHeader(CallIdHeader.NAME);
225 callIdHeader.setCallId(callId); 228 callIdHeader.setCallId(callId);
@@ -233,8 +236,7 @@ public class SIPRequestHeaderProvider { @@ -233,8 +236,7 @@ public class SIPRequestHeaderProvider {
233 String RESPONSE = DigestUtils.md5DigestAsHex((HA1 + ":" + nonce + ":" + HA2).getBytes()); 236 String RESPONSE = DigestUtils.md5DigestAsHex((HA1 + ":" + nonce + ":" + HA2).getBytes());
234 237
235 String authorizationHeaderContent = scheme + " username=\"" + parentPlatform.getDeviceGBId() + "\", " + "realm=\"" 238 String authorizationHeaderContent = scheme + " username=\"" + parentPlatform.getDeviceGBId() + "\", " + "realm=\""
236 - + realm + "\", uri=\"" + uri + "\", response=\"" + RESPONSE + "\", nonce=\""  
237 - + nonce + "\""; 239 + + realm + "\", nonce=\"" + nonce + "\", uri=\"" + uri + "\", response=\"" + RESPONSE + "\"" + ", algorithm=MD5";
238 AuthorizationHeader authorizationHeader = sipFactory.createHeaderFactory().createAuthorizationHeader(authorizationHeaderContent); 240 AuthorizationHeader authorizationHeader = sipFactory.createHeaderFactory().createAuthorizationHeader(authorizationHeaderContent);
239 registerRequest.addHeader(authorizationHeader); 241 registerRequest.addHeader(authorizationHeader);
240 242