648540858
2022-09-21 710600db6f3bd6f72a83ef75cca30953fd0f375f
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/AckRequestProcessor.java
@@ -87,14 +87,10 @@
    */
   @Override
   public void process(RequestEvent evt) {
      Dialog dialog = evt.getDialog();
      CallIdHeader callIdHeader = (CallIdHeader)evt.getRequest().getHeader(CallIdHeader.NAME);
      if (dialog == null) {
         return;
      }
      if (dialog.getState()== DialogState.CONFIRMED) {
         String platformGbId = ((SipURI) ((HeaderAddress) evt.getRequest().getHeader(FromHeader.NAME)).getAddress().getURI()).getUser();
         logger.info("ACK请求: platformGbId->{}", platformGbId);
      logger.info("[收到ACK]: platformGbId->{}", platformGbId);
         ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(platformGbId);
         // 取消设置的超时任务
         dynamicTask.stop(callIdHeader.getCallId());
@@ -132,21 +128,14 @@
            JSONObject jsonObject = zlmrtpServerFactory.startSendRtpStream(mediaInfo, param);
            startSendRtpStreamHand(evt, sendRtpItem, parentPlatform, jsonObject, param, callIdHeader);
         }
      }
   }
   private void startSendRtpStreamHand(RequestEvent evt, SendRtpItem sendRtpItem, ParentPlatform parentPlatform,
                              JSONObject jsonObject, Map<String, Object> param, CallIdHeader callIdHeader) {
      if (jsonObject == null) {
         logger.error("RTP推流失败: 请检查ZLM服务");
      } else if (jsonObject.getInteger("code") == 0) {
         logger.info("调用ZLM推流接口, 结果: {}",  jsonObject);
         logger.info("RTP推流成功[ {}/{} ],{}->{}:{}, " ,param.get("app"), param.get("stream"), jsonObject.getString("local_port"), param.get("dst_url"), param.get("dst_port"));
         byte[] dialogByteArray = SerializeUtils.serialize(evt.getDialog());
         sendRtpItem.setDialog(dialogByteArray);
         byte[] transactionByteArray = SerializeUtils.serialize(evt.getServerTransaction());
         sendRtpItem.setTransaction(transactionByteArray);
         redisCatchStorage.updateSendRTPSever(sendRtpItem);
      } else {
         logger.error("RTP推流失败: {}, 参数:{}",jsonObject.getString("msg"),JSONObject.toJSON(param));
         if (sendRtpItem.isOnlyAudio()) {