package com.ard.gb28181.api.domain;
|
|
|
import com.ard.gb28181.api.bean.SipTransactionInfo;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
import lombok.Data;
|
|
import java.io.Serializable;
|
|
/**
|
* 国标设备/平台
|
*
|
* @author lin
|
*/
|
@Data
|
@Schema(description = "国标设备/平台")
|
public class Device implements Serializable {
|
|
@Schema(description = "数据库自增ID")
|
private int id;
|
|
/**
|
* 设备国标编号
|
*/
|
@Schema(description = "设备国标编号")
|
private String deviceId;
|
|
/**
|
* 设备名
|
*/
|
@Schema(description = "名称")
|
private String name;
|
|
/**
|
* 生产厂商
|
*/
|
@Schema(description = "生产厂商")
|
private String manufacturer;
|
|
/**
|
* 型号
|
*/
|
@Schema(description = "型号")
|
private String model;
|
|
/**
|
* 固件版本
|
*/
|
@Schema(description = "固件版本")
|
private String firmware;
|
|
/**
|
* 传输协议
|
* UDP/TCP
|
*/
|
@Schema(description = "传输协议(UDP/TCP)")
|
private String transport;
|
|
/**
|
* 数据流传输模式
|
* UDP:udp传输
|
* TCP-ACTIVE:tcp主动模式
|
* TCP-PASSIVE:tcp被动模式
|
*/
|
@Schema(description = "数据流传输模式")
|
private String streamMode;
|
|
/**
|
* wan地址_ip
|
*/
|
@Schema(description = "IP")
|
private String ip;
|
|
/**
|
* wan地址_port
|
*/
|
@Schema(description = "端口")
|
private int port;
|
|
/**
|
* wan地址
|
*/
|
@Schema(description = "wan地址")
|
private String hostAddress;
|
|
/**
|
* 在线
|
*/
|
@Schema(description = "是否在线,true为在线,false为离线")
|
private boolean onLine;
|
|
|
/**
|
* 注册时间
|
*/
|
@Schema(description = "注册时间")
|
private String registerTime;
|
|
|
/**
|
* 心跳时间
|
*/
|
@Schema(description = "心跳时间")
|
private String keepaliveTime;
|
|
|
/**
|
* 心跳间隔
|
*/
|
@Schema(description = "心跳间隔")
|
private Integer heartBeatInterval;
|
|
|
/**
|
* 心跳超时次数
|
*/
|
@Schema(description = "心跳超时次数")
|
private Integer heartBeatCount;
|
|
|
/**
|
* 定位功能支持情况
|
*/
|
@Schema(description = "定位功能支持情况。取值:0-不支持;1-支持 GPS定位;2-支持北斗定位(可选,默认取值为0")
|
private Integer positionCapability;
|
|
/**
|
* 通道个数
|
*/
|
@Schema(description = "通道个数")
|
private int channelCount;
|
|
/**
|
* 注册有效期
|
*/
|
@Schema(description = "注册有效期")
|
private int expires;
|
|
/**
|
* 创建时间
|
*/
|
@Schema(description = "创建时间")
|
private String createTime;
|
|
/**
|
* 更新时间
|
*/
|
@Schema(description = "更新时间")
|
private String updateTime;
|
|
/**
|
* 设备使用的媒体id, 默认为null
|
*/
|
@Schema(description = "设备使用的媒体id, 默认为null")
|
private String mediaServerId;
|
|
/**
|
* 字符集, 支持 UTF-8 与 GB2312
|
*/
|
@Schema(description = "符集, 支持 UTF-8 与 GB2312")
|
private String charset;
|
|
/**
|
* 目录订阅周期,0为不订阅
|
*/
|
@Schema(description = "目录订阅周期,o为不订阅")
|
private int subscribeCycleForCatalog;
|
|
/**
|
* 移动设备位置订阅周期,0为不订阅
|
*/
|
@Schema(description = "移动设备位置订阅周期,0为不订阅")
|
private int subscribeCycleForMobilePosition;
|
|
/**
|
* 移动设备位置信息上报时间间隔,单位:秒,默认值5
|
*/
|
@Schema(description = "移动设备位置信息上报时间间隔,单位:秒,默认值5")
|
private int mobilePositionSubmissionInterval = 5;
|
|
/**
|
* 报警订阅周期,0为不订阅
|
*/
|
@Schema(description = "报警心跳时间订阅周期,0为不订阅")
|
private int subscribeCycleForAlarm;
|
|
/**
|
* 是否开启ssrc校验,默认关闭,开启可以防止串流
|
*/
|
@Schema(description = "是否开启ssrc校验,默认关闭,开启可以防止串流")
|
private boolean ssrcCheck = false;
|
|
/**
|
* 地理坐标系, 目前支持 WGS84,GCJ02, 此字段保留,暂无用
|
*/
|
@Schema(description = "地理坐标系, 目前支持 WGS84,GCJ02")
|
private String geoCoordSys;
|
|
@Schema(description = "密码")
|
private String password;
|
|
@Schema(description = "收流IP")
|
private String sdpIp;
|
|
@Schema(description = "SIP交互IP(设备访问平台的IP)")
|
private String localIp;
|
|
@Schema(description = "是否作为消息通道")
|
private boolean asMessageChannel;
|
|
@Schema(description = "设备注册的事务信息")
|
private SipTransactionInfo sipTransactionInfo;
|
|
@Schema(description = "控制语音对讲流程,释放收到ACK后发流")
|
private boolean broadcastPushAfterAck;
|
|
@Schema(description = "所属服务Id")
|
private String serverId;
|
|
public boolean checkWgs84() {
|
return geoCoordSys.equalsIgnoreCase("WGS84");
|
}
|
}
|