From c296e431db47f91211182c4c65afe0ff83851950 Mon Sep 17 00:00:00 2001
From: Lawrence <1934378145@qq.com>
Date: 星期四, 25 六月 2020 15:35:24 +0800
Subject: [PATCH] 修改ZLMediaKit Hook路径与其缺省值一致

---
 src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java |   46 +++++++++++++++++++++++++++++-----------------
 1 files changed, 29 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java b/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java
index 273f4ed..64525d7 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java
@@ -1,5 +1,6 @@
 package com.genersoft.iot.vmp.gb28181;
 
+import java.text.ParseException;
 import java.util.Properties;
 
 import javax.annotation.PostConstruct;
@@ -42,7 +43,7 @@
 	private final static Logger logger = LoggerFactory.getLogger(SipLayer.class);
 
 	@Autowired
-	private SipConfig config;
+	private SipConfig sipConfig;
 
 	private SipProvider tcpSipProvider;
 
@@ -59,10 +60,10 @@
 
 	@PostConstruct
 	private void initSipServer() {
-		Thread thread=new Thread(this);
-        thread.setDaemon(true);
-        thread.setName("sip server thread start");
-        thread.start();
+		Thread thread = new Thread(this);
+		thread.setDaemon(true);
+		thread.setName("sip server thread start");
+		thread.start();
 	}
 
 	@Override
@@ -77,14 +78,14 @@
 
 			Properties properties = new Properties();
 			properties.setProperty("javax.sip.STACK_NAME", "GB28181_SIP");
-			properties.setProperty("javax.sip.IP_ADDRESS", config.getSipIp());
+			properties.setProperty("javax.sip.IP_ADDRESS", sipConfig.getSipIp());
 			properties.setProperty("gov.nist.javax.sip.LOG_MESSAGE_CONTENT", "false");
 			/**
 			 * sip_server_log.log 鍜� sip_debug_log.log public static final int TRACE_NONE =
 			 * 0; public static final int TRACE_MESSAGES = 16; public static final int
 			 * TRACE_EXCEPTION = 17; public static final int TRACE_DEBUG = 32;
 			 */
-			properties.setProperty("gov.nist.javax.sip.TRACE_LEVEL", "0");
+			properties.setProperty("gov.nist.javax.sip.TRACE_LEVEL", "32");
 			properties.setProperty("gov.nist.javax.sip.SERVER_LOG", "sip_server_log");
 			properties.setProperty("gov.nist.javax.sip.DEBUG_LOG", "sip_debug_log");
 			sipStack = (SipStackImpl) sipFactory.createSipStack(properties);
@@ -92,20 +93,22 @@
 			startTcpListener();
 			startUdpListener();
 		} catch (Exception e) {
-			logger.error("Sip Server 鍚姩澶辫触锛� port {" + config.getSipPort() + "}");
+			logger.error("Sip Server 鍚姩澶辫触锛� port {" + sipConfig.getSipPort() + "}");
 			e.printStackTrace();
 		}
-		logger.info("Sip Server 鍚姩鎴愬姛 port {" + config.getSipPort() + "}");
+		logger.info("Sip Server 鍚姩鎴愬姛 port {" + sipConfig.getSipPort() + "}");
 	}
 
 	private void startTcpListener() throws Exception {
-		ListeningPoint tcpListeningPoint = sipStack.createListeningPoint(config.getSipIp(), config.getSipPort(), "TCP");
+		ListeningPoint tcpListeningPoint = sipStack.createListeningPoint(sipConfig.getSipIp(), sipConfig.getSipPort(),
+				"TCP");
 		tcpSipProvider = sipStack.createSipProvider(tcpListeningPoint);
 		tcpSipProvider.addSipListener(this);
 	}
 
 	private void startUdpListener() throws Exception {
-		ListeningPoint udpListeningPoint = sipStack.createListeningPoint(config.getSipIp(), config.getSipPort(), "UDP");
+		ListeningPoint udpListeningPoint = sipStack.createListeningPoint(sipConfig.getSipIp(), sipConfig.getSipPort(),
+				"UDP");
 		udpSipProvider = sipStack.createSipProvider(udpListeningPoint);
 		udpSipProvider.addSipListener(this);
 	}
@@ -117,7 +120,7 @@
 	@Override
 	public void processRequest(RequestEvent evt) {
 		ISIPRequestProcessor processor = processorFactory.createRequestProcessor(evt);
-		processor.process(evt, this, getServerTransaction(evt));
+		processor.process(evt, this);
 	}
 
 	@Override
@@ -126,14 +129,23 @@
 		int status = response.getStatusCode();
 		if ((status >= 200) && (status < 300)) { // Success!
 			ISIPResponseProcessor processor = processorFactory.createResponseProcessor(evt);
-			processor.process(evt, this, config);
+			try {
+				processor.process(evt, this, sipConfig);
+			} catch (ParseException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+		// } else if (status == Response.TRYING) {
+			// trying涓嶄細鍥炲
+		} else if ((status >= 100) && (status < 200)) {
+			// 澧炲姞鍏跺畠鏃犻渶鍥炲鐨勫搷搴旓紝濡�101銆�180绛�
 		} else {
-			logger.warn("鎺ユ敹鍒板け璐ョ殑response鍝嶅簲锛乻tatus锛�" + status + ",message:" + response.getContent().toString());
+			logger.warn("鎺ユ敹鍒板け璐ョ殑response鍝嶅簲锛乻tatus锛�" + status + ",message:" + response.getReasonPhrase()/* .getContent().toString()*/);
 		}
 		// trying涓嶄細鍥炲
-		if (status == Response.TRYING) {
+		// if (status == Response.TRYING) {
 
-		}
+		// }
 	}
 
 	/**
@@ -200,7 +212,7 @@
 
 	}
 
-	private ServerTransaction getServerTransaction(RequestEvent evt) {
+	public ServerTransaction getServerTransaction(RequestEvent evt) {
 		Request request = evt.getRequest();
 		ServerTransaction serverTransaction = evt.getServerTransaction();
 		// 鍒ゆ柇TCP杩樻槸UDP

--
Gitblit v1.8.0