648540858
2022-09-22 1abfced3b459a9ec99fd0e9f606dc1133e5f3ef6
修复点播后bye信息的发送
1个文件已修改
10 ■■■■■ 已修改文件
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
@@ -26,6 +26,7 @@
import gov.nist.javax.sip.SipStackImpl;
import gov.nist.javax.sip.message.MessageFactoryImpl;
import gov.nist.javax.sip.message.SIPRequest;
import gov.nist.javax.sip.stack.SIPClientTransaction;
import gov.nist.javax.sip.stack.SIPDialog;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -433,7 +434,14 @@
            }), e ->{
                // 这里为例避免一个通道的点播只有一个callID这个参数使用一个固定值
                streamSession.put(device.getDeviceId(), channelId ,"play", stream, ssrcInfo.getSsrc(), mediaServerItem.getId(), ((ResponseEvent)e.event).getClientTransaction(), VideoStreamSessionManager.SessionType.play);
                streamSession.put(device.getDeviceId(), channelId ,"play", e.dialog);
                Dialog sipDialog = null;
                if (e.dialog == null) {
                    SIPClientTransaction clientTransaction = (SIPClientTransaction)((ResponseEvent)e.event).getClientTransaction();
                    sipDialog = new SIPDialog(clientTransaction, clientTransaction.getLastResponse());
                }else {
                    sipDialog = e.dialog;
                }
                streamSession.put(device.getDeviceId(), channelId ,"play", sipDialog);
                okEvent.response(e);
            });