From 80d35b32314107c63656aecdd6231ea4810829e9 Mon Sep 17 00:00:00 2001 From: lin <648540858@qq.com> Date: Fri, 10 Apr 2026 17:25:03 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A1=AE=E4=BF=9D=E8=AF=AD=E9=9F=B3=E5=AF=B9?= =?UTF-8?q?=E8=AE=B2=E6=9C=AA=E6=90=BA=E5=B8=A6SSRC=E6=97=B6=E7=94=9F?= =?UTF-8?q?=E6=88=90=E9=9A=8F=E6=9C=BASSRC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/request/impl/InviteRequestProcessor.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 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 6daf12133..e71d6d57b 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 @@ -2,7 +2,6 @@ package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl; import com.genersoft.iot.vmp.common.InviteSessionType; import com.genersoft.iot.vmp.common.VideoManagerConstants; -import com.genersoft.iot.vmp.common.enums.ChannelDataType; import com.genersoft.iot.vmp.conf.DynamicTask; import com.genersoft.iot.vmp.conf.SipConfig; import com.genersoft.iot.vmp.conf.UserSetting; @@ -40,6 +39,7 @@ import javax.sip.RequestEvent; import javax.sip.SipException; import javax.sip.header.CallIdHeader; import javax.sip.message.Response; +import java.security.SecureRandom; import java.text.ParseException; import java.util.List; import java.util.Vector; @@ -481,6 +481,13 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements try { Gb28181Sdp gb28181Sdp = SipUtils.parseSDP(contentString); SessionDescription sdp = gb28181Sdp.getBaseSdb(); + + if (ObjectUtils.isEmpty(gb28181Sdp.getSsrc()) ) { + String ssrc = Integer.toUnsignedString(new SecureRandom().nextInt()); + log.warn("来自设备的Invite请求,未携带SSRC,生成随机ssrc: {},requesterId: {}/{}", ssrc, inviteInfo.getRequesterId(), inviteInfo.getSourceChannelId()); + gb28181Sdp.setSsrc(ssrc); + } + // 获取支持的格式 Vector mediaDescriptions = sdp.getMediaDescriptions(true); @@ -622,7 +629,9 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements content.append("a=setup:passive\r\n"); } } - content.append("y=" + ssrc + "\r\n"); + if (ssrc != null) { + content.append("y=" + ssrc + "\r\n"); + } content.append("f=v/////a/1/8/1\r\n"); Platform parentPlatform = new Platform();