src/main/java/com/genersoft/iot/vmp/gb28181/bean/SipTransactionInfo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/genersoft/iot/vmp/gb28181/bean/SipTransactionInfo.java
New file @@ -0,0 +1,53 @@ package com.genersoft.iot.vmp.gb28181.bean; import gov.nist.javax.sip.message.SIPRequest; public class SipTransactionInfo { private String callId; private String fromTag; private String toTag; private String viaBranch; public SipTransactionInfo(SIPRequest request) { this.callId = request.getCallIdHeader().getCallId(); this.fromTag = request.getFromTag(); this.toTag = request.getToTag(); this.viaBranch = request.getTopmostViaHeader().getBranch(); } public SipTransactionInfo() { } public String getCallId() { return callId; } public void setCallId(String callId) { this.callId = callId; } public String getFromTag() { return fromTag; } public void setFromTag(String fromTag) { this.fromTag = fromTag; } public String getToTag() { return toTag; } public void setToTag(String toTag) { this.toTag = toTag; } public String getViaBranch() { return viaBranch; } public void setViaBranch(String viaBranch) { this.viaBranch = viaBranch; } } src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
@@ -417,10 +417,11 @@ String schema = item.getSchema(); List<MediaItem.MediaTrack> tracks = item.getTracks(); boolean regist = item.isRegist(); if (item.getOriginType() == OriginType.RTMP_PUSH.ordinal() || item.getOriginType() == OriginType.RTSP_PUSH.ordinal() || item.getOriginType() == OriginType.RTC_PUSH.ordinal()) { if (regist) { if (regist) { if (item.getOriginType() == OriginType.RTMP_PUSH.ordinal() || item.getOriginType() == OriginType.RTSP_PUSH.ordinal() || item.getOriginType() == OriginType.RTC_PUSH.ordinal()) { StreamAuthorityInfo streamAuthorityInfo = redisCatchStorage.getStreamAuthorityInfo(app, stream); if (streamAuthorityInfo == null) { streamAuthorityInfo = StreamAuthorityInfo.getInstanceByHook(item); @@ -429,9 +430,9 @@ streamAuthorityInfo.setOriginTypeStr(item.getOriginTypeStr()); } redisCatchStorage.updateStreamAuthorityInfo(app, stream, streamAuthorityInfo); }else { redisCatchStorage.removeStreamAuthorityInfo(app, stream); } }else { redisCatchStorage.removeStreamAuthorityInfo(app, stream); } if ("rtsp".equals(schema)){ @@ -451,16 +452,12 @@ if (streamInfo!=null){ redisCatchStorage.stopPlay(streamInfo); storager.stopPlay(streamInfo.getDeviceID(), streamInfo.getChannelId()); // 如果正在给上级推送,则发送bye }else{ streamInfo = redisCatchStorage.queryPlayback(null, null, stream, null); if (streamInfo != null) { redisCatchStorage.stopPlayback(streamInfo.getDeviceID(), streamInfo.getChannelId(), streamInfo.getStream(), null); } // 如果正在给上级推送,则发送bye } }else { if (!"rtp".equals(app)){