Home | History | Annotate | Download | only in sip
      1 /*
      2  * This source code has been contributed to the public domain by Mobicents
      3  *
      4  * This software is provided by NIST as a service and is expressly
      5  * provided "AS IS."  NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
      6  * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
      7  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
      8  * AND DATA ACCURACY.  NIST does not warrant or make any representations
      9  * regarding the use of the software or the results thereof, including but
     10  * not limited to the correctness, accuracy, reliability or usefulness of
     11  * the software.
     12  *
     13  * Permission to use this software is contingent upon your acceptance
     14  * of the terms of this agreement.
     15  */
     16 package gov.nist.javax.sip;
     17 
     18 import java.util.EventObject;
     19 
     20 import javax.sip.Dialog;
     21 
     22 /**
     23  *
     24  * DialogAckTimeoutEvent is delivered to the Listener when the
     25  * dialog does not receive or send an ACK.
     26  *
     27  *
     28  * @author jean deruelle
     29  * @since v2.0
     30  *
     31  */
     32 public class DialogTimeoutEvent extends EventObject {
     33 	private static final long serialVersionUID = -2514000059989311925L;
     34 	public enum Reason {AckNotReceived, AckNotSent,ReInviteTimeout};
     35 	/**
     36      * Constructs a DialogTerminatedEvent to indicate a dialog
     37      * timeout.
     38      *
     39      * @param source - the source of TimeoutEvent.
     40      * @param dialog - the dialog that timed out.
     41      */
     42      public DialogTimeoutEvent(Object source, Dialog dialog, Reason reason) {
     43          super(source);
     44          m_dialog = dialog;
     45          m_reason = reason;
     46 
     47     }
     48 
     49     /**
     50      * Gets the Dialog associated with the event. This
     51      * enables application developers to access the dialog associated to this
     52      * event.
     53      *
     54      * @return the dialog associated with the response event or null if there is no dialog.
     55      * @since v1.2
     56      */
     57     public Dialog getDialog() {
     58         return m_dialog;
     59     }
     60 
     61     /**
     62      * The reason for the Dialog Timeout Event being delivered to the application.
     63      *
     64      * @return the reason for the timeout event.
     65      */
     66     public Reason getReason() {
     67     	return m_reason;
     68     }
     69 
     70     // internal variables
     71     private Dialog m_dialog = null;
     72     private Reason m_reason = null;
     73 }
     74 
     75