package com.genersoft.iot.vmp.service;
|
|
import com.genersoft.iot.vmp.conf.exception.SsrcTransactionNotFoundException;
|
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
|
import com.genersoft.iot.vmp.gb28181.event.SipSubscribe;
|
import com.genersoft.iot.vmp.media.zlm.ZlmHttpHookSubscribe;
|
import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
|
import com.genersoft.iot.vmp.service.bean.InviteTimeOutCallback;
|
import com.genersoft.iot.vmp.gb28181.bean.SipTransactionInfo;
|
import com.github.pagehelper.PageInfo;
|
|
import javax.sip.InvalidArgumentException;
|
import javax.sip.SipException;
|
import java.text.ParseException;
|
|
/**
|
* 国标平台的业务类
|
* @author lin
|
*/
|
public interface IPlatformService {
|
|
ParentPlatform queryPlatformByServerGBId(String platformGbId);
|
|
/**
|
* 分页获取上级平台
|
* @param page
|
* @param count
|
* @return
|
*/
|
PageInfo<ParentPlatform> queryParentPlatformList(int page, int count);
|
|
/**
|
* 添加级联平台
|
* @param parentPlatform 级联平台
|
*/
|
boolean add(ParentPlatform parentPlatform);
|
|
/**
|
* 添加级联平台
|
* @param parentPlatform 级联平台
|
*/
|
boolean update(ParentPlatform parentPlatform);
|
|
/**
|
* 平台上线
|
* @param parentPlatform 平台信息
|
*/
|
void online(ParentPlatform parentPlatform, SipTransactionInfo sipTransactionInfo);
|
|
/**
|
* 平台离线
|
* @param parentPlatform 平台信息
|
*/
|
void offline(ParentPlatform parentPlatform, boolean stopRegisterTask);
|
|
/**
|
* 向上级平台发起注册
|
* @param parentPlatform
|
*/
|
void login(ParentPlatform parentPlatform);
|
|
/**
|
* 向上级平台发送位置订阅
|
* @param platformId 平台
|
*/
|
void sendNotifyMobilePosition(String platformId);
|
|
/**
|
* 向上级发送语音喊话的消息
|
* @param platform 平台
|
* @param channelId 通道
|
* @param hookEvent hook事件
|
* @param errorEvent 信令错误事件
|
* @param timeoutCallback 超时事件
|
*/
|
void broadcastInvite(ParentPlatform platform, String channelId, MediaServerItem mediaServerItem, ZlmHttpHookSubscribe.Event hookEvent,
|
SipSubscribe.Event errorEvent, InviteTimeOutCallback timeoutCallback) throws InvalidArgumentException, ParseException, SipException;
|
|
/**
|
* 语音喊话回复BYE
|
* @param platform 平台
|
* @param channelId 通道
|
* @param stream 流信息
|
*/
|
void stopBroadcast(ParentPlatform platform, String channelId, String stream )throws InvalidArgumentException, ParseException, SsrcTransactionNotFoundException, SipException;
|
}
|