package com.genersoft.iot.vmp.gb28181.transmit.event.timeout.impl;
|
|
import com.genersoft.iot.vmp.gb28181.event.SipSubscribe;
|
import com.genersoft.iot.vmp.gb28181.transmit.SIPProcessorObserver;
|
import com.genersoft.iot.vmp.gb28181.transmit.event.timeout.ITimeoutProcessor;
|
import org.springframework.beans.factory.InitializingBean;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
import javax.sip.TimeoutEvent;
|
import javax.sip.header.CallIdHeader;
|
|
@Component
|
public class TimeoutProcessorImpl implements InitializingBean, ITimeoutProcessor {
|
|
@Autowired
|
private SIPProcessorObserver processorObserver;
|
|
@Autowired
|
private SipSubscribe sipSubscribe;
|
|
@Override
|
public void afterPropertiesSet() throws Exception {
|
processorObserver.addTimeoutProcessor(this);
|
}
|
|
@Override
|
public void process(TimeoutEvent event) {
|
// TODO Auto-generated method stub
|
CallIdHeader callIdHeader = event.getClientTransaction().getDialog().getCallId();
|
String callId = callIdHeader.getCallId();
|
SipSubscribe.Event errorSubscribe = sipSubscribe.getErrorSubscribe(callId);
|
SipSubscribe.EventResult<TimeoutEvent> timeoutEventEventResult = new SipSubscribe.EventResult<>(event);
|
errorSubscribe.response(timeoutEventEventResult);
|
}
|
}
|