core/src/main/java/org/mobicents/ha/javax/sip/ClusteredSipStackImpl.java
public void remoteServerTransactionRemoval(String transactionId) {
		final String txId = transactionId.toLowerCase();
		// note we don't want a dialog terminated event, thus we need to go directly to map removal
		// assuming it's a confirmed dialog there is no chance it is on early dialogs too
		if (getStackLogger().isLoggingEnabled(StackLogger.TRACE_DEBUG)) {
			getStackLogger().logDebug("sipStack " + this + 
					" remote Server Transaction Removal of transaction Id : " + txId);
		}
		// the transaction id is set to lower case in the cache so it might not remove it correctly
		SIPServerTransaction sipServerTransaction = super.serverTransactionTable.remove(txId);
		if (sipServerTransaction != null) {
			super.removeFromMergeTable(sipServerTransaction);
			super.removePendingTransaction(sipServerTransaction);
			super.removeTransactionPendingAck(sipServerTransaction);
		}
	}
public void remoteServerTransactionRemoval(String transactionId) {
		final String txId = transactionId.toLowerCase();
		// note we don't want a dialog terminated event, thus we need to go directly to map removal
		// assuming it's a confirmed dialog there is no chance it is on early dialogs too
		if (getStackLogger().isLoggingEnabled(StackLogger.TRACE_DEBUG)) {
			getStackLogger().logDebug("sipStack " + this + 
					" remote Server Transaction Removal of transaction Id : " + txId);
		}
		// the transaction id is set to lower case in the cache so it might not remove it correctly
		SIPServerTransaction sipServerTransaction = super.serverTransactionTable.remove(txId);
		if (sipServerTransaction != null) {
			super.removeFromMergeTable(sipServerTransaction);
			super.removePendingTransaction(sipServerTransaction);
			super.removeTransactionPendingAck(sipServerTransaction);
		}
	}
/*
(non-Javadoc)
@see org.mobicents.ha.javax.sip.ClusteredSipStack#remoteServerTransactionRemoval(java.lang.String)