From a2e7e8ff9cfaa69b001d483710bddbda50d55c91 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Mon, 01 Jun 2026 16:14:19 +0800
Subject: [PATCH] 优化

---
 ard-modules/ard-modules-gb28181/src/main/java/com/ard/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/ard-modules/ard-modules-gb28181/src/main/java/com/ard/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java b/ard-modules/ard-modules-gb28181/src/main/java/com/ard/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java
index 05f85bc..0427e90 100644
--- a/ard-modules/ard-modules-gb28181/src/main/java/com/ard/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java
+++ b/ard-modules/ard-modules-gb28181/src/main/java/com/ard/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java
@@ -115,6 +115,13 @@
                     device.setRegisterTime(DateUtil.getNow());
                     deviceService.online(device, null);
                 } else {
+                    // 注销续订:回复200 OK后执行离线
+                    try {
+                        Response unregisterOkResponse = getRegisterOkResponse(request);
+                        sipSender.transmitRequest(request.getLocalAddress().getHostAddress(), unregisterOkResponse);
+                    } catch (SipException | ParseException e) {
+                        log.error("[注销续订] 回复200 OK失败: {}", e.getMessage());
+                    }
                     deviceService.offline(deviceId, "主动注销");
                 }
                 return;
@@ -185,6 +192,11 @@
                     device.setGeoCoordSys("WGS84");
                 }
             }
+            // 从SIP From头中提取设备名称
+            String displayName = address.getDisplayName();
+            if (StringUtils.isNotEmpty(displayName)) {
+                device.setName(displayName);
+            }
 
             //国标协议版本(2022)
             Header header = request.getHeader("X-GB-Ver");

--
Gitblit v1.9.3