648540858
2023-02-15 2c7ed82b3ec2ce1bf9719b1a4630429c30cd0a14
src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java
@@ -121,6 +121,12 @@
        return builder.toString();
    }
    /**
     * 从请求中获取设备ip地址和端口号
     * @param request 请求
     * @param sipUseSourceIpAsRemoteAddress  false 从via中获取地址, true 直接获取远程地址
     * @return 地址信息
     */
    public static RemoteAddressInfo getRemoteAddressFromRequest(SIPRequest request, boolean sipUseSourceIpAsRemoteAddress) {
        String remoteAddress;
@@ -132,11 +138,11 @@
            // 判断RPort是否改变,改变则说明路由nat信息变化,修改设备信息
            // 获取到通信地址等信息
            remoteAddress = request.getTopmostViaHeader().getReceived();
            remotePort = request.getTopmostViaHeader().getPort();
            remotePort = request.getTopmostViaHeader().getRPort();
            // 解析本地地址替代
            if (ObjectUtils.isEmpty(remoteAddress) || remotePort == -1) {
                remoteAddress = request.getViaHost();
                remotePort = request.getViaPort();
                remoteAddress = request.getTopmostViaHeader().getHost();
                remotePort = request.getTopmostViaHeader().getPort();
            }
        }