648540858
2022-02-24 a42dda2bd3cc1cf8c20cc61e7ad9211eadecbaf3
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java
@@ -10,6 +10,7 @@
import com.genersoft.iot.vmp.gb28181.transmit.SIPProcessorObserver;
import com.genersoft.iot.vmp.gb28181.transmit.event.request.ISIPRequestProcessor;
import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
import gov.nist.javax.sip.RequestEventExt;
import gov.nist.javax.sip.address.AddressImpl;
@@ -52,6 +53,9 @@
   private RegisterLogicHandler handler;
   @Autowired
   private IRedisCatchStorage redisCatchStorage;
   @Autowired
   private IVideoManagerStorager storager;
   @Autowired
@@ -86,8 +90,13 @@
         AddressImpl address = (AddressImpl) fromHeader.getAddress();
         SipUri uri = (SipUri) address.getURI();
         String deviceId = uri.getUser();
         Device deviceInRedis = redisCatchStorage.getDevice(deviceId);
         Device device = storager.queryVideoDevice(deviceId);
         AuthorizationHeader authorhead = (AuthorizationHeader) request.getHeader(AuthorizationHeader.NAME);
         if (deviceInRedis != null && device == null) {
            // redis 存在脏数据
            redisCatchStorage.clearCatchByDeviceId(deviceId);
         }
         AuthorizationHeader authorhead = (AuthorizationHeader) request.getHeader(AuthorizationHeader.NAME);
         // 校验密码是否正确
         if (authorhead != null) {
            passwordCorrect = new DigestServerAuthenticationHelper().doAuthenticatePlainTextPassword(request,