package com.genersoft.iot.vmp.gb28181.transmit.request.impl;  
 | 
  
 | 
import javax.sip.Dialog;  
 | 
import javax.sip.InvalidArgumentException;  
 | 
import javax.sip.RequestEvent;  
 | 
import javax.sip.SipException;  
 | 
import javax.sip.message.Request;  
 | 
  
 | 
import com.genersoft.iot.vmp.gb28181.transmit.request.SIPRequestAbstractProcessor;  
 | 
  
 | 
import gov.nist.javax.sip.header.CSeq;  
 | 
  
 | 
/**      
 | 
 * @Description:ACK请求处理器    
 | 
 * @author: swwheihei  
 | 
 * @date:   2020年5月3日 下午5:31:45       
 | 
 */  
 | 
public class AckRequestProcessor extends SIPRequestAbstractProcessor {  
 | 
      
 | 
    /**     
 | 
     * 处理  ACK请求  
 | 
     *   
 | 
     * @param evt  
 | 
     */  
 | 
    @Override  
 | 
    public void process(RequestEvent evt) {  
 | 
        Request request = evt.getRequest();  
 | 
        Dialog dialog = evt.getDialog();  
 | 
        if (dialog == null) return;  
 | 
        try {  
 | 
            Request ackRequest = null;  
 | 
            CSeq csReq = (CSeq) request.getHeader(CSeq.NAME);  
 | 
            ackRequest = dialog.createAck(csReq.getSeqNumber());  
 | 
            dialog.sendAck(ackRequest);  
 | 
            System.out.println("send ack to callee:" + ackRequest.toString());  
 | 
        } catch (SipException e) {  
 | 
            e.printStackTrace();  
 | 
        } catch (InvalidArgumentException e) {  
 | 
            e.printStackTrace();  
 | 
        }  
 | 
          
 | 
    }  
 | 
  
 | 
}  
 |