@Override
	public SIPDialog createDialog(SIPTransaction transaction) {
		if (sipCache.inLocalMode()) {
			return super.createDialog(transaction);
		}
		else {
			SIPDialog retval = null;
			if (transaction instanceof SIPClientTransaction) {
				final String dialogId = ((SIPRequest) transaction.getRequest()).getDialogId(false);
				retval = this.earlyDialogTable.get(dialogId);
				if (retval == null || (retval.getState() != null && retval.getState() != DialogState.EARLY)) {
					retval = (SIPDialog) HASipDialogFactory.createHASipDialog(replicationStrategy, transaction);
					this.earlyDialogTable.put(dialogId, retval);
				}
			} else {
				retval = (SIPDialog) HASipDialogFactory.createHASipDialog(replicationStrategy, transaction);
			}
			return retval;
		}
	}
@Override
	public SIPDialog createDialog(SIPTransaction transaction) {
		if (sipCache.inLocalMode()) {
			return super.createDialog(transaction);
		}
		else {
			SIPDialog retval = null;
			if (transaction instanceof SIPClientTransaction) {
				final String dialogId = ((SIPRequest) transaction.getRequest()).getDialogId(false);
				retval = this.earlyDialogTable.get(dialogId);
				if (retval == null || (retval.getState() != null && retval.getState() != DialogState.EARLY)) {
					retval = (SIPDialog) HASipDialogFactory.createHASipDialog(replicationStrategy, transaction);
					this.earlyDialogTable.put(dialogId, retval);
				}
			} else {
				retval = (SIPDialog) HASipDialogFactory.createHASipDialog(replicationStrategy, transaction);
			}
			return retval;
		}
	}
@ Override public SIPDialog createDialog ( SIPTransaction transaction ) { if ( sipCache . inLocalMode ( ) ) { return super . createDialog ( transaction ) ; } else { SIPDialog retval = null ; if ( transaction instanceof SIPClientTransaction ) { final String dialogId = ( ( SIPRequest ) transaction . getRequest ( ) ) . getDialogId ( false ) ; retval = this . earlyDialogTable . get ( dialogId ) ; if ( retval == null || ( retval . getState ( ) != null && retval . getState ( ) != DialogState . EARLY ) ) { retval = ( SIPDialog ) HASipDialogFactory . createHASipDialog ( replicationStrategy , transaction ) ; this . earlyDialogTable . put ( dialogId , retval ) ; } } else { retval = ( SIPDialog ) HASipDialogFactory . createHASipDialog ( replicationStrategy , transaction ) ; } return retval ; } }
/*
(non-Javadoc)
@see gov.nist.javax.sip.stack.SIPTransactionStack#createDialog(gov.nist.javax.sip.stack.SIPTransaction)
/ * ( non - Javadoc )