From c3ce2bc5d069ba57309567aee4ae418bc0cf75ed Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期五, 17 三月 2023 13:22:05 +0800 Subject: [PATCH] 优化异常处理以及级联设备状态查询 --- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/response/impl/InviteResponseProcessor.java | 31 +++++++++---------------------- 1 files changed, 9 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/response/impl/InviteResponseProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/response/impl/InviteResponseProcessor.java index 3cca115..b5a9ee7 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/response/impl/InviteResponseProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/response/impl/InviteResponseProcessor.java @@ -1,10 +1,12 @@ package com.genersoft.iot.vmp.gb28181.transmit.event.response.impl; import com.genersoft.iot.vmp.conf.SipConfig; +import com.genersoft.iot.vmp.gb28181.SipLayer; import com.genersoft.iot.vmp.gb28181.bean.Device; import com.genersoft.iot.vmp.gb28181.bean.SsrcTransaction; import com.genersoft.iot.vmp.gb28181.session.VideoStreamSessionManager; import com.genersoft.iot.vmp.gb28181.transmit.SIPProcessorObserver; +import com.genersoft.iot.vmp.gb28181.transmit.SIPSender; import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommander; import com.genersoft.iot.vmp.gb28181.transmit.cmd.SIPRequestHeaderProvider; import com.genersoft.iot.vmp.gb28181.transmit.event.response.SIPResponseProcessorAbstract; @@ -49,32 +51,17 @@ private final String method = "INVITE"; @Autowired - private VideoStreamSessionManager streamSession; - - @Autowired private SIPProcessorObserver sipProcessorObserver; - @Autowired - private SipConfig sipConfig; @Autowired - private SipFactory sipFactory; + private SipLayer sipLayer; @Autowired - private GitUtil gitUtil; - - @Autowired - private ISIPCommander commander; - - @Autowired - private IDeviceService deviceService; + private SIPSender sipSender; @Autowired private SIPRequestHeaderProvider headerProvider; - - @Autowired - @Qualifier(value="udpSipProvider") - private SipProviderImpl udpSipProvider; @Override @@ -93,8 +80,8 @@ */ @Override public void process(ResponseEvent evt ){ + logger.debug("鎺ユ敹鍒版秷鎭細" + evt.getResponse()); try { - SIPResponse response = (SIPResponse)evt.getResponse(); int statusCode = response.getStatusCode(); // trying涓嶄細鍥炲 @@ -117,12 +104,12 @@ } else { sdp = SdpFactory.getInstance().createSessionDescription(contentString); } - SipURI requestUri = sipFactory.createAddressFactory().createSipURI(sdp.getOrigin().getUsername(), event.getRemoteIpAddress() + ":" + event.getRemotePort()); - Request reqAck = headerProvider.createAckRequest(requestUri, response); + + SipURI requestUri = sipLayer.getSipFactory().createAddressFactory().createSipURI(sdp.getOrigin().getUsername(), event.getRemoteIpAddress() + ":" + event.getRemotePort()); + Request reqAck = headerProvider.createAckRequest(response.getLocalAddress().getHostAddress(), requestUri, response); logger.info("[鍥炲ack] {}-> {}:{} ", sdp.getOrigin().getUsername(), event.getRemoteIpAddress(), event.getRemotePort()); - commander.transmitRequest(response.getTopmostViaHeader().getTransport(), reqAck, null, null); - + sipSender.transmitRequest( response.getLocalAddress().getHostAddress(), reqAck); } } catch (InvalidArgumentException | ParseException | SipException | SdpParseException e) { logger.info("[鐐规挱鍥炲ACK]锛屽紓甯革細", e ); -- Gitblit v1.8.0