From f223aad70516049577c261d5e6cd876abed07cb4 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期五, 18 十一月 2022 18:39:44 +0800 Subject: [PATCH] Merge branch 'wvp-28181-2.0' --- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java index ded86ae..d8efbfe 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java @@ -22,6 +22,9 @@ import org.springframework.stereotype.Component; import org.springframework.util.ObjectUtils; +import javax.sip.*; +import javax.sip.header.*; +import javax.sip.message.Request; import javax.sip.RequestEvent; import javax.sip.SipException; import javax.sip.header.AuthorizationHeader; @@ -117,6 +120,13 @@ if (request.getExpires() == null) { response = getMessageFactory().createResponse(Response.BAD_REQUEST, request); + if (evt.getDialog() != null ) { + if (evt.getDialog().isServer()) { + ServerTransaction serverTransaction = getServerTransaction(evt); + serverTransaction.sendResponse(response); + serverTransaction.getDialog().delete(); + } + } sipSender.transmitRequest(request.getLocalAddress().getHostAddress(), response); return; } @@ -175,4 +185,12 @@ e.printStackTrace(); } } + + private void sendResponse(RequestEvent evt, Response response) throws InvalidArgumentException, SipException { + ServerTransaction serverTransaction = getServerTransaction(evt); + serverTransaction.sendResponse(response); + if (serverTransaction.getDialog() != null) { + serverTransaction.getDialog().delete(); + } + } } -- Gitblit v1.8.0