示例#1
0
  /**
   * Invoked when an error has ocurred with a transaction.
   *
   * @param transactionErrorEvent Error event.
   */
  public synchronized void transactionErrorEvent(SIPTransactionErrorEvent transactionErrorEvent) {
    SIPTransaction transaction = (SIPTransaction) transactionErrorEvent.getSource();

    if (transactionErrorEvent.getErrorID() == SIPTransactionErrorEvent.TRANSPORT_ERROR) {
      // Kill scanning of this transaction.
      transaction.setState(SIPTransaction.TERMINATED_STATE);
      if (transaction instanceof SIPServerTransaction) {
        // let the reaper get him
        ((SIPServerTransaction) transaction).collectionTime = 0;
      }
      transaction.disableTimeoutTimer();
      transaction.disableRetransmissionTimer();
    }
  }