|  | @@ -85,7 +85,11 @@ public class RegisterRequestProcessor extends SIPRequestProcessorParent implemen
 | 
	
		
			
				|  |  |              Response response = null;
 | 
	
		
			
				|  |  |              boolean passwordCorrect = false;
 | 
	
		
			
				|  |  |              // 注册标志
 | 
	
		
			
				|  |  | -            boolean registerFlag;
 | 
	
		
			
				|  |  | +            boolean registerFlag = true;
 | 
	
		
			
				|  |  | +            if (request.getExpires().getExpires() == 0) {
 | 
	
		
			
				|  |  | +                // 注销成功
 | 
	
		
			
				|  |  | +                registerFlag = false;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |              FromHeader fromHeader = (FromHeader) request.getHeader(FromHeader.NAME);
 | 
	
		
			
				|  |  |              AddressImpl address = (AddressImpl) fromHeader.getAddress();
 | 
	
		
			
				|  |  |              SipUri uri = (SipUri) address.getURI();
 | 
	
	
		
			
				|  | @@ -96,11 +100,12 @@ public class RegisterRequestProcessor extends SIPRequestProcessorParent implemen
 | 
	
		
			
				|  |  |              RemoteAddressInfo remoteAddressInfo = SipUtils.getRemoteAddressFromRequest(request,
 | 
	
		
			
				|  |  |                      userSetting.getSipUseSourceIpAsRemoteAddress());
 | 
	
		
			
				|  |  |              String requestAddress = remoteAddressInfo.getIp() + ":" + remoteAddressInfo.getPort();
 | 
	
		
			
				|  |  | -                    logger.info("[注册请求] 设备:{}, 开始处理: {}", deviceId, requestAddress);
 | 
	
		
			
				|  |  | +            String title = registerFlag ? "[注册请求]": "[注销请求]";
 | 
	
		
			
				|  |  | +                    logger.info(title + "设备:{}, 开始处理: {}", deviceId, requestAddress);
 | 
	
		
			
				|  |  |              if (device != null &&
 | 
	
		
			
				|  |  |                  device.getSipTransactionInfo() != null &&
 | 
	
		
			
				|  |  |                  request.getCallIdHeader().getCallId().equals(device.getSipTransactionInfo().getCallId())) {
 | 
	
		
			
				|  |  | -                logger.info("[注册请求] 设备:{}, 注册续订: {}",device.getDeviceId(), device.getDeviceId());
 | 
	
		
			
				|  |  | +                logger.info(title + "设备:{}, 注册续订: {}",device.getDeviceId(), device.getDeviceId());
 | 
	
		
			
				|  |  |                  device.setExpires(request.getExpires().getExpires());
 | 
	
		
			
				|  |  |                  device.setIp(remoteAddressInfo.getIp());
 | 
	
		
			
				|  |  |                  device.setPort(remoteAddressInfo.getPort());
 | 
	
	
		
			
				|  | @@ -120,7 +125,7 @@ public class RegisterRequestProcessor extends SIPRequestProcessorParent implemen
 | 
	
		
			
				|  |  |              String password = (device != null && !ObjectUtils.isEmpty(device.getPassword()))? device.getPassword() : sipConfig.getPassword();
 | 
	
		
			
				|  |  |              AuthorizationHeader authHead = (AuthorizationHeader) request.getHeader(AuthorizationHeader.NAME);
 | 
	
		
			
				|  |  |              if (authHead == null && !ObjectUtils.isEmpty(password)) {
 | 
	
		
			
				|  |  | -                logger.info("[注册请求] 设备:{}, 回复401: {}",deviceId, requestAddress);
 | 
	
		
			
				|  |  | +                logger.info(title + " 设备:{}, 回复401: {}",deviceId, requestAddress);
 | 
	
		
			
				|  |  |                  response = getMessageFactory().createResponse(Response.UNAUTHORIZED, request);
 | 
	
		
			
				|  |  |                  new DigestServerAuthenticationHelper().generateChallenge(getHeaderFactory(), response, sipConfig.getDomain());
 | 
	
		
			
				|  |  |                  sipSender.transmitRequest(request.getLocalAddress().getHostAddress(), response);
 | 
	
	
		
			
				|  | @@ -135,7 +140,7 @@ public class RegisterRequestProcessor extends SIPRequestProcessorParent implemen
 | 
	
		
			
				|  |  |                  // 注册失败
 | 
	
		
			
				|  |  |                  response = getMessageFactory().createResponse(Response.FORBIDDEN, request);
 | 
	
		
			
				|  |  |                  response.setReasonPhrase("wrong password");
 | 
	
		
			
				|  |  | -                logger.info("[注册请求] 设备:{}, 密码/SIP服务器ID错误, 回复403: {}", deviceId, requestAddress);
 | 
	
		
			
				|  |  | +                logger.info(title + " 设备:{}, 密码/SIP服务器ID错误, 回复403: {}", deviceId, requestAddress);
 | 
	
		
			
				|  |  |                  sipSender.transmitRequest(request.getLocalAddress().getHostAddress(), response);
 | 
	
		
			
				|  |  |                  return;
 | 
	
		
			
				|  |  |              }
 |