Commit ebe8667b13c02b72ce74735c7d2be625689cff80
Merge branch 'wvp-28181-2.0'
Showing
2 changed files
with
5 additions
and
1 deletions
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
| @@ -367,7 +367,7 @@ public class SIPCommander implements ISIPCommander { | @@ -367,7 +367,7 @@ public class SIPCommander implements ISIPCommander { | ||
| 367 | CallIdHeader callIdHeader = device.getTransport().equalsIgnoreCase("TCP") ? tcpSipProvider.getNewCallId() | 367 | CallIdHeader callIdHeader = device.getTransport().equalsIgnoreCase("TCP") ? tcpSipProvider.getNewCallId() |
| 368 | : udpSipProvider.getNewCallId(); | 368 | : udpSipProvider.getNewCallId(); |
| 369 | 369 | ||
| 370 | - Request request = headerProvider.createInviteRequest(device, channelId, content.toString(), null, SipUtils.getNewFromTag(), null, ssrcInfo.getSsrc(), callIdHeader); | 370 | + Request request = headerProvider.createInviteRequest(device, channelId, content.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null, ssrcInfo.getSsrc(), callIdHeader); |
| 371 | transmitRequest(device.getTransport(), request, (e -> { | 371 | transmitRequest(device.getTransport(), request, (e -> { |
| 372 | streamSession.remove(device.getDeviceId(), channelId, ssrcInfo.getStream()); | 372 | streamSession.remove(device.getDeviceId(), channelId, ssrcInfo.getStream()); |
| 373 | mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc()); | 373 | mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc()); |
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/AckRequestProcessor.java
| @@ -107,6 +107,10 @@ public class AckRequestProcessor extends SIPRequestProcessorParent implements In | @@ -107,6 +107,10 @@ public class AckRequestProcessor extends SIPRequestProcessorParent implements In | ||
| 107 | dynamicTask.stop(callIdHeader.getCallId()); | 107 | dynamicTask.stop(callIdHeader.getCallId()); |
| 108 | String channelId = ((SipURI) ((HeaderAddress) evt.getRequest().getHeader(ToHeader.NAME)).getAddress().getURI()).getUser(); | 108 | String channelId = ((SipURI) ((HeaderAddress) evt.getRequest().getHeader(ToHeader.NAME)).getAddress().getURI()).getUser(); |
| 109 | SendRtpItem sendRtpItem = redisCatchStorage.querySendRTPServer(platformGbId, channelId, null, callIdHeader.getCallId()); | 109 | SendRtpItem sendRtpItem = redisCatchStorage.querySendRTPServer(platformGbId, channelId, null, callIdHeader.getCallId()); |
| 110 | + if (sendRtpItem == null) { | ||
| 111 | + logger.warn("[收到ACK]:未找到通道({})的推流信息", channelId); | ||
| 112 | + return; | ||
| 113 | + } | ||
| 110 | String is_Udp = sendRtpItem.isTcp() ? "0" : "1"; | 114 | String is_Udp = sendRtpItem.isTcp() ? "0" : "1"; |
| 111 | MediaServerItem mediaInfo = mediaServerService.getOne(sendRtpItem.getMediaServerId()); | 115 | MediaServerItem mediaInfo = mediaServerService.getOne(sendRtpItem.getMediaServerId()); |
| 112 | logger.info("收到ACK,rtp/{}开始向上级推流, 目标={}:{},SSRC={}", sendRtpItem.getStreamId(), sendRtpItem.getIp(), sendRtpItem.getPort(), sendRtpItem.getSsrc()); | 116 | logger.info("收到ACK,rtp/{}开始向上级推流, 目标={}:{},SSRC={}", sendRtpItem.getStreamId(), sendRtpItem.getIp(), sendRtpItem.getPort(), sendRtpItem.getSsrc()); |