From a3649ca243f827f78b85dbb41af2c3d7d978aa89 Mon Sep 17 00:00:00 2001
From: panlinlin <648540858@qq.com>
Date: 星期二, 27 四月 2021 15:38:00 +0800
Subject: [PATCH] 优化mysql建库脚本
---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java | 23 +++++++++++++++--------
1 files changed, 15 insertions(+), 8 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 15d0638..43be89d 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
@@ -13,24 +13,20 @@
import com.genersoft.iot.vmp.conf.MediaServerConfig;
import com.genersoft.iot.vmp.gb28181.bean.*;
-import com.genersoft.iot.vmp.gb28181.event.SipSubscribe;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommanderFroPlatform;
import com.genersoft.iot.vmp.gb28181.transmit.request.SIPRequestAbstractProcessor;
-import com.genersoft.iot.vmp.media.zlm.ZLMHttpHookSubscribe;
import com.genersoft.iot.vmp.media.zlm.ZLMRTPServerFactory;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
-import com.genersoft.iot.vmp.vmanager.play.bean.PlayResult;
-import com.genersoft.iot.vmp.vmanager.service.IPlayService;
+import com.genersoft.iot.vmp.vmanager.gb28181.play.bean.PlayResult;
+import com.genersoft.iot.vmp.service.IPlayService;
import gov.nist.javax.sip.address.AddressImpl;
import gov.nist.javax.sip.address.SipUri;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.text.ParseException;
-import java.util.HashMap;
-import java.util.Map;
import java.util.Vector;
/**
@@ -90,13 +86,18 @@
}
// 鏌ヨ璇锋眰鏂规槸鍚︿笂绾у钩鍙�
- ParentPlatform platform = storager.queryParentPlatById(requesterId);
+ ParentPlatform platform = storager.queryParentPlatByServerGBId(requesterId);
if (platform != null) {
// 鏌ヨ骞冲彴涓嬫槸鍚︽湁璇ラ�氶亾
DeviceChannel channel = storager.queryChannelInParentPlatform(requesterId, channelId);
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 +183,7 @@
// 閫氱煡涓嬬骇鎺ㄦ祦锛�
PlayResult playResult = playService.play(device.getDeviceId(), channelId, (responseJSON)->{
// 鏀跺埌鎺ㄦ祦锛� 鍥炲200OK, 绛夊緟ack
- if (sendRtpItem == null) return;
+ // if (sendRtpItem == null) return;
sendRtpItem.setStatus(1);
redisCatchStorage.updateSendRTPSever(sendRtpItem);
// TODO 娣诲姞瀵箃cp鐨勬敮鎸�
@@ -371,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