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