修身目录刷新,优化公网下远程IP端口的获取
parent
22deb206ba
commit
269ad8cedb
|
@ -27,7 +27,7 @@ public class ServerLoggerImpl implements ServerLogger {
|
|||
return;
|
||||
}
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
stringBuilder.append(!sender? "发送:目标--->" + from:"接收:来自--->" + to)
|
||||
stringBuilder.append(sender? "发送:目标--->" + from:"接收:来自--->" + to)
|
||||
.append("\r\n")
|
||||
.append(message);
|
||||
this.stackLogger.logInfo(stringBuilder.toString());
|
||||
|
@ -40,7 +40,7 @@ public class ServerLoggerImpl implements ServerLogger {
|
|||
return;
|
||||
}
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
stringBuilder.append(!sender? "发送: 目标->" + from :"接收:来自->" + to)
|
||||
stringBuilder.append(sender? "发送: 目标->" + from :"接收:来自->" + to)
|
||||
.append("\r\n")
|
||||
.append(message);
|
||||
this.stackLogger.logInfo(stringBuilder.toString());
|
||||
|
@ -52,7 +52,7 @@ public class ServerLoggerImpl implements ServerLogger {
|
|||
return;
|
||||
}
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
stringBuilder.append(!sender? "发送: 目标->" + from :"接收:来自->" + to)
|
||||
stringBuilder.append(sender? "发送: 目标->" + from :"接收:来自->" + to)
|
||||
.append("\r\n")
|
||||
.append(message);
|
||||
this.stackLogger.logInfo(stringBuilder.toString());
|
||||
|
@ -87,6 +87,4 @@ public class ServerLoggerImpl implements ServerLogger {
|
|||
this.stackLogger = this.sipStack.getStackLogger();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -96,7 +96,7 @@ public class RegisterRequestProcessor extends SIPRequestProcessorParent implemen
|
|||
|
||||
RemoteAddressInfo remoteAddressInfo = SipUtils.getRemoteAddressFromRequest(request,
|
||||
userSetting.getSipUseSourceIpAsRemoteAddress());
|
||||
|
||||
logger.info("[注册请求] 设备:{}, 远程地址为: {}:{}", deviceId, remoteAddressInfo.getIp(), remoteAddressInfo.getPort());
|
||||
if (device != null &&
|
||||
device.getSipTransactionInfo() != null &&
|
||||
request.getCallIdHeader().getCallId().equals(device.getSipTransactionInfo().getCallId())) {
|
||||
|
|
|
@ -69,6 +69,7 @@ public class KeepaliveNotifyMessageHandler extends SIPRequestProcessorParent imp
|
|||
|
||||
RemoteAddressInfo remoteAddressInfo = SipUtils.getRemoteAddressFromRequest(request, userSetting.getSipUseSourceIpAsRemoteAddress());
|
||||
if (!device.getIp().equalsIgnoreCase(remoteAddressInfo.getIp()) || device.getPort() != remoteAddressInfo.getPort()) {
|
||||
logger.info("[心跳] 设备{}地址变化, 远程地址为: {}:{}", device.getDeviceId(), remoteAddressInfo.getIp(), remoteAddressInfo.getPort());
|
||||
device.setPort(remoteAddressInfo.getPort());
|
||||
device.setHostAddress(remoteAddressInfo.getIp().concat(":").concat(String.valueOf(remoteAddressInfo.getPort())));
|
||||
device.setIp(remoteAddressInfo.getIp());
|
||||
|
|
|
@ -133,8 +133,9 @@ public class SipUtils {
|
|||
String remoteAddress;
|
||||
int remotePort;
|
||||
if (sipUseSourceIpAsRemoteAddress) {
|
||||
remoteAddress = request.getRemoteAddress().getHostAddress();
|
||||
remotePort = request.getRemotePort();
|
||||
remoteAddress = request.getPeerPacketSourceAddress().getHostAddress();
|
||||
remotePort = request.getPeerPacketSourcePort();
|
||||
|
||||
}else {
|
||||
// 判断RPort是否改变,改变则说明路由nat信息变化,修改设备信息
|
||||
// 获取到通信地址等信息
|
||||
|
@ -142,8 +143,8 @@ public class SipUtils {
|
|||
remotePort = request.getTopmostViaHeader().getRPort();
|
||||
// 解析本地地址替代
|
||||
if (ObjectUtils.isEmpty(remoteAddress) || remotePort == -1) {
|
||||
remoteAddress = request.getRemoteAddress().getHostAddress();
|
||||
remotePort = request.getRemotePort();
|
||||
remoteAddress = request.getPeerPacketSourceAddress().getHostAddress();
|
||||
remotePort = request.getPeerPacketSourcePort();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -271,6 +271,60 @@ public interface DeviceChannelMapper {
|
|||
"</script>")
|
||||
int batchAdd(List<DeviceChannel> addChannels);
|
||||
|
||||
|
||||
@Insert("<script> " +
|
||||
"insert into device_channel " +
|
||||
"(channelId, deviceId, name, manufacture, model, owner, civilCode, block, subCount, " +
|
||||
" address, parental, parentId, safetyWay, registerWay, certNum, certifiable, errCode, secrecy, " +
|
||||
" ipAddress, port, password, PTZType, status, streamId, longitude, latitude, longitudeGcj02, latitudeGcj02, " +
|
||||
" longitudeWgs84, latitudeWgs84, hasAudio, createTime, updateTime, businessGroupId, gpsTime) " +
|
||||
"values " +
|
||||
"<foreach collection='addChannels' index='index' item='item' separator=','> " +
|
||||
"(#{item.channelId}, #{item.deviceId}, #{item.name}, #{item.manufacture}, #{item.model}, " +
|
||||
"#{item.owner}, #{item.civilCode}, #{item.block},#{item.subCount}," +
|
||||
"#{item.address}, #{item.parental}, #{item.parentId}, #{item.safetyWay}, #{item.registerWay}, " +
|
||||
"#{item.certNum}, #{item.certifiable}, #{item.errCode}, #{item.secrecy}, " +
|
||||
"#{item.ipAddress}, #{item.port}, #{item.password}, #{item.PTZType}, #{item.status}, " +
|
||||
"#{item.streamId}, #{item.longitude}, #{item.latitude},#{item.longitudeGcj02}, " +
|
||||
"#{item.latitudeGcj02},#{item.longitudeWgs84}, #{item.latitudeWgs84}, #{item.hasAudio}, now(), now(), " +
|
||||
"#{item.businessGroupId}, #{item.gpsTime}) " +
|
||||
"</foreach> " +
|
||||
"ON DUPLICATE KEY UPDATE " +
|
||||
"updateTime=VALUES(updateTime), " +
|
||||
"name=VALUES(name), " +
|
||||
"manufacture=VALUES(manufacture), " +
|
||||
"model=VALUES(model), " +
|
||||
"owner=VALUES(owner), " +
|
||||
"civilCode=VALUES(civilCode), " +
|
||||
"block=VALUES(block), " +
|
||||
"subCount=VALUES(subCount), " +
|
||||
"address=VALUES(address), " +
|
||||
"parental=VALUES(parental), " +
|
||||
"parentId=VALUES(parentId), " +
|
||||
"safetyWay=VALUES(safetyWay), " +
|
||||
"registerWay=VALUES(registerWay), " +
|
||||
"certNum=VALUES(certNum), " +
|
||||
"certifiable=VALUES(certifiable), " +
|
||||
"errCode=VALUES(errCode), " +
|
||||
"secrecy=VALUES(secrecy), " +
|
||||
"ipAddress=VALUES(ipAddress), " +
|
||||
"port=VALUES(port), " +
|
||||
"password=VALUES(password), " +
|
||||
"PTZType=VALUES(PTZType), " +
|
||||
"status=VALUES(status), " +
|
||||
"streamId=VALUES(streamId), " +
|
||||
"longitude=VALUES(longitude), " +
|
||||
"latitude=VALUES(latitude), " +
|
||||
"longitudeGcj02=VALUES(longitudeGcj02), " +
|
||||
"latitudeGcj02=VALUES(latitudeGcj02), " +
|
||||
"longitudeWgs84=VALUES(longitudeWgs84), " +
|
||||
"latitudeWgs84=VALUES(latitudeWgs84), " +
|
||||
"hasAudio=VALUES(hasAudio), " +
|
||||
"businessGroupId=VALUES(businessGroupId), " +
|
||||
"gpsTime=VALUES(gpsTime)" +
|
||||
"</script>")
|
||||
int batchAddOrUpdate(List<DeviceChannel> addChannels);
|
||||
|
||||
@Update(value = {"UPDATE device_channel SET status=1 WHERE deviceId=#{deviceId} AND channelId=#{channelId}"})
|
||||
void online(String deviceId, String channelId);
|
||||
|
||||
|
|
|
@ -184,10 +184,10 @@ public class VideoManagerStorageImpl implements IVideoManagerStorage {
|
|||
if (i + limitCount > channels.size()) {
|
||||
toIndex = channels.size();
|
||||
}
|
||||
result = result || deviceChannelMapper.batchAdd(channels.subList(i, toIndex)) < 0;
|
||||
result = result || deviceChannelMapper.batchAddOrUpdate(channels.subList(i, toIndex)) < 0;
|
||||
}
|
||||
}else {
|
||||
result = result || deviceChannelMapper.batchAdd(channels) < 0;
|
||||
result = result || deviceChannelMapper.batchAddOrUpdate(channels) < 0;
|
||||
}
|
||||
}
|
||||
if (result) {
|
||||
|
@ -285,10 +285,10 @@ public class VideoManagerStorageImpl implements IVideoManagerStorage {
|
|||
if (i + limitCount > addChannels.size()) {
|
||||
toIndex = addChannels.size();
|
||||
}
|
||||
result = result || deviceChannelMapper.batchAdd(addChannels.subList(i, toIndex)) < 0;
|
||||
result = result || deviceChannelMapper.batchAddOrUpdate(addChannels.subList(i, toIndex)) < 0;
|
||||
}
|
||||
}else {
|
||||
result = result || deviceChannelMapper.batchAdd(addChannels) < 0;
|
||||
result = result || deviceChannelMapper.batchAddOrUpdate(addChannels) < 0;
|
||||
}
|
||||
}
|
||||
if (updateChannels.size() > 0) {
|
||||
|
|
Loading…
Reference in New Issue