From 33b51c40ddd9750a19b2c6a6618fb22386f87cd7 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 13 十一月 2020 18:12:21 +0800
Subject: [PATCH] 增加强制不查询编码信息配置

---
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java |   50 +++++++++++++++++++++++++++++---------------------
 1 files changed, 29 insertions(+), 21 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 ebb6db4..276127f 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,7 +7,6 @@
 
 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;
@@ -17,19 +16,16 @@
 import javax.sip.message.Request;
 import javax.sip.message.Response;
 
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
 import org.springframework.util.StringUtils;
 
 import com.genersoft.iot.vmp.common.VideoManagerConstants;
 import com.genersoft.iot.vmp.conf.SipConfig;
-import com.genersoft.iot.vmp.gb28181.SipLayer;
 import com.genersoft.iot.vmp.gb28181.auth.DigestServerAuthenticationHelper;
 import com.genersoft.iot.vmp.gb28181.auth.RegisterLogicHandler;
 import com.genersoft.iot.vmp.gb28181.bean.Device;
 import com.genersoft.iot.vmp.gb28181.bean.Host;
 import com.genersoft.iot.vmp.gb28181.event.EventPublisher;
-import com.genersoft.iot.vmp.gb28181.transmit.request.ISIPRequestProcessor;
+import com.genersoft.iot.vmp.gb28181.transmit.request.SIPRequestAbstractProcessor;
 import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
 
 import gov.nist.javax.sip.address.AddressImpl;
@@ -38,22 +34,17 @@
 
 /**    
  * @Description:鏀跺埌娉ㄥ唽璇锋眰 澶勭悊 
- * @author: songww
+ * @author: swwheihei
  * @date:   2020骞�5鏈�3鏃� 涓嬪崍4:47:25     
  */
-@Component
-public class RegisterRequestProcessor implements ISIPRequestProcessor {
+public class RegisterRequestProcessor extends SIPRequestAbstractProcessor {
 
-	@Autowired
-	private SipConfig config;
+	private SipConfig sipConfig;
 	
-	@Autowired
 	private RegisterLogicHandler handler;
 	
-	@Autowired
 	private IVideoManagerStorager storager;
 	
-	@Autowired
 	private EventPublisher publisher;
 	
 	/***
@@ -63,7 +54,7 @@
 	 *            璇锋眰娑堟伅
 	 */ 
 	@Override
-	public void process(RequestEvent evt, SipLayer layer, ServerTransaction transaction) {
+	public void process(RequestEvent evt) {
 		try {
 			System.out.println("鏀跺埌娉ㄥ唽璇锋眰锛屽紑濮嬪鐞�");
 			Request request = evt.getRequest();
@@ -77,7 +68,7 @@
 			// 鏍¢獙瀵嗙爜鏄惁姝g‘
 			if (authorhead != null) {
 				passwordCorrect = new DigestServerAuthenticationHelper().doAuthenticatePlainTextPassword(request,
-						config.getSipPassword());
+						sipConfig.getSipPassword());
 			}
 
 			// 鏈惡甯︽巿鏉冨ご鎴栬�呭瘑鐮侀敊璇� 鍥炲401
@@ -88,14 +79,14 @@
 				} else if (!passwordCorrect) {
 					System.out.println("瀵嗙爜閿欒 鍥炲401");
 				}
-				response = layer.getMessageFactory().createResponse(Response.UNAUTHORIZED, request);
-				new DigestServerAuthenticationHelper().generateChallenge(layer.getHeaderFactory(), response, config.getSipDomain());
+				response = getMessageFactory().createResponse(Response.UNAUTHORIZED, request);
+				new DigestServerAuthenticationHelper().generateChallenge(getHeaderFactory(), response, sipConfig.getSipDomain());
 			}
 			// 鎼哄甫鎺堟潈澶村苟涓斿瘑鐮佹纭�
 			else if (passwordCorrect) {
-				response = layer.getMessageFactory().createResponse(Response.OK, request);
+				response = getMessageFactory().createResponse(Response.OK, request);
 				// 娣诲姞date澶�
-				response.addHeader(layer.getHeaderFactory().createDateHeader(Calendar.getInstance(Locale.ENGLISH)));
+				response.addHeader(getHeaderFactory().createDateHeader(Calendar.getInstance(Locale.ENGLISH)));
 				ExpiresHeader expiresHeader = (ExpiresHeader) request.getHeader(Expires.NAME);
 				// 娣诲姞Contact澶�
 				response.addHeader(request.getHeader(ContactHeader.NAME));
@@ -122,6 +113,7 @@
 				SipUri uri = (SipUri) address.getURI();
 				String deviceId = uri.getUser();
 				device = new Device();
+				device.setStreamMode("UDP");
 				device.setDeviceId(deviceId);
 				device.setHost(host);
 				// 娉ㄩ攢鎴愬姛
@@ -141,13 +133,13 @@
 					device.setTransport(isTcp ? "TCP" : "UDP");
 				}
 			}
-			transaction.sendResponse(response);
+			getServerTransaction(evt).sendResponse(response);
 			// 娉ㄥ唽鎴愬姛
 			// 淇濆瓨鍒皉edis
 			// 涓嬪彂catelog鏌ヨ鐩綍
 			if (registerFlag == 1 && device != null) {
 				System.out.println("娉ㄥ唽鎴愬姛! deviceId:" + device.getDeviceId());
-				storager.update(device);
+				storager.updateDevice(device);
 				publisher.onlineEventPublish(device.getDeviceId(), VideoManagerConstants.EVENT_ONLINE_REGISTER);
 				handler.onRegister(device);
 			} else if (registerFlag == 2) {
@@ -159,5 +151,21 @@
 		}
 		
 	}
+	
+	public void setSipConfig(SipConfig sipConfig) {
+		this.sipConfig = sipConfig;
+	}
+
+	public void setHandler(RegisterLogicHandler handler) {
+		this.handler = handler;
+	}
+
+	public void setVideoManagerStorager(IVideoManagerStorager storager) {
+		this.storager = storager;
+	}
+
+	public void setPublisher(EventPublisher publisher) {
+		this.publisher = publisher;
+	}
 
 }

--
Gitblit v1.8.0