raiseErrorEvent ( SIPTransactionErrorEvent.TIMEOUT_ERROR );
if ( getState( ).getValue() != COMPLETED_STATE) { raiseErrorEvent ( SIPTransactionErrorEvent.TIMEOUT_ERROR ); }
    protected void fireTimeoutTimer(    ) {	if (parentStack.logWriter.needsLogging) 		parentStack.logWriter.logMessage		("SIPServerTransaction.fireTimeoutTimer " 		+ this.getState() + " method = " + 		this.getOriginalRequest().getMethod() );        DialogImpl dialog = (DialogImpl) this.getDialog();        int mystate = this.getState().getValue();	if (((SIPTransactionStack)getSIPStack()).isDialogCreated	       (this.getOriginalRequest().getMethod()) &&                ( mystate == super.CALLING_STATE ||                 mystate == super.TRYING_STATE )) {	        dialog.setState(DialogImpl.TERMINATED_STATE);         } else if (getOriginalRequest().getMethod().equals(Request.BYE)){             if (dialog != null)                     dialog.setState(DialogImpl.TERMINATED_STATE);         }        if( ( getState( ).getValue() == CONFIRMED_STATE ||	      // Bug reported by Antonis Karydas	      getState( ).getValue() == COMPLETED_STATE) &&            isInviteTransaction() ) {            raiseErrorEvent            ( SIPTransactionErrorEvent.TIMEOUT_ERROR );	    setState( TERMINATED_STATE);                    } else if(  ! isInviteTransaction() && (	   getState( ).getValue() == COMPLETED_STATE  ||	  getState().getValue() == CONFIRMED_STATE ) ) {                        setState( TERMINATED_STATE );                    } else if (isInviteTransaction() &&		getState().getValue() == TERMINATED_STATE) {		// This state could be reached when retransmitting		// Bug report sent in by Christophe		raiseErrorEvent(SIPTransactionErrorEvent.TIMEOUT_ERROR);                if (dialog != null)                     dialog.setState(DialogImpl.TERMINATED_STATE);	}    }