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