package com.ard.gb28181.api.domain; import com.ard.gb28181.api.bean.SipTransactionInfo; import com.ard.gb28181.api.common.InviteSessionType; import gov.nist.javax.sip.message.SIPResponse; import lombok.Data; import java.io.Serializable; @Data public class SsrcTransaction implements Serializable { /** * 设备编号 */ private String deviceId; /** * 上级平台的编号 */ private String platformId; /** * 通道编号 */ private String channelId; /** * 会话的CALL ID */ private String callId; /** * 关联的流应用名 */ private String app; /** * 关联的流ID */ private String stream; /** * 使用的流媒体 */ private String mediaServerId; /** * 使用的SSRC */ private String ssrc; /** * 事务信息 */ private SipTransactionInfo sipTransactionInfo; /** * 类型 */ private InviteSessionType type; public static SsrcTransaction buildForDevice(String deviceId, String channelId, String callId, String app, String stream, String ssrc, String mediaServerId, SIPResponse response, InviteSessionType type) { SsrcTransaction ssrcTransaction = new SsrcTransaction(); ssrcTransaction.setDeviceId(deviceId); ssrcTransaction.setChannelId(channelId); ssrcTransaction.setCallId(callId); ssrcTransaction.setApp(app); ssrcTransaction.setStream(stream); ssrcTransaction.setMediaServerId(mediaServerId); ssrcTransaction.setSsrc(ssrc); ssrcTransaction.setSipTransactionInfo(new SipTransactionInfo(response)); ssrcTransaction.setType(type); return ssrcTransaction; } public static SsrcTransaction buildForPlatform(String platformId, String channelId, String callId, String app,String stream, String ssrc, String mediaServerId, SIPResponse response, InviteSessionType type) { SsrcTransaction ssrcTransaction = new SsrcTransaction(); ssrcTransaction.setPlatformId(platformId); ssrcTransaction.setChannelId(channelId); ssrcTransaction.setCallId(callId); ssrcTransaction.setStream(stream); ssrcTransaction.setApp(app); ssrcTransaction.setMediaServerId(mediaServerId); ssrcTransaction.setSsrc(ssrc); ssrcTransaction.setSipTransactionInfo(new SipTransactionInfo(response)); ssrcTransaction.setType(type); return ssrcTransaction; } public SsrcTransaction() { } }