648540858
2024-03-14 d4f6ec39b7e0421757a6b9d1a68b1c4610ea2e8c
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/SIPRequestProcessorParent.java
@@ -82,6 +82,7 @@
      return responseAck(sipRequest, statusCode, msg, null);
   }
   public SIPResponse responseAck(SIPRequest sipRequest, int statusCode, String msg, ResponseAckExtraParam responseAckExtraParam) throws SipException, InvalidArgumentException, ParseException {
      if (sipRequest.getToHeader().getTag() == null) {
         sipRequest.getToHeader().setTag(SipUtils.getNewTag());
@@ -124,6 +125,8 @@
      return response;
   }
   /**
    * 回复带sdp的200
    */
@@ -141,7 +144,10 @@
      responseAckExtraParam.content = sdp;
      responseAckExtraParam.sipURI = sipURI;
      return responseAck(request, Response.OK, null, responseAckExtraParam);
      SIPResponse sipResponse = responseAck(request, Response.OK, null, responseAckExtraParam);
      return sipResponse;
   }
   /**
@@ -174,7 +180,8 @@
      reader.setEncoding(charset);
      // 对海康出现的未转义字符做处理。
      String[] destStrArray = new String[]{"<",">","&","'","""};
      char despChar = '&'; // 或许可扩展兼容其他字符
      // 或许可扩展兼容其他字符
      char despChar = '&';
      byte destBye = (byte) despChar;
      List<Byte> result = new ArrayList<>();
      byte[] rawContent = request.getRawContent();
@@ -203,8 +210,8 @@
      try {
         xml = reader.read(new ByteArrayInputStream(bytesResult));
      }catch (DocumentException e) {
         logger.warn("[xml解析异常]: 愿文如下: \r\n{}", new String(bytesResult));
         logger.warn("[xml解析异常]: 愿文如下: 尝试兼容性处理");
         logger.warn("[xml解析异常]: 原文如下: \r\n{}", new String(bytesResult));
         logger.warn("[xml解析异常]: 原文如下: 尝试兼容性处理");
         String[] xmlLineArray = new String(bytesResult).split("\\r?\\n");
         // 兼容海康的address字段带有<破换xml结构导致无法解析xml的问题
@@ -220,4 +227,5 @@
      return xml.getRootElement();
   }
}