for(ListeningPoint listeningPoint : listeningPoints) {
if(sipListener!= null && sipListener instanceof SipListenerExt
// making sure that we don't notify each listening point but only the one on which the timeout happened
&& listeningPoint.getIPAddress().equalsIgnoreCase(myAddress) && listeningPoint.getPort() == myPort &&
listeningPoint.getTransport().equalsIgnoreCase(getTransport())) {
((SipListenerExt)sipListener).processIOException(new IOExceptionEventExt(nextProvider, Reason.KeepAliveTimeout, myAddress, myPort,
peerAddress.getHostAddress(), peerPort, getTransport()));
}
}
}
} else {
SipListener sipListener = sipStack.getSipListener();
if(sipListener instanceof SipListenerExt) {
((SipListenerExt)sipListener).processIOException(new IOExceptionEventExt(this, Reason.KeepAliveTimeout, myAddress, myPort,
peerAddress.getHostAddress(), peerPort, getTransport()));
}
}
}