648540858
2022-01-13 cf23816c80771c9e22bb50d0d89feb34d2edca79
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/SIPRequestProcessorParent.java
@@ -18,6 +18,7 @@
import javax.sip.address.AddressFactory;
import javax.sip.address.SipURI;
import javax.sip.header.ContentTypeHeader;
import javax.sip.header.ExpiresHeader;
import javax.sip.header.HeaderFactory;
import javax.sip.header.ViaHeader;
import javax.sip.message.MessageFactory;
@@ -153,7 +154,7 @@
    * @throws InvalidArgumentException
    * @throws ParseException
    */
   public void responseAck(RequestEvent evt, String sdp) throws SipException, InvalidArgumentException, ParseException {
   public void responseSdpAck(RequestEvent evt, String sdp) throws SipException, InvalidArgumentException, ParseException {
      Response response = getMessageFactory().createResponse(Response.OK, evt.getRequest());
      SipFactory sipFactory = SipFactory.getInstance();
      ContentTypeHeader contentTypeHeader = sipFactory.createHeaderFactory().createContentTypeHeader("APPLICATION", "SDP");
@@ -168,6 +169,31 @@
      getServerTransaction(evt).sendResponse(response);
   }
   /**
    * 回复带xml的200
    * @param evt
    * @param xml
    * @throws SipException
    * @throws InvalidArgumentException
    * @throws ParseException
    */
   public Response responseXmlAck(RequestEvent evt, String xml) throws SipException, InvalidArgumentException, ParseException {
      Response response = getMessageFactory().createResponse(Response.OK, evt.getRequest());
      SipFactory sipFactory = SipFactory.getInstance();
      ContentTypeHeader contentTypeHeader = sipFactory.createHeaderFactory().createContentTypeHeader("APPLICATION", "MANSCDP+xml");
      response.setContent(xml, contentTypeHeader);
      SipURI sipURI = (SipURI)evt.getRequest().getRequestURI();
      Address concatAddress = sipFactory.createAddressFactory().createAddress(
            sipFactory.createAddressFactory().createSipURI(sipURI.getUser(),  sipURI.getHost()+":"+sipURI.getPort()
            ));
      response.addHeader(sipFactory.createHeaderFactory().createContactHeader(concatAddress));
      response.addHeader(evt.getRequest().getHeader(ExpiresHeader.NAME));
      getServerTransaction(evt).sendResponse(response);
      return response;
   }
   public Element getRootElement(RequestEvent evt) throws DocumentException {
      return getRootElement(evt, "gb2312");
   }