修身目录刷新,优化公网下远程IP端口的获取

This commit is contained in:
648540858
2023-04-23 14:36:13 +08:00
parent 22deb206ba
commit 269ad8cedb
6 changed files with 68 additions and 14 deletions

View File

@@ -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();
}
}
}

View File

@@ -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())) {

View File

@@ -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());

View File

@@ -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();
}
}