From b445128fb5bdc24f6703e7a40e9fd9f40919baf2 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 03 十一月 2021 10:30:42 +0800 Subject: [PATCH] 修复订阅清理请示任务的执行时长 --- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java | 26 +++++++++++++++----------- 1 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java index 0c8d6c0..c70988a 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java @@ -7,6 +7,7 @@ import javax.sip.InvalidArgumentException; import javax.sip.RequestEvent; +import javax.sip.ServerTransaction; import javax.sip.SipException; import javax.sip.header.AuthorizationHeader; import javax.sip.header.ContactHeader; @@ -78,27 +79,24 @@ // 鏍¢獙瀵嗙爜鏄惁姝g‘ if (authorhead != null) { passwordCorrect = new DigestServerAuthenticationHelper().doAuthenticatePlainTextPassword(request, - sipConfig.getSipPassword()); + sipConfig.getPassword()); } - if (StringUtils.isEmpty(sipConfig.getSipPassword())){ + if (StringUtils.isEmpty(sipConfig.getPassword())){ passwordCorrect = true; } // 鏈惡甯︽巿鏉冨ご鎴栬�呭瘑鐮侀敊璇� 鍥炲401 if (authorhead == null ) { - - if (authorhead == null) { - logger.info("[{}] 鏈惡甯︽巿鏉冨ご 鍥炲401", requestAddress); - } else if (!passwordCorrect) { - logger.info("[{}] 瀵嗙爜閿欒 鍥炲401", requestAddress); - } + + logger.info("[{}] 鏈惡甯︽巿鏉冨ご 鍥炲401", requestAddress); response = getMessageFactory().createResponse(Response.UNAUTHORIZED, request); - new DigestServerAuthenticationHelper().generateChallenge(getHeaderFactory(), response, sipConfig.getSipDomain()); + new DigestServerAuthenticationHelper().generateChallenge(getHeaderFactory(), response, sipConfig.getDomain()); }else { if (!passwordCorrect){ // 娉ㄥ唽澶辫触 response = getMessageFactory().createResponse(Response.FORBIDDEN, request); response.setReasonPhrase("wrong password"); + logger.info("[{}] 瀵嗙爜/SIP鏈嶅姟鍣↖D閿欒, 鍥炲403", requestAddress); }else { // 鎼哄甫鎺堟潈澶村苟涓斿瘑鐮佹纭� response = getMessageFactory().createResponse(Response.OK, request); @@ -112,7 +110,9 @@ ExpiresHeader expiresHeader = (ExpiresHeader) request.getHeader(Expires.NAME); if (expiresHeader == null) { response = getMessageFactory().createResponse(Response.BAD_REQUEST, request); - getServerTransaction(evt).sendResponse(response); + ServerTransaction serverTransaction = getServerTransaction(evt); + serverTransaction.sendResponse(response); + if (serverTransaction.getDialog() != null) serverTransaction.getDialog().delete(); return; } // 娣诲姞Contact澶� @@ -134,7 +134,9 @@ if (device == null) { device = new Device(); device.setStreamMode("UDP"); + device.setCharset("gb2312"); device.setDeviceId(deviceId); + device.setFirsRegister(true); } device.setIp(received); device.setPort(rPort); @@ -159,7 +161,9 @@ } } - getServerTransaction(evt).sendResponse(response); + ServerTransaction serverTransaction = getServerTransaction(evt); + serverTransaction.sendResponse(response); + if (serverTransaction.getDialog() != null) serverTransaction.getDialog().delete(); // 娉ㄥ唽鎴愬姛 // 淇濆瓨鍒皉edis // 涓嬪彂catelog鏌ヨ鐩綍 -- Gitblit v1.8.0