| | |
| | | import java.util.Map;
|
| | |
|
| | | import javax.sip.*;
|
| | | //import javax.sip.message.Request;
|
| | | import javax.sip.address.SipURI;
|
| | | import javax.sip.header.FromHeader;
|
| | | import javax.sip.header.HeaderAddress;
|
| | | import javax.sip.header.ToHeader;
|
| | |
|
| | | import com.genersoft.iot.vmp.common.StreamInfo;
|
| | | import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem;
|
| | |
| | | import com.genersoft.iot.vmp.media.zlm.ZLMRTPServerFactory;
|
| | | import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
|
| | |
|
| | | import org.springframework.stereotype.Component;
|
| | |
|
| | | /**
|
| | | * @Description:ACK请求处理器
|
| | | * @author: swwheihei
|
| | | * @date: 2020年5月3日 下午5:31:45
|
| | | */
|
| | | @Component
|
| | | public class AckRequestProcessor extends SIPRequestAbstractProcessor {
|
| | |
|
| | | private IRedisCatchStorage redisCatchStorage;
|
| | |
| | | if (dialog == null) return;
|
| | | //DialogState state = dialog.getState();
|
| | | if (/*request.getMethod().equals(Request.INVITE) &&*/ dialog.getState()== DialogState.CONFIRMED) {
|
| | | String remoteUri = dialog.getRemoteParty().getURI().toString();
|
| | | String localUri = dialog.getLocalParty().getURI().toString();
|
| | | String platformGbId = remoteUri.substring(remoteUri.indexOf(":") + 1, remoteUri.indexOf("@"));
|
| | | String channelId = localUri.substring(remoteUri.indexOf(":") + 1, remoteUri.indexOf("@"));
|
| | | String platformGbId = ((SipURI) ((HeaderAddress) evt.getRequest().getHeader(FromHeader.NAME)).getAddress().getURI()).getUser();
|
| | | String channelId = ((SipURI) ((HeaderAddress) evt.getRequest().getHeader(ToHeader.NAME)).getAddress().getURI()).getUser();
|
| | | SendRtpItem sendRtpItem = redisCatchStorage.querySendRTPServer(platformGbId, channelId);
|
| | | String is_Udp = sendRtpItem.isTcp() ? "0" : "1";
|
| | | String deviceId = sendRtpItem.getDeviceId();
|