lawrencehj
2021-08-26 45969a00b74b5a240c0dc6e2c37f5381cd0cb65f
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,9 +79,9 @@
         // 校验密码是否正确
         if (authorhead != null) {
            passwordCorrect = new DigestServerAuthenticationHelper().doAuthenticatePlainTextPassword(request,
                  sipConfig.getSipPassword());
                  sipConfig.getPassword());
         }
         if (StringUtils.isEmpty(sipConfig.getSipPassword())){
         if (StringUtils.isEmpty(sipConfig.getPassword())){
            passwordCorrect = true;
         }
@@ -93,7 +94,7 @@
               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){
               // 注册失败
@@ -112,7 +113,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头
@@ -159,7 +162,9 @@
            }
         }
         getServerTransaction(evt).sendResponse(response);
         ServerTransaction serverTransaction = getServerTransaction(evt);
         serverTransaction.sendResponse(response);
         if (serverTransaction.getDialog() != null) serverTransaction.getDialog().delete();
         // 注册成功
         // 保存到redis
         // 下发catelog查询目录