648540858
2022-10-17 f6320c7dd3dfd25e98bb63f41d79a33af5009a93
合并主线
4个文件已修改
35 ■■■■■ 已修改文件
sql/update.sql 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/media/zlm/dto/MediaServerItemLite.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sql/update.sql
@@ -1,4 +1,4 @@
alter table wvp.media_server
alter table media_server
    drop column streamNoneReaderDelayMS;
alter table stream_proxy
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java
@@ -896,7 +896,11 @@
        AudioBroadcastCatch audioBroadcastCatch = audioBroadcastManager.get(requesterId, channelId);
        if (audioBroadcastCatch == null) {
            logger.warn("来自设备的Invite请求非语音广播,已忽略,requesterId: {}/{}", requesterId, channelId);
            try {
            responseAck(serverTransaction, Response.FORBIDDEN);
            } catch (SipException | InvalidArgumentException | ParseException e) {
                logger.error("[命令发送失败] 来自设备的Invite请求非语音广播 FORBIDDEN: {}", e.getMessage());
            }
            return;
        }
        Request request = serverTransaction.getRequest();
@@ -920,6 +924,7 @@
            if (ssrcIndex > 0) {
                substring = contentString.substring(0, ssrcIndex);
            }
            try {
            SessionDescription sdp = SdpFactory.getInstance().createSessionDescription(substring);
            //  获取支持的格式
@@ -955,7 +960,11 @@
            if (port == -1) {
                logger.info("不支持的媒体格式,返回415");
                // 回复不支持的格式
                    try {
                responseAck(serverTransaction, Response.UNSUPPORTED_MEDIA_TYPE); // 不支持的格式,发415
                    } catch (SipException | InvalidArgumentException | ParseException e) {
                        logger.error("[命令发送失败] invite 不支持的媒体格式: {}", e.getMessage());
                    }
                return;
            }
            String addressStr = sdp.getOrigin().getAddress();
@@ -964,7 +973,11 @@
            MediaServerItem mediaServerItem = playService.getNewMediaServerItem(device);
            if (mediaServerItem == null) {
                logger.warn("未找到可用的zlm");
                    try {
                responseAck(serverTransaction, Response.BUSY_HERE);
                    } catch (SipException | InvalidArgumentException | ParseException e) {
                        logger.error("[命令发送失败] invite 未找到可用的zlm: {}", e.getMessage());
                    }
                return;
            }
            SendRtpItem sendRtpItem = zlmrtpServerFactory.createSendRtpItem(mediaServerItem, addressStr, port, ssrc, requesterId,
@@ -972,7 +985,11 @@
                    mediaTransmissionTCP);
            if (sendRtpItem == null) {
                logger.warn("服务器端口资源不足");
                    try {
                responseAck(serverTransaction, Response.BUSY_HERE);
                    } catch (SipException | InvalidArgumentException | ParseException e) {
                        logger.error("[命令发送失败] invite 服务器端口资源不足: {}", e.getMessage());
                    }
                return;
            }
            sendRtpItem.setTcp(mediaTransmissionTCP);
@@ -1001,6 +1018,9 @@
                logger.warn("[语音通话], 未发现待推送的流,app={},stream={}", app, stream);
                playService.stopAudioBroadcast(device.getDeviceId(), audioBroadcastCatch.getChannelId());
            }
            } catch (SdpException e) {
                logger.error("[SDP解析异常]", e);
            }
        } else {
            logger.warn("来自无效设备/平台的请求");
            try {
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java
@@ -11,7 +11,6 @@
import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
import com.genersoft.iot.vmp.gb28181.transmit.event.request.ISIPRequestProcessor;
import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent;
import com.genersoft.iot.vmp.gb28181.utils.Coordtransform;
import com.genersoft.iot.vmp.gb28181.utils.NumericUtil;
import com.genersoft.iot.vmp.gb28181.utils.SipUtils;
import com.genersoft.iot.vmp.gb28181.utils.XmlUtil;
src/main/java/com/genersoft/iot/vmp/media/zlm/dto/MediaServerItemLite.java
@@ -38,8 +38,6 @@
    private String secret;
    private int streamNoneReaderDelayMS;
    private int hookAliveInterval;
    private int recordAssistPort;
@@ -60,9 +58,7 @@
        this.rtspPort = mediaServerItem.getRtspPort();
        this.rtspSSLPort = mediaServerItem.getRtspSSLPort();
        this.secret = mediaServerItem.getSecret();
        this.streamNoneReaderDelayMS = mediaServerItem.getStreamNoneReaderDelayMS();
        this.hookAliveInterval = mediaServerItem.getHookAliveInterval();
        this.streamNoneReaderDelayMS = mediaServerItem.getStreamNoneReaderDelayMS();
        this.recordAssistPort = mediaServerItem.getRecordAssistPort();
    }
@@ -169,14 +165,6 @@
    public void setSecret(String secret) {
        this.secret = secret;
    }
    public int getStreamNoneReaderDelayMS() {
        return streamNoneReaderDelayMS;
    }
    public void setStreamNoneReaderDelayMS(int streamNoneReaderDelayMS) {
        this.streamNoneReaderDelayMS = streamNoneReaderDelayMS;
    }
    public int getHookAliveInterval() {