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 | 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 | 177 | Request request = null; |
| 178 | 178 | String sipAddress = sipConfig.getSipIp() + ":" + sipConfig.getSipPort(); |
| 179 | 179 | //请求行 |
| ... | ... | @@ -206,7 +206,7 @@ public class SIPRequestHeaderProvider { |
| 206 | 206 | MaxForwardsHeader maxForwards = sipFactory.createHeaderFactory().createMaxForwardsHeader(70); |
| 207 | 207 | |
| 208 | 208 | //ceq |
| 209 | - CSeqHeader cSeqHeader = sipFactory.createHeaderFactory().createCSeqHeader(1L, Request.REGISTER); | |
| 209 | + CSeqHeader cSeqHeader = sipFactory.createHeaderFactory().createCSeqHeader(CSeq, Request.REGISTER); | |
| 210 | 210 | request = sipFactory.createMessageFactory().createRequest(requestLine, Request.REGISTER, callIdHeader, |
| 211 | 211 | cSeqHeader,fromHeader, toHeader, viaHeaders, maxForwards); |
| 212 | 212 | |
| ... | ... | @@ -214,12 +214,15 @@ public class SIPRequestHeaderProvider { |
| 214 | 214 | .createSipURI(platform.getDeviceGBId(), sipAddress)); |
| 215 | 215 | request.addHeader(sipFactory.createHeaderFactory().createContactHeader(concatAddress)); |
| 216 | 216 | |
| 217 | + ExpiresHeader expires = sipFactory.createHeaderFactory().createExpiresHeader(3600); | |
| 218 | + request.addHeader(expires); | |
| 219 | + | |
| 217 | 220 | return request; |
| 218 | 221 | } |
| 219 | 222 | |
| 220 | 223 | public Request createRegisterRequest(@NotNull ParentPlatform parentPlatform, String fromTag, String viaTag, |
| 221 | 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 | 227 | CallIdHeader callIdHeader = (CallIdHeader)registerRequest.getHeader(CallIdHeader.NAME); |
| 225 | 228 | callIdHeader.setCallId(callId); |
| ... | ... | @@ -233,8 +236,7 @@ public class SIPRequestHeaderProvider { |
| 233 | 236 | String RESPONSE = DigestUtils.md5DigestAsHex((HA1 + ":" + nonce + ":" + HA2).getBytes()); |
| 234 | 237 | |
| 235 | 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 | 240 | AuthorizationHeader authorizationHeader = sipFactory.createHeaderFactory().createAuthorizationHeader(authorizationHeaderContent); |
| 239 | 241 | registerRequest.addHeader(authorizationHeader); |
| 240 | 242 | ... | ... |