Merge branch 'master' into dev/数据库统合
# Conflicts: # src/main/java/com/genersoft/iot/vmp/gb28181/dao/DeviceMapper.java # src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GbChannelPlayServiceImpl.java # src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/PlatformChannelServiceImpl.java
This commit is contained in:
@@ -199,7 +199,7 @@ public class ByeRequestProcessor extends SIPRequestProcessorParent implements In
|
||||
platformService.stopBroadcast(platform, channel, ssrcTransaction.getStream(), false,
|
||||
mediaServerService.getOne(mediaServerId));
|
||||
DeviceChannel deviceChannel = deviceChannelService.getOneForSourceById(channel.getGbId());
|
||||
Device device = deviceService.getDevice(channel.getGbDeviceDbId());
|
||||
Device device = deviceService.getDevice(channel.getDataDeviceId());
|
||||
playService.stopAudioBroadcast(device, deviceChannel);
|
||||
}
|
||||
|
||||
|
||||
@@ -115,7 +115,7 @@ public class NotifyRequestForCatalogProcessor extends SIPRequestProcessorParent
|
||||
log.info("[解析CatalogChannelEvent]成功:但是解析通道信息失败, 原文如下: \n{}", new String(evt.getRequest().getRawContent()));
|
||||
continue;
|
||||
}
|
||||
catalogChannelEvent.getChannel().setDeviceDbId(device.getId());
|
||||
catalogChannelEvent.getChannel().setDataDeviceId(device.getId());
|
||||
} catch (InvocationTargetException | NoSuchMethodException | InstantiationException |
|
||||
IllegalAccessException e) {
|
||||
log.error("[解析CatalogChannelEvent]失败,", e);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.info;
|
||||
|
||||
import com.genersoft.iot.vmp.common.enums.ChannelDataType;
|
||||
import com.genersoft.iot.vmp.gb28181.bean.*;
|
||||
import com.genersoft.iot.vmp.gb28181.event.SipSubscribe;
|
||||
import com.genersoft.iot.vmp.gb28181.service.*;
|
||||
@@ -101,7 +102,7 @@ public class InfoRequestProcessor extends SIPRequestProcessorParent implements I
|
||||
return;
|
||||
}
|
||||
// 判断通道类型
|
||||
if (channel.getGbDeviceDbId() == null) {
|
||||
if (channel.getDataType() != ChannelDataType.GB28181.value) {
|
||||
// 非国标通道不支持录像回放控制
|
||||
log.warn("[INFO 消息] 非国标通道不支持录像回放控制: 通道ID: {}", sendRtpInfo.getChannelId());
|
||||
responseAck(request, Response.FORBIDDEN, "");
|
||||
@@ -109,7 +110,7 @@ public class InfoRequestProcessor extends SIPRequestProcessorParent implements I
|
||||
}
|
||||
|
||||
// 根据通道ID,获取所属设备
|
||||
Device device = deviceService.getDevice(channel.getGbDeviceDbId());
|
||||
Device device = deviceService.getDevice(channel.getDataDeviceId());
|
||||
if (device == null) {
|
||||
// 不存在则回复404
|
||||
log.warn("[INFO 消息] 通道所属设备不存在, 通道ID: {}", sendRtpInfo.getChannelId());
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.control.cmd;
|
||||
|
||||
import com.genersoft.iot.vmp.common.enums.ChannelDataType;
|
||||
import com.genersoft.iot.vmp.common.enums.DeviceControlType;
|
||||
import com.genersoft.iot.vmp.gb28181.bean.*;
|
||||
import com.genersoft.iot.vmp.gb28181.event.SipSubscribe;
|
||||
@@ -134,7 +135,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent
|
||||
* 处理云台指令
|
||||
*/
|
||||
private void handlePtzCmd(CommonGBChannel channel, Element rootElement, SIPRequest request, DeviceControlType type) {
|
||||
if (channel.getGbDeviceDbId() == 0) {
|
||||
if (channel.getDataType() != ChannelDataType.GB28181.value) {
|
||||
// 只支持国标的云台控制
|
||||
log.warn("[INFO 消息] 只支持国标的云台控制, 通道ID: {}", channel.getGbId());
|
||||
try {
|
||||
@@ -145,7 +146,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent
|
||||
return;
|
||||
}
|
||||
// 根据通道ID,获取所属设备
|
||||
Device device = deviceService.getDevice(channel.getGbDeviceDbId());
|
||||
Device device = deviceService.getDevice(channel.getDataDeviceId());
|
||||
if (device == null) {
|
||||
// 不存在则回复404
|
||||
log.warn("[INFO 消息] 通道所属设备不存在, 通道ID: {}", channel.getGbId());
|
||||
@@ -184,7 +185,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent
|
||||
* 处理强制关键帧
|
||||
*/
|
||||
private void handleIFameCmd(CommonGBChannel channel, SIPRequest request) {
|
||||
if (channel.getGbDeviceDbId() == 0) {
|
||||
if (channel.getDataType() != ChannelDataType.GB28181.value) {
|
||||
// 只支持国标的云台控制
|
||||
log.warn("[INFO 消息] 只支持国标的处理强制关键帧, 通道ID: {}", channel.getGbId());
|
||||
try {
|
||||
@@ -195,7 +196,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent
|
||||
return;
|
||||
}
|
||||
// 根据通道ID,获取所属设备
|
||||
Device device = deviceService.getDevice(channel.getGbDeviceDbId());
|
||||
Device device = deviceService.getDevice(channel.getDataDeviceId());
|
||||
if (device == null) {
|
||||
// 不存在则回复404
|
||||
log.warn("[INFO 消息] 通道所属设备不存在, 通道ID: {}", channel.getGbId());
|
||||
@@ -232,7 +233,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent
|
||||
* 处理重启命令
|
||||
*/
|
||||
private void handleTeleBootCmd(CommonGBChannel channel, SIPRequest request) {
|
||||
if (channel.getGbDeviceDbId() == 0) {
|
||||
if (channel.getDataType() != ChannelDataType.GB28181.value) {
|
||||
// 只支持国标的云台控制
|
||||
log.warn("[INFO 消息] 只支持国标的重启命令, 通道ID: {}", channel.getGbId());
|
||||
try {
|
||||
@@ -243,7 +244,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent
|
||||
return;
|
||||
}
|
||||
// 根据通道ID,获取所属设备
|
||||
Device device = deviceService.getDevice(channel.getGbDeviceDbId());
|
||||
Device device = deviceService.getDevice(channel.getDataDeviceId());
|
||||
if (device == null) {
|
||||
// 不存在则回复404
|
||||
log.warn("[INFO 消息] 通道所属设备不存在, 通道ID: {}", channel.getGbId());
|
||||
@@ -267,7 +268,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent
|
||||
* 处理拉框控制
|
||||
*/
|
||||
private void handleDragZoom(CommonGBChannel channel, Element rootElement, SIPRequest request, DeviceControlType type) {
|
||||
if (channel.getGbDeviceDbId() == 0) {
|
||||
if (channel.getDataType() != ChannelDataType.GB28181.value) {
|
||||
// 只支持国标的云台控制
|
||||
log.warn("[INFO 消息] 只支持国标的拉框控制, 通道ID: {}", channel.getGbId());
|
||||
try {
|
||||
@@ -278,7 +279,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent
|
||||
return;
|
||||
}
|
||||
// 根据通道ID,获取所属设备
|
||||
Device device = deviceService.getDevice(channel.getGbDeviceDbId());
|
||||
Device device = deviceService.getDevice(channel.getDataDeviceId());
|
||||
if (device == null) {
|
||||
// 不存在则回复404
|
||||
log.warn("[INFO 消息] 通道所属设备不存在, 通道ID: {}", channel.getGbId());
|
||||
@@ -330,7 +331,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent
|
||||
* 处理看守位命令
|
||||
*/
|
||||
private void handleHomePositionCmd(CommonGBChannel channel, Element rootElement, SIPRequest request, DeviceControlType type) {
|
||||
if (channel.getGbDeviceDbId() == 0) {
|
||||
if (channel.getDataType() != ChannelDataType.GB28181.value) {
|
||||
// 只支持国标的云台控制
|
||||
log.warn("[INFO 消息] 只支持国标的看守位命令, 通道ID: {}", channel.getGbId());
|
||||
try {
|
||||
@@ -341,7 +342,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent
|
||||
return;
|
||||
}
|
||||
// 根据通道ID,获取所属设备
|
||||
Device device = deviceService.getDevice(channel.getGbDeviceDbId());
|
||||
Device device = deviceService.getDevice(channel.getDataDeviceId());
|
||||
if (device == null) {
|
||||
// 不存在则回复404
|
||||
log.warn("[INFO 消息] 通道所属设备不存在, 通道ID: {}", channel.getGbId());
|
||||
@@ -382,7 +383,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent
|
||||
* 处理告警消息
|
||||
*/
|
||||
private void handleAlarmCmd(CommonGBChannel channel, Element rootElement, SIPRequest request) {
|
||||
if (channel.getGbDeviceDbId() == 0) {
|
||||
if (channel.getDataType() != ChannelDataType.GB28181.value) {
|
||||
// 只支持国标的云台控制
|
||||
log.warn("[INFO 消息] 只支持国标的告警消息, 通道ID: {}", channel.getGbId());
|
||||
try {
|
||||
@@ -393,7 +394,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent
|
||||
return;
|
||||
}
|
||||
// 根据通道ID,获取所属设备
|
||||
Device device = deviceService.getDevice(channel.getGbDeviceDbId());
|
||||
Device device = deviceService.getDevice(channel.getDataDeviceId());
|
||||
if (device == null) {
|
||||
// 不存在则回复404
|
||||
log.warn("[INFO 消息] 通道所属设备不存在, 通道ID: {}", channel.getGbId());
|
||||
@@ -428,7 +429,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent
|
||||
* 处理录像控制
|
||||
*/
|
||||
private void handleRecordCmd(CommonGBChannel channel, Element rootElement, SIPRequest request, DeviceControlType type) {
|
||||
if (channel.getGbDeviceDbId() == 0) {
|
||||
if (channel.getDataType() != ChannelDataType.GB28181.value) {
|
||||
// 只支持国标的云台控制
|
||||
log.warn("[INFO 消息] 只支持国标的息录像控制, 通道ID: {}", channel.getGbId());
|
||||
try {
|
||||
@@ -439,7 +440,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent
|
||||
return;
|
||||
}
|
||||
// 根据通道ID,获取所属设备
|
||||
Device device = deviceService.getDevice(channel.getGbDeviceDbId());
|
||||
Device device = deviceService.getDevice(channel.getDataDeviceId());
|
||||
if (device == null) {
|
||||
// 不存在则回复404
|
||||
log.warn("[INFO 消息] 通道所属设备不存在, 通道ID: {}", channel.getGbId());
|
||||
@@ -480,7 +481,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent
|
||||
* 处理报警布防/撤防命令
|
||||
*/
|
||||
private void handleGuardCmd(CommonGBChannel channel, Element rootElement, SIPRequest request, DeviceControlType type) {
|
||||
if (channel.getGbDeviceDbId() == 0) {
|
||||
if (channel.getDataType() != ChannelDataType.GB28181.value) {
|
||||
// 只支持国标的云台控制
|
||||
log.warn("[INFO 消息] 只支持国标的报警布防/撤防命令, 通道ID: {}", channel.getGbId());
|
||||
try {
|
||||
@@ -491,7 +492,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent
|
||||
return;
|
||||
}
|
||||
// 根据通道ID,获取所属设备
|
||||
Device device = deviceService.getDevice(channel.getGbDeviceDbId());
|
||||
Device device = deviceService.getDevice(channel.getDataDeviceId());
|
||||
if (device == null) {
|
||||
// 不存在则回复404
|
||||
log.warn("[INFO 消息] 通道所属设备不存在, 通道ID: {}", channel.getGbId());
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.notify.cmd;
|
||||
|
||||
import com.genersoft.iot.vmp.common.enums.ChannelDataType;
|
||||
import com.genersoft.iot.vmp.conf.exception.ControllerException;
|
||||
import com.genersoft.iot.vmp.gb28181.bean.*;
|
||||
import com.genersoft.iot.vmp.gb28181.service.*;
|
||||
@@ -106,8 +107,18 @@ public class BroadcastNotifyMessageHandler extends SIPRequestProcessorParent imp
|
||||
responseAck(request, Response.NOT_FOUND, "TargetID not found");
|
||||
return;
|
||||
}
|
||||
if (channel.getDataType() != ChannelDataType.GB28181.value) {
|
||||
// 只支持国标的语音喊话
|
||||
log.warn("[INFO 消息] 只支持国标的语音喊话命令, 通道ID: {}", channel.getGbId());
|
||||
try {
|
||||
responseAck(request, Response.FORBIDDEN, "");
|
||||
} catch (SipException | InvalidArgumentException | ParseException e) {
|
||||
log.error("[命令发送失败] 错误信息: {}", e.getMessage());
|
||||
}
|
||||
return;
|
||||
}
|
||||
// 向下级发送语音的喊话请求
|
||||
Device device = deviceService.getDevice(channel.getGbDeviceDbId());
|
||||
Device device = deviceService.getDevice(channel.getDataDeviceId());
|
||||
if (device == null) {
|
||||
responseAck(request, Response.NOT_FOUND, "device not found");
|
||||
return;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.query.cmd;
|
||||
|
||||
import com.genersoft.iot.vmp.common.enums.ChannelDataType;
|
||||
import com.genersoft.iot.vmp.gb28181.bean.CommonGBChannel;
|
||||
import com.genersoft.iot.vmp.gb28181.bean.Device;
|
||||
import com.genersoft.iot.vmp.gb28181.bean.Platform;
|
||||
@@ -93,7 +94,7 @@ public class DeviceInfoQueryMessageHandler extends SIPRequestProcessorParent imp
|
||||
return;
|
||||
}
|
||||
// 判断通道类型
|
||||
if (channel.getGbDeviceDbId() == null) {
|
||||
if (channel.getDataType() != ChannelDataType.GB28181.value) {
|
||||
// 非国标通道不支持录像回放控制
|
||||
log.warn("[DeviceInfo] 非国标通道不支持录像回放控制: 通道ID: {}", channel.getGbId());
|
||||
try {
|
||||
@@ -106,10 +107,10 @@ public class DeviceInfoQueryMessageHandler extends SIPRequestProcessorParent imp
|
||||
}
|
||||
|
||||
// 根据通道ID,获取所属设备
|
||||
Device device = deviceService.getDevice(channel.getGbDeviceDbId());
|
||||
Device device = deviceService.getDevice(channel.getDataDeviceId());
|
||||
if (device == null) {
|
||||
// 不存在则回复404
|
||||
log.warn("[DeviceInfo] 通道所属设备不存在, 通道ID: {}", channel.getGbDeviceDbId());
|
||||
log.warn("[DeviceInfo] 通道所属设备不存在, 通道ID: {}", channel.getDataDeviceId());
|
||||
|
||||
try {
|
||||
responseAck(request, Response.NOT_FOUND, "device not found ");
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.query.cmd;
|
||||
|
||||
import com.genersoft.iot.vmp.common.enums.ChannelDataType;
|
||||
import com.genersoft.iot.vmp.gb28181.bean.CommonGBChannel;
|
||||
import com.genersoft.iot.vmp.gb28181.bean.Device;
|
||||
import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
|
||||
@@ -104,8 +105,8 @@ public class RecordInfoQueryMessageHandler extends SIPRequestProcessorParent imp
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (channel.getGbId() == 0 ) {
|
||||
log.info("[平台查询录像记录] 不支持查询推流和拉流代理的录像数据 {}/{}", platform.getName(), channelId );
|
||||
if (channel.getDataType() != ChannelDataType.GB28181.value) {
|
||||
log.info("[平台查询录像记录] 只支持查询国标28181的录像数据 {}/{}", platform.getName(), channelId );
|
||||
try {
|
||||
responseAck(request, Response.NOT_IMPLEMENTED); // 回复未实现
|
||||
} catch (SipException | InvalidArgumentException | ParseException e) {
|
||||
@@ -113,7 +114,7 @@ public class RecordInfoQueryMessageHandler extends SIPRequestProcessorParent imp
|
||||
}
|
||||
return;
|
||||
}
|
||||
Device device = deviceService.getDevice(channel.getGbDeviceDbId());
|
||||
Device device = deviceService.getDevice(channel.getDataDeviceId());
|
||||
if (device == null) {
|
||||
log.warn("[平台查询录像记录] 未找到通道对应的设备 {}/{}", platform.getName(), channelId );
|
||||
try {
|
||||
|
||||
@@ -139,7 +139,7 @@ public class CatalogResponseMessageHandler extends SIPRequestProcessorParent imp
|
||||
log.info("[收到目录订阅]:但是解析失败 {}", new String(evt.getRequest().getRawContent()));
|
||||
continue;
|
||||
}
|
||||
channel.setDeviceDbId(take.getDevice().getId());
|
||||
channel.setDataDeviceId(take.getDevice().getId());
|
||||
if (channel.getParentId() != null && channel.getParentId().equals(sipConfig.getId())) {
|
||||
channel.setParentId(null);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user