From 2e98b20bea4463e4465e3c19059d0744a09aec06 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 27 Jun 2023 14:34:41 +0800
Subject: [PATCH] gb28181版本升级-补充
---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommanderForPlatform.java | 124 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 124 insertions(+), 0 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
new file mode 100644
index 0000000..13a36d7
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommanderForPlatform.java
@@ -0,0 +1,124 @@
+package com.genersoft.iot.vmp.gb28181.transmit.cmd;
+
+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 {
+
+ /**
+ * 向上级平台注册
+ * @param parentPlatform
+ * @return
+ */
+ void register(ParentPlatform parentPlatform, SipSubscribe.Event errorEvent , SipSubscribe.Event okEvent) throws InvalidArgumentException, ParseException, SipException;
+ void register(ParentPlatform parentPlatform, String callId, WWWAuthenticateHeader www, SipSubscribe.Event errorEvent , SipSubscribe.Event okEvent, boolean registerAgain, boolean isRegister) throws SipException, InvalidArgumentException, ParseException;
+
+ /**
+ * 向上级平台注销
+ * @param parentPlatform
+ * @return
+ */
+ void unregister(ParentPlatform parentPlatform, SipSubscribe.Event errorEvent , SipSubscribe.Event okEvent) throws InvalidArgumentException, ParseException, SipException;
+
+
+ /**
+ * 向上级平发送心跳信息
+ * @param parentPlatform
+ * @return callId(作为接受回复的判定)
+ */
+ String keepalive(ParentPlatform parentPlatform,SipSubscribe.Event errorEvent , SipSubscribe.Event okEvent) throws SipException, InvalidArgumentException, ParseException;
+
+
+ /**
+ * 向上级回复通道信息
+ * @param channel 通道信息
+ * @param parentPlatform 平台信息
+ * @param sn
+ * @param fromTag
+ * @param size
+ * @return
+ */
+ 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;
+
+ /**
+ * 向上级回复DeviceInfo查询信息
+ * @param parentPlatform 平台信息
+ * @param sn
+ * @param fromTag
+ * @return
+ */
+ void deviceInfoResponse(ParentPlatform parentPlatform, String sn, String fromTag) throws SipException, InvalidArgumentException, ParseException;
+
+ /**
+ * 向上级回复DeviceStatus查询信息
+ * @param parentPlatform 平台信息
+ * @param sn
+ * @param fromTag
+ * @return
+ */
+ void deviceStatusResponse(ParentPlatform parentPlatform, String sn, String fromTag) throws SipException, InvalidArgumentException, ParseException;
+
+ /**
+ * 向上级回复移动位置订阅消息
+ * @param parentPlatform 平台信息
+ * @param gpsMsgInfo GPS信息
+ * @param subscribeInfo 订阅相关的信息
+ * @return
+ */
+ 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
+ */
+ void sendNotifyForCatalogAddOrUpdate(String type, ParentPlatform parentPlatform, List<DeviceChannel> deviceChannels, SubscribeInfo subscribeInfo, Integer index) throws InvalidArgumentException, ParseException, NoSuchFieldException, SipException, IllegalAccessException;
+
+ /**
+ * 回复catalog事件-删除
+ * @param parentPlatform
+ * @param deviceChannels
+ */
+ void sendNotifyForCatalogOther(String type, ParentPlatform parentPlatform, List<DeviceChannel> deviceChannels, SubscribeInfo subscribeInfo, Integer index) throws InvalidArgumentException, ParseException, NoSuchFieldException, SipException, IllegalAccessException;
+
+ /**
+ * 回复recordInfo
+ * @param deviceChannel 通道信息
+ * @param parentPlatform 平台信息
+ * @param fromTag fromTag
+ * @param recordInfo 录像信息
+ */
+ void recordInfo(DeviceChannel deviceChannel, ParentPlatform parentPlatform, String fromTag, RecordInfo recordInfo) throws SipException, InvalidArgumentException, ParseException;
+
+ /**
+ * 录像播放推送完成时发送MediaStatus消息
+ * @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) throws SipException, InvalidArgumentException, ParseException;
+ void streamByeCmd(ParentPlatform platform, SendRtpItem sendRtpItem) throws SipException, InvalidArgumentException, ParseException;
+}
--
Gitblit v1.9.3