From 80d2edeef25f752e0a80a6cff99e38f61c2d2cb2 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期二, 18 十月 2022 13:07:38 +0800 Subject: [PATCH] 优化sip消息构建,去除ServerTransaction的使用 --- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/control/cmd/DeviceControlQueryMessageHandler.java | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/control/cmd/DeviceControlQueryMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/control/cmd/DeviceControlQueryMessageHandler.java index cd70dd0..7ddb1be 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/control/cmd/DeviceControlQueryMessageHandler.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/control/cmd/DeviceControlQueryMessageHandler.java @@ -11,6 +11,7 @@ import com.genersoft.iot.vmp.storager.IVideoManagerStorage; import com.genersoft.iot.vmp.utils.SpringBeanFactory; import gov.nist.javax.sip.SipStackImpl; +import gov.nist.javax.sip.message.SIPRequest; import org.dom4j.Element; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -67,10 +68,10 @@ @Override public void handForPlatform(RequestEvent evt, ParentPlatform parentPlatform, Element rootElement) { - ServerTransaction serverTransaction = getServerTransaction(evt); + SIPRequest request = (SIPRequest) evt.getRequest(); // 姝ゅ鏄笂绾у彂鍑虹殑DeviceControl鎸囦护 - String targetGBId = ((SipURI) ((HeaderAddress) evt.getRequest().getHeader(ToHeader.NAME)).getAddress().getURI()).getUser(); + String targetGBId = ((SipURI) request.getToHeader().getAddress().getURI()).getUser(); String channelId = getText(rootElement, "DeviceID"); // 杩滅▼鍚姩鍔熻兘 if (!ObjectUtils.isEmpty(getText(rootElement, "TeleBoot"))) { @@ -111,7 +112,7 @@ Device deviceForPlatform = storager.queryVideoDeviceByPlatformIdAndChannelId(parentPlatform.getServerGBId(), channelId); if (deviceForPlatform == null) { try { - responseAck(serverTransaction, Response.NOT_FOUND); + responseAck(request, Response.NOT_FOUND); } catch (SipException | InvalidArgumentException | ParseException e) { logger.error("[鍛戒护鍙戦�佸け璐 閿欒淇℃伅: {}", e.getMessage()); } @@ -121,14 +122,14 @@ cmder.fronEndCmd(deviceForPlatform, channelId, cmdString, eventResult -> { // 澶辫触鐨勫洖澶� try { - responseAck(serverTransaction, eventResult.statusCode, eventResult.msg); + responseAck(request, eventResult.statusCode, eventResult.msg); } catch (SipException | InvalidArgumentException | ParseException e) { logger.error("[鍛戒护鍙戦�佸け璐 浜戝彴/鍓嶇鍥炲: {}", e.getMessage()); } }, eventResult -> { // 鎴愬姛鐨勫洖澶� try { - responseAck(serverTransaction, eventResult.statusCode); + responseAck(request, eventResult.statusCode); } catch (SipException | InvalidArgumentException | ParseException e) { logger.error("[鍛戒护鍙戦�佸け璐 浜戝彴/鍓嶇鍥炲: {}", e.getMessage()); } -- Gitblit v1.8.0