Commit 5cecb10b00e1f439917b5fc230ea46d8b28dd82d
1 parent
44d21610
注册信令包增加Expires头,修改CSeq值
Showing
1 changed file
with
7 additions
and
5 deletions
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 |