From 574bad047cb2b5e939b5a2643ba285252a0e33f3 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: Mon, 2 Dec 2024 15:15:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BA=A7=E8=81=94=E6=8E=A8?= =?UTF-8?q?=E6=B5=81=E6=97=B6=E6=9C=AC=E5=9C=B0=E7=AB=AF=E5=8F=A3=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../request/impl/InviteRequestProcessor.java | 27 ++++++++++--------- .../redisMsg/control/RedisRpcController.java | 3 +++ 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java index ea81d6e1..93b46b28 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java @@ -665,19 +665,21 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements * 安排推流 */ private void sendProxyStream(SendRtpItem sendRtpItem, MediaServerItem mediaServerItem, ParentPlatform platform, SIPRequest request) { - Boolean streamReady = zlmServerFactory.isStreamReady(mediaServerItem, sendRtpItem.getApp(), sendRtpItem.getStream()); - if (streamReady != null && streamReady) { - // 自平台内容 - int localPort = sendRtpPortManager.getNextPort(mediaServerItem); - if (localPort == 0) { - logger.warn("服务器端口资源不足"); - try { - responseAck(request, Response.BUSY_HERE); - } catch (SipException | InvalidArgumentException | ParseException e) { - logger.error("[命令发送失败] invite 服务器端口资源不足: {}", e.getMessage()); - } - return; + Boolean streamReady = zlmServerFactory.isStreamReady(mediaServerItem, sendRtpItem.getApp(), sendRtpItem.getStream()); + if (streamReady != null && streamReady) { + // 自平台内容 + int localPort = sendRtpPortManager.getNextPort(mediaServerItem); + if (localPort == 0) { + logger.warn("服务器端口资源不足"); + try { + responseAck(request, Response.BUSY_HERE); + } catch (SipException | InvalidArgumentException | ParseException e) { + logger.error("[命令发送失败] invite 服务器端口资源不足: {}", e.getMessage()); } + return; + + } + sendRtpItem.setLocalPort(localPort); sendRtpItem.setPlayType(InviteStreamType.PROXY); // 写入redis, 超时时回复 sendRtpItem.setStatus(1); @@ -707,6 +709,7 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements } return; } + sendRtpItem.setLocalPort(localPort); // 写入redis, 超时时回复 sendRtpItem.setStatus(1); SIPResponse response = sendStreamAck(request, sendRtpItem, platform); diff --git a/src/main/java/com/genersoft/iot/vmp/service/redisMsg/control/RedisRpcController.java b/src/main/java/com/genersoft/iot/vmp/service/redisMsg/control/RedisRpcController.java index af792044..150cc62a 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/redisMsg/control/RedisRpcController.java +++ b/src/main/java/com/genersoft/iot/vmp/service/redisMsg/control/RedisRpcController.java @@ -92,6 +92,7 @@ public class RedisRpcController { if (mediaServerItem == null) { RedisRpcResponse response = request.getResponse(); response.setStatusCode(200); + return response; } // 自平台内容 int localPort = sendRtpPortManager.getNextPort(mediaServerItem); @@ -99,9 +100,11 @@ public class RedisRpcController { logger.info("[redis-rpc] getSendRtpItem->服务器端口资源不足" ); RedisRpcResponse response = request.getResponse(); response.setStatusCode(200); + return response; } // 写入redis, 超时时回复 sendRtpItem.setStatus(1); + sendRtpItem.setLocalPort(localPort); sendRtpItem.setServerId(userSetting.getServerId()); sendRtpItem.setLocalIp(mediaServerItem.getSdpIp()); if (sendRtpItem.getSsrc() == null) {