From 6246ce6ba84fd2b4e7ce7768bfa1fb56c159cad3 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 02 二月 2023 16:24:02 +0800
Subject: [PATCH] Merge pull request #736 from kunlong-luo/fix-null-point-and-cast-exception

---
 src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java
index 56fdb5b..f3fbbb4 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java
@@ -13,7 +13,6 @@
 import javax.sip.header.FromHeader;
 import javax.sip.header.Header;
 import javax.sip.header.UserAgentHeader;
-import javax.sip.header.ViaHeader;
 import javax.sip.message.Request;
 import java.text.ParseException;
 import java.util.ArrayList;
@@ -138,13 +137,12 @@
         }else {
             // 鍒ゆ柇RPort鏄惁鏀瑰彉锛屾敼鍙樺垯璇存槑璺敱nat淇℃伅鍙樺寲锛屼慨鏀硅澶囦俊鎭�
             // 鑾峰彇鍒伴�氫俊鍦板潃绛変俊鎭�
-            ViaHeader viaHeader = (ViaHeader) request.getHeader(ViaHeader.NAME);
-            remoteAddress = viaHeader.getReceived();
-            remotePort = viaHeader.getRPort();
+            remoteAddress = request.getTopmostViaHeader().getReceived();
+            remotePort = request.getTopmostViaHeader().getRPort();
             // 瑙f瀽鏈湴鍦板潃鏇夸唬
             if (ObjectUtils.isEmpty(remoteAddress) || remotePort == -1) {
-                remoteAddress = viaHeader.getHost();
-                remotePort = viaHeader.getPort();
+                remoteAddress = request.getTopmostViaHeader().getHost();
+                remotePort = request.getTopmostViaHeader().getPort();
             }
         }
 

--
Gitblit v1.8.0