|
|
@ -4,7 +4,10 @@ import java.util.HashMap; |
|
|
|
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; |
|
|
@ -12,14 +15,11 @@ import com.genersoft.iot.vmp.gb28181.transmit.request.SIPRequestAbstractProcesso |
|
|
|
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; |
|
|
@ -38,10 +38,8 @@ public class AckRequestProcessor extends SIPRequestAbstractProcessor { |
|
|
|
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(); |
|
|
|