From 613399cc6d14cfe5b8a245d462629ecee5deb2db Mon Sep 17 00:00:00 2001
From: xiaoQQya <xiaoQQya@126.com>
Date: 星期二, 17 十月 2023 17:49:31 +0800
Subject: [PATCH] fix(play): 修复单端口推流下级自定义 ssrc 时, 流注册后接口仍然超时的问题
---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommanderForPlatform.java | 59 ++++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 40 insertions(+), 19 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommanderForPlatform.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommanderForPlatform.java
old mode 100644
new mode 100755
index a900819..a4558c7
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommanderForPlatform.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommanderForPlatform.java
@@ -1,13 +1,13 @@
package com.genersoft.iot.vmp.gb28181.transmit.cmd;
-import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
-import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
-import com.genersoft.iot.vmp.gb28181.bean.RecordInfo;
-import com.genersoft.iot.vmp.gb28181.bean.SubscribeInfo;
+import com.genersoft.iot.vmp.gb28181.bean.*;
import com.genersoft.iot.vmp.gb28181.event.SipSubscribe;
import com.genersoft.iot.vmp.service.bean.GPSMsgInfo;
+import javax.sip.InvalidArgumentException;
+import javax.sip.SipException;
import javax.sip.header.WWWAuthenticateHeader;
+import java.text.ParseException;
import java.util.List;
public interface ISIPCommanderForPlatform {
@@ -17,15 +17,19 @@
* @param parentPlatform
* @return
*/
- boolean register(ParentPlatform parentPlatform, SipSubscribe.Event errorEvent , SipSubscribe.Event okEvent);
- boolean register(ParentPlatform parentPlatform, String callId, WWWAuthenticateHeader www, SipSubscribe.Event errorEvent , SipSubscribe.Event okEvent, boolean registerAgain);
+ void register(ParentPlatform parentPlatform, SipSubscribe.Event errorEvent , SipSubscribe.Event okEvent) throws InvalidArgumentException, ParseException, SipException;
+
+ void register(ParentPlatform parentPlatform, SipTransactionInfo sipTransactionInfo, SipSubscribe.Event errorEvent , SipSubscribe.Event okEvent) throws InvalidArgumentException, ParseException, SipException;
+
+
+ void register(ParentPlatform parentPlatform, SipTransactionInfo sipTransactionInfo, WWWAuthenticateHeader www, SipSubscribe.Event errorEvent , SipSubscribe.Event okEvent, boolean isRegister) throws SipException, InvalidArgumentException, ParseException;
/**
* 鍚戜笂绾у钩鍙版敞閿�
* @param parentPlatform
* @return
*/
- boolean unregister(ParentPlatform parentPlatform, SipSubscribe.Event errorEvent , SipSubscribe.Event okEvent);
+ void unregister(ParentPlatform parentPlatform, SipTransactionInfo sipTransactionInfo, SipSubscribe.Event errorEvent , SipSubscribe.Event okEvent) throws InvalidArgumentException, ParseException, SipException;
/**
@@ -33,7 +37,7 @@
* @param parentPlatform
* @return callId(浣滀负鎺ュ彈鍥炲鐨勫垽瀹�)
*/
- String keepalive(ParentPlatform parentPlatform);
+ String keepalive(ParentPlatform parentPlatform,SipSubscribe.Event errorEvent , SipSubscribe.Event okEvent) throws SipException, InvalidArgumentException, ParseException;
/**
@@ -45,17 +49,17 @@
* @param size
* @return
*/
- boolean catalogQuery(DeviceChannel channel, ParentPlatform parentPlatform, String sn, String fromTag, int size);
- boolean catalogQuery(List<DeviceChannel> channels, ParentPlatform parentPlatform, String sn, String fromTag);
+ void catalogQuery(DeviceChannel channel, ParentPlatform parentPlatform, String sn, String fromTag, int size) throws SipException, InvalidArgumentException, ParseException;
+ void catalogQuery(List<DeviceChannel> channels, ParentPlatform parentPlatform, String sn, String fromTag) throws InvalidArgumentException, ParseException, SipException;
/**
* 鍚戜笂绾у洖澶岲eviceInfo鏌ヨ淇℃伅
* @param parentPlatform 骞冲彴淇℃伅
- * @param sn
- * @param fromTag
+ * @param sn SN
+ * @param fromTag FROM澶寸殑tag淇℃伅
* @return
*/
- boolean deviceInfoResponse(ParentPlatform parentPlatform, String sn, String fromTag);
+ void deviceInfoResponse(ParentPlatform parentPlatform,Device device, String sn, String fromTag) throws SipException, InvalidArgumentException, ParseException;
/**
* 鍚戜笂绾у洖澶岲eviceStatus鏌ヨ淇℃伅
@@ -64,7 +68,7 @@
* @param fromTag
* @return
*/
- boolean deviceStatusResponse(ParentPlatform parentPlatform, String sn, String fromTag);
+ void deviceStatusResponse(ParentPlatform parentPlatform,String channelId, String sn, String fromTag,boolean status) throws SipException, InvalidArgumentException, ParseException;
/**
* 鍚戜笂绾у洖澶嶇Щ鍔ㄤ綅缃闃呮秷鎭�
@@ -73,21 +77,29 @@
* @param subscribeInfo 璁㈤槄鐩稿叧鐨勪俊鎭�
* @return
*/
- boolean sendNotifyMobilePosition(ParentPlatform parentPlatform, GPSMsgInfo gpsMsgInfo, SubscribeInfo subscribeInfo);
+ void sendNotifyMobilePosition(ParentPlatform parentPlatform, GPSMsgInfo gpsMsgInfo, SubscribeInfo subscribeInfo) throws InvalidArgumentException, ParseException, NoSuchFieldException, SipException, IllegalAccessException;
+
+ /**
+ * 鍚戜笂绾у洖澶嶆姤璀︽秷鎭�
+ * @param parentPlatform 骞冲彴淇℃伅
+ * @param deviceAlarm 鎶ヨ淇℃伅淇℃伅
+ * @return
+ */
+ void sendAlarmMessage(ParentPlatform parentPlatform, DeviceAlarm deviceAlarm) throws SipException, InvalidArgumentException, ParseException;
/**
* 鍥炲catalog浜嬩欢-澧炲姞/鏇存柊
* @param parentPlatform
* @param deviceChannels
*/
- boolean sendNotifyForCatalogAddOrUpdate(String type, ParentPlatform parentPlatform, List<DeviceChannel> deviceChannels, SubscribeInfo subscribeInfo, Integer index);
+ void sendNotifyForCatalogAddOrUpdate(String type, ParentPlatform parentPlatform, List<DeviceChannel> deviceChannels, SubscribeInfo subscribeInfo, Integer index) throws InvalidArgumentException, ParseException, NoSuchFieldException, SipException, IllegalAccessException;
/**
* 鍥炲catalog浜嬩欢-鍒犻櫎
* @param parentPlatform
* @param deviceChannels
*/
- boolean sendNotifyForCatalogOther(String type, ParentPlatform parentPlatform, List<DeviceChannel> deviceChannels, SubscribeInfo subscribeInfo, Integer index);
+ void sendNotifyForCatalogOther(String type, ParentPlatform parentPlatform, List<DeviceChannel> deviceChannels, SubscribeInfo subscribeInfo, Integer index) throws InvalidArgumentException, ParseException, NoSuchFieldException, SipException, IllegalAccessException;
/**
* 鍥炲recordInfo
@@ -96,12 +108,21 @@
* @param fromTag fromTag
* @param recordInfo 褰曞儚淇℃伅
*/
- boolean recordInfo(DeviceChannel deviceChannel, ParentPlatform parentPlatform, String fromTag, RecordInfo recordInfo);
+ void recordInfo(DeviceChannel deviceChannel, ParentPlatform parentPlatform, String fromTag, RecordInfo recordInfo) throws SipException, InvalidArgumentException, ParseException;
+
+ /**
+ * 褰曞儚鎾斁鎺ㄩ�佸畬鎴愭椂鍙戦�丮ediaStatus娑堟伅
+ * @param platform
+ * @param sendRtpItem
+ * @return
+ */
+ void sendMediaStatusNotify(ParentPlatform platform, SendRtpItem sendRtpItem) throws SipException, InvalidArgumentException, ParseException;
/**
* 鍚戝彂璧风偣鎾殑涓婄骇鍥炲bye
* @param platform 骞冲彴淇℃伅
* @param callId callId
*/
- void streamByeCmd(ParentPlatform platform, String callId);
+ void streamByeCmd(ParentPlatform platform, String callId) throws SipException, InvalidArgumentException, ParseException;
+ void streamByeCmd(ParentPlatform platform, SendRtpItem sendRtpItem) throws SipException, InvalidArgumentException, ParseException;
}
--
Gitblit v1.8.0