From fd296d1a6acccbe9f3a72623719bf7101725f4e9 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 06 五月 2021 09:28:22 +0800
Subject: [PATCH] Merge pull request #93 from yu1183688986/wvp-28181-2.0

---
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java
index 91b6ecc..f2a2dec 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java
@@ -11,7 +11,7 @@
 import javax.sip.message.Request;
 import javax.sip.message.Response;
 
-import com.genersoft.iot.vmp.conf.MediaServerConfig;
+import com.genersoft.iot.vmp.media.zlm.ZLMServerConfig;
 import com.genersoft.iot.vmp.gb28181.bean.*;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommanderFroPlatform;
@@ -93,6 +93,11 @@
 				GbStream gbStream = storager.queryStreamInParentPlatform(requesterId, channelId);
 				// 涓嶆槸閫氶亾鍙兘鏄洿鎾祦
 				if (channel != null || gbStream != null ) {
+					if (channel.getStatus() == 0) {
+						logger.info("閫氶亾绂荤嚎锛岃繑鍥�400");
+						responseAck(evt, Response.BAD_REQUEST, "channel [" + channel.getChannelId() + "] offline");
+						return;
+					}
 					responseAck(evt, Response.CALL_IS_BEING_FORWARDED); // 閫氶亾瀛樺湪锛屽彂181锛屽懠鍙浆鎺ヤ腑
 				}else {
 					logger.info("閫氶亾涓嶅瓨鍦紝杩斿洖404");
@@ -182,7 +187,7 @@
 						sendRtpItem.setStatus(1);
 						redisCatchStorage.updateSendRTPSever(sendRtpItem);
 						// TODO 娣诲姞瀵箃cp鐨勬敮鎸�
-						MediaServerConfig mediaInfo = redisCatchStorage.getMediaInfo();
+						ZLMServerConfig mediaInfo = redisCatchStorage.getMediaInfo();
 						StringBuffer content = new StringBuffer(200);
 						content.append("v=0\r\n");
 						content.append("o="+"00000"+" 0 0 IN IP4 "+mediaInfo.getWanIp()+"\r\n");
@@ -241,7 +246,7 @@
 						sendRtpItem.setStatus(1);
 						redisCatchStorage.updateSendRTPSever(sendRtpItem);
 						// TODO 娣诲姞瀵箃cp鐨勬敮鎸�
-						MediaServerConfig mediaInfo = redisCatchStorage.getMediaInfo();
+						ZLMServerConfig mediaInfo = redisCatchStorage.getMediaInfo();
 						StringBuffer content = new StringBuffer(200);
 						content.append("v=0\r\n");
 						content.append("o="+"00000"+" 0 0 IN IP4 "+mediaInfo.getWanIp()+"\r\n");
@@ -367,6 +372,12 @@
 		getServerTransaction(evt).sendResponse(response);
 	}
 
+	private void responseAck(RequestEvent evt, int statusCode, String msg) throws SipException, InvalidArgumentException, ParseException {
+		Response response = getMessageFactory().createResponse(statusCode, evt.getRequest());
+		response.setReasonPhrase(msg);
+		getServerTransaction(evt).sendResponse(response);
+	}
+
 	/**
 	 * 鍥炲甯dp鐨�200
 	 * @param evt

--
Gitblit v1.8.0